Xilinx FPGA入门连载62:基于SRAM批量读写的UART bulk测试

发布时间:2016-3-23 09:39    发布者:rousong1989
Xilinx FPGA入门连载62:基于SRAM批量读写的UART bulk测试
特权同学,版权所有
配套例程和更多资料下载链接:

1.jpg
1 功能概述
         该实例的内部功能如图所示。
2.jpg
         将SRAM分为128组(高7bit地址),每组256个数据(低8bit地址);上电初始对SRAM所有地址写入以其地址为首字节数据的递增数据;写入完成点亮LED[0]进行指示;等待UART接收到一个字节数据(有效数据为0-127),以此数据作为地址,读出该组256字节数据到FIFO中缓存,然后依次通过UART发送出去。
2 模块划分
         该工程实例的设计模块层次如图所示。
3.jpg
●  my_uart_rx.v模块主要是完成数据的接收。
●  speed_setting.v(speed_rx)模块主要响应my_uart_rx.v模块发出的使能信号进行波特率控制,并且回送一个数据采样使能信号。
●  my_uart_tx.v模块在my_uart_rx.v模块接收好一个数据后启动运行,它将接收到的数据作为SRAM地址,读取SRAM对应地址的256个字节数据,然后通过UART发送数据返回给PC端,它的波特率控制是由speed_setting.v(speed_tx)模块产生。
●  sram_controller.v模块产生SRAM的基本读写时序,直接控制SRAM的芯片接口。
●  test_timing.v模块上电后产生SRAM遍历读写的控制信号、地址和数据,在接收到UART的读地址后,读取SRAM对应地址组的256个数据。
3 板级调试
连接好下载线,给SP6开发板供电(供电的同时也连接好了UART)。
打开ISE,进入iMPACT下载界面,将本实例工程下的sp6.bit文件烧录到FPGA中在线运行。当我们看到D2指示灯亮起来的时候,说明FPGA已经完成了对SRAM所有地址的写数据初始化操作。接着我们可以使用串口调试助手读取SRAM数据了。
双击如图所示的“串口调试器”,。
4.jpg
         如图所示,打开串口调试器后,选择串口为COM10(我们前面在硬件管理器中新识别到的COM口,实验者应以自己电脑识别到的COM口为准),设置波特率为9600,数据位为8,校验位为None,停止位为1。点击“打开串口”。
5.jpg
         如图所示,当我们点击完“打开串口”,其显示字符就变成了“关闭串口”;输入需要发送的数据“00”,然后点击按钮“手工发送”。随后我们便可以看到从16进制00开始递增的一串数据(一共256个)出现在了“接收字符”中。
6.jpg
         如图所示,若我们发送16进制数据55,则收到的数据是以16进制55打头开始递增的数据。我们往SRAM地址组写入数据的规则是,从和地址一样的数据开始递增的数据。大家可以再试试别的地址(地址有效范围是16进制的00到7F),看看是否都是符合我们的规则。
7.jpg

本文地址:https://www.eechina.com/thread-162303-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表