200HZ数据发送丢数问题

[复制链接]
1185|6
 楼主| RQren2008 发表于 2016-2-18 21:36 | 显示全部楼层 |阅读模式
目前使用一个486的板子往外发数,采用RS422接口,波特率为115200,5ms发一帧,一帧43字节,在中断中发数,目前的问题是有随机丢数,不知道怎么解决。

刚开始时候丢数很多,试过以下方法:
1.通信电缆改为双绞屏蔽线,丢数数量减少
2.板子上有多个串口,原来板子上的其他串口也在发数,把其他串口的发数去掉之后,稍微有些改善
3.把采数和发数功能以外的其余运算全都去掉,以减少内存消耗,改变不大

目前丢数数量减少,一般五、六个小时之后会连续丢几十针,由于功能要求完全不丢数,目前已经想不出来别的办法了
所以请教大神们,求指点,多谢!

chunyang 发表于 2016-2-19 00:17 | 显示全部楼层
要编制一个合适的协议,遇到丢帧则重发。
zhaoyu2005 发表于 2016-2-19 09:29 | 显示全部楼层
115200波特率,发送43个字节需要约4mS,只有约1mS的间隔,是不是间隔时间太短造成的?
 楼主| RQren2008 发表于 2016-2-20 12:49 | 显示全部楼层
chunyang 发表于 2016-2-19 00:17
要编制一个合适的协议,遇到丢帧则重发。

谢谢你的建议,不过这个是实时的,而且间隔时间短,中间没有重发的时间
 楼主| RQren2008 发表于 2016-2-20 12:50 | 显示全部楼层
zhaoyu2005 发表于 2016-2-19 09:29
115200波特率,发送43个字节需要约4mS,只有约1mS的间隔,是不是间隔时间太短造成的? ...

之前试过改成30字节,也没有解决问题,这30字节包含的都是必要信息,不能再减了
zhaoyu2005 发表于 2016-2-20 13:26 | 显示全部楼层
先用监视下是没发出还是没接收端没接收到。30字节约3mS,间隔2mS,总觉得间隔时间有点短,可以试下
1.将间隔时间延长,看是否正常
2.将发送字节减少到几个,看是否正常
总之,先确定什么原因导致的丢数据,才能针对处理。
chunyang 发表于 2016-2-20 17:37 | 显示全部楼层
RQren2008 发表于 2016-2-20 12:49
谢谢你的建议,不过这个是实时的,而且间隔时间短,中间没有重发的时间 ...

任何追求高可靠的通迅系统,一定都有适当的协议。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

67

帖子

1

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