打印
[FPGA]

勇敢的芯伴你玩转Altera FPGA连67:UART loopback测试特权同学,..

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

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

338

主题

338

帖子

28

粉丝