收藏 分享(赏)

华科串行接口AD转换实验报告.doc

上传人:精品资料 文档编号:8443425 上传时间:2019-06-27 格式:DOC 页数:9 大小:466.50KB
下载 相关 举报
华科串行接口AD转换实验报告.doc_第1页
第1页 / 共9页
华科串行接口AD转换实验报告.doc_第2页
第2页 / 共9页
华科串行接口AD转换实验报告.doc_第3页
第3页 / 共9页
华科串行接口AD转换实验报告.doc_第4页
第4页 / 共9页
华科串行接口AD转换实验报告.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、 微机原理实验测试串行接口 AD 转换实验专业: 电子信息工程 姓名: 班级: 201401 班学号: U201413278 日期: 年 月 日专业 电子信息与通信学院 班级 电信 1401 班 日期 2016/05/12 第 4 次试验姓名 组别 15 指导老师 成绩 实验课题 串行接口 AD 转换实验一 实验目的1. 理解 RS232 串行通信协议以及接口设计2. 理解 SPI 串行通信协议3. 掌握 RS232 串行接口设计4. 掌握 SPI 串行接口设计5. 掌握串行 AD/DA 接口设计二 实验任务 SPI 接口 AD 转换三个电平数据,打印结果到 console,要求采用中断方式。

2、三 实验原理DAC121S101 中断控制方式接口电路四 实验步骤1. 硬件平台建立1) 参照 11 章使用 XPS 创建一个基于 AXI 总线的最小计算机系统。2) 添加 AXI Interrupt Controller IP 核:a. 在 IP Catalog 标签中,双击下面图标创建 INTC IP 核:b. 将 microblaze_0 实例的 INTERRUPT 引脚选择 axi_intc_0_INTERRUPT,如图:3) 加入 AXI SPI 接口控制器:a. 如图所示,选择 AXI SPI。b. 配置 SPI 接口参数如图所示。这是由于该 SPI 接口仅需要输出数据,而且一次传

3、输需要 16 位数据,一个从设备,且 D/A 转换芯片要求SCLK 最高速率 30MHz,由于 AXI 总线频率为 100MHz,一次分频比为8,此时 SCLK 的频率仅为 12.5MHz。c. 设置端口连接配置,如图:4) 为 AXI INTC 添加中断源,如图:5) 配置 UCF 文件:在 UCF 文件中修改如图所示配置,此时是通过 PMOD JA 上排插针进行连接:NET “CLK“ TNM_NET = sys_clk_pin;TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz;NET “CLK“ LOC = “E3“ | IO

4、STANDARD = “LVCMOS33“;NET “RESET“ LOC = “E16“ | IOSTANDARD = “LVCMOS33“;NET “RsRx“ LOC = “C4“ | IOSTANDARD = “LVCMOS33“;NET “RsTx“ LOC = “D4“ | IOSTANDARD = “LVCMOS33“;NET “axi_spi_0_SS_pin“ LOC = “B13“ | IOSTANDARD = “LVCMOS33“;NET “axi_spi_0_MOSI_pin“ LOC = “F14“ | IOSTANDARD = “LVCMOS33“;NET “axi

5、_spi_0_MISO_pin“ LOC = “D17“ | IOSTANDARD = “LVCMOS33“;NET “axi_spi_0_SCK_pin“ LOC = “E17“ | IOSTANDARD = “LVCMOS33“;6) 创建工程过程完成后,a. 在主界面下选择 Hardware-Generate Netlist;b. 在主界面下选择 Hardware-Generate Bitstream;c. 单击 Graphical Design View,可以看到系统的连接图,如下:2. 软件平台建立(1)SDK 提供的外设驱动以及应用程序1. 点击 project-Expert Ha

6、rdware Design to SDK,点击Exportstatic XIntc IntcInstance;static XSpi SpiInstance;volatile int TransferInProgress;int Error;u8 ReadBufferBUFFER_SIZE;u8 WriteBufferBUFFER_SIZE;int main(void)int Status;Status=XSpi_Initialize(Status=XIntc_Initialize(Status=XIntc_Connect(Status=XIntc_Start(XIntc_Enable(mic

7、roblaze_register_handler(XInterruptHandler)XIntc_InterruptHandler,microblaze_enable_interrupts();XSpi_SetStatusHandler(Status = XSpi_SetOptions(Status = XSpi_SetSlaveSelect(XSpi_Start(while(1)TransferInProgress = TRUE;XSpi_Transfer(while(TransferInProgress);u16 temp;temp = ReadBuffer1 8;temp += Read

8、Buffer0;xil_printf(“adc = %dnr“, temp);int i;for(i = 0; i 5000000; i+);return XST_SUCCESS;void SpiIntrandler(void *CallBackRef, u32 StatusEvent, u32 ByteCount)TransferInProgress = FALSE;if (StatusEvent != XSP_SR_RX_EMPTY_MASK)Error+;五 实验结果和调试过程1、连接好硬件模块,并分别将 A/D 模块的 J2 插针 1 号引脚分别连接到GND 和 VCC,在调试环境下,设置断点如下图 1 所示,每次执行 RESUME之后,展开 RENDBUFFER 可以得到如下图 2 和图 3 所示结果。图 1、调试断点设置2、实验结果(1 ) Vin 连接到 3V3 时,可以看到控制台稳定输出 4095(2 ) Vin 连接到 GND 时,可以看到控制台稳定输出 0(3 )当 Vin 悬空时,可以看到控制台输出一串随机数,处于不稳定状态六 实验心得

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报