OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5514|回复: 0

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

[复制链接]

431

主题

438

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1866
金钱
1866
注册时间
2014-7-19
在线时间
50 小时
发表于 2018-5-5 17:50:29 | 显示全部楼层 |阅读模式
勇敢的芯伴你玩转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 串口实例模块层次

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-5 06:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表