问题描述:
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函数中;
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!