勇敢的芯伴你玩转Altera FPGA连载67:UART loopback测试

发布时间:2018-5-5 17:44    发布者:rousong1989
勇敢的芯伴你玩转Altera FPGA连载67UART loopback测试
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1i5LMUUD
1.jpg
         UART(Universal Asynchronous Receiver/Transmitter),即通用异步收发,它的数据传输不需要时钟,只要两条信号线分别进行数据收发。既然没有时钟,那么他们是如何保证数据收发的准确性的?很简单,收发双方首先需要做到知己知彼,约定好数据传输的速率(简单的讲就是约定好一个数据位传输的时间)和帧格式(即一帧的长短,一帧由哪些位组成,他们的功能都是什么)。
         我们看看UART的一个帧定义。简单的串口帧格式如图8.49所示,它由1个起始位(必须为0)、8个数据位(用户数据)、1个奇偶校验位(用于简单的纠错以保证传输可靠性)和1或2个停止位(必须为1)组成。除了奇偶校验位,其他三个部分都是必须的。当信号线空闲时,必须为高电平。要发起数据传输时,1个低电平的脉冲表示起始位,然后连续传输8个数据位和若干个高电平的停止位,这样便完成一次传输。
2.jpg
图8.49串口帧格式
该实验要实现的功能是FPGA实时监测uart_rx信号是否有数据,若接收到数据,则把接收到的数据通过uart_tx发回给对方。PC机使用一个串口调试助手进行通信。
在代码设计中,speed_setting.v模块里可以修改收发数据的波特率,如9600bps,19200bps,38400bps,57600bps或115200bps等。发送的数据帧格式为:1bit起始位,8bit数据,无校验位,1bit停止位。
         该实例的内部功能如图8.50所示。
3.jpg
图8.50 串口实例功能框图
         该工程实例的设计模块层次如图8.51所示。
4.jpg
图8.51 串口实例模块层次

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

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

厂商推荐

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