改进能提高串口通信可靠性

[复制链接]
3252|16
 楼主| mucanhin 发表于 2012-11-30 15:21 | 显示全部楼层 |阅读模式
晶振选用50M,串口波特率为115200,用FPGA与PC做串口通信,但是在数据包长度超过50字后出现丢帧现象,如何改进能提高通信可靠性?
 楼主| mucanhin 发表于 2012-11-30 15:22 | 显示全部楼层
求讨论
zhoumingzr 发表于 2012-11-30 15:24 | 显示全部楼层
1. 降低串口速率

2. 增加校验机制,数据中增加CRC数据包

3. 串口通信使用双绞线
hawksabre 发表于 2012-12-3 17:56 | 显示全部楼层
处理好抗干扰问题    干扰问题在远距离传输上是很重要的  一定要选用质量好的传输线缆   
hawksabre 发表于 2012-12-3 17:57 | 显示全部楼层
降低通信速率   使用默认的9600基本就ok   这个一般数据传输   足够了   
hawksabre 发表于 2012-12-3 17:58 | 显示全部楼层
最后如果你还是不放心   在通信协议中加一个奇偶校验   这个其实没有必要  呵呵
GoldSunMonkey 发表于 2012-12-3 21:56 | 显示全部楼层
是自己写的代码,还使用的IP, 还使用的芯片。
gaochy1126 发表于 2012-12-3 23:43 | 显示全部楼层
我也遇到这个情况的,不过把代码集中发送就不会丢失了,不知道里面的具体原因!
hawksabre 发表于 2012-12-4 17:34 | 显示全部楼层
猴哥  有什么需要补充的   请不要吝啬啊   呵呵   可能我考虑的还有很多不足   希望能够猴哥还能够多多补充  多多指点   哦呵呵
kkzz 发表于 2012-12-4 23:56 | 显示全部楼层
你使用整数分频 试一试!例如500k
gaochy1126 发表于 2012-12-5 00:09 | 显示全部楼层
是不是时钟的问题?
dan_xb 发表于 2012-12-5 23:34 来自手机 | 显示全部楼层
你的时钟有偏差,UART是异步得的,发的多了误差累积造成采样错误,发数据的时候,停止位加长点就好了
zbhbyc 发表于 2012-12-6 09:22 | 显示全部楼层
1.尽量采用先用PLL分频得到15200的整数在进行分频得到115200的波特率。
七月的疯狂 发表于 2012-12-25 12:05 | 显示全部楼层
虽然不是很明白,还是学习了。
千里风123 发表于 2012-12-25 14:52 | 显示全部楼层
严重同意12楼
GoldSunMonkey 发表于 2012-12-26 22:43 | 显示全部楼层
Backkom80 发表于 2012-12-27 08:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

125

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部