vxworks RS422串口接收大数据格式包丢包问题

问题描述:

VxWorks 5.5操作系统外挂16c752串口芯片,422接口接收中频板过来的数据,在测控台发现收发数据包数不一致,导致丢包发生。


验证:

1.通过网口对比,收发数据包正常,无丢包产生。

2.在测控台使用STD模式发送小包测试也无问题;

3.在测控台使用PS4模式发送大包测试发现有丢包(2000包丢12包)


解决方案:

1.16c752硬件支持fifo大小为64byte;当我们按照PS4模式(每包400byte)每隔50ms发送一次数据包,每秒的数据量为400*8*20=64000bit;而波特率设置为460800;即硬件FIFO不足以承受这么大的数据量,此时就会导致丢包问题产生;

2.在16c752的驱动中,在创建tty设备时,可以将软件的读写BUFFER放置的大一些,以此避免该问题的发生。ttycreate函数中;



你可能感兴趣的:(vxworks,vxworks,uart,vxworks,操作系统,buffer)