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

2019-03-25 09:42发布

晶振选用50M,串口波特率为115200,用FPGA与PC做串口通信,但是在数据包长度超过50字后出现丢帧现象,如何改进能提高通信可靠性?   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
yongpeiyuan
1楼-- · 2019-03-25 13:25
< /
eeleader
2楼-- · 2019-03-25 14:20

1. 降低串口速率

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

3. 串口通信使用双绞线

十字星1986
3楼-- · 2019-03-25 19:02

就只是用网上容易找到那个串口调试工具那个上位机软件的话   数据量越大  速率越应该降下来 用485在19200速率下传输过640*480的图像 速率是慢点  不过没出现错误  可以尝试在数据中加校验位   标志位  增加可靠性

jishuaihu
4楼-- · 2019-03-25 22:27

原帖由 eeleader 于 2012-1-9 08:27 发表 1. 降低串口速率 2. 增加校验机制,数据中增加CRC数据包 3. 串口通信使用双绞线

这个说的很全面了!有的时候还与波特率误差有关,串口的波特率设置的时候一般都会有些误差的,除非用特殊频率的晶振,如51单片机用的11.0592M的。当然你这个是PC机,一般就不存在这个问题了。

[ 本帖最后由 jishuaihu 于 2012-1-10 09:16 编辑 ]
eeleader
5楼-- · 2019-03-26 02:33
 精彩回答 2  元偷偷看……
chunyang
6楼-- · 2019-03-26 07:14
如果只是特定长度以后的数据出问题,说明是缓冲设计的问题,数据堆栈溢出了。波特率误差、抗干扰能力不足等,会随机导致任何位置的数据错误,但二者的问题原因和应对方法是截然不同的。

一周热门 更多>