USB2.0 HighSpeed 虚拟串口在Win10通信丢包问题
USB2.0 HighSpeed 虚拟串口在Win10通信丢包问题最近使用USB虚拟串口与PC机Win10下做了一个高速单向通信实验(Win10 接收),发现有一定的错误概率,具体情况如下:
1.虚拟USB串口是NUC980 CPU单板, 嵌入式Linux平台,USB2.0 High Speed ,作为数据发送端;
2.测试主机是 i5 机器8G内存,Win10平台,作为接收端;
3.测试方法是通过虚拟USB串口连续快速发送几百兆数据,大约8-10MBytes/s,Win10平台的软件仅做接收计数,无其他开销大的任务。
4.Win10平台接收软件使用的是下列3个方法:
a.Delphi 的async32 控件做的接收软件:不可靠;
b.VS2022 C#的serialport 控件做的接收软件:不可靠 ;
c.ScriptCommunicator 软件接收:不可靠,但丢包最少; (目前用过的最快的串口工具)
5.丢失数量一般是 512 的整数倍
希望有这方经验的同行,给予指点。
a. 有没有能够高速接收的串口工具? 大部分串口工具都不可以高速接收。
b. 会不会是 NUC980 驱动的问题? 串口有这么快? 8-10MBytes/s
这个速度赶得上百兆网卡的速度了{:lol:} Kelan 发表于 2022-3-19 16:46
串口有这么快? 8-10MBytes/s
这个速度赶得上百兆网卡的速度了
因为是 USB 虚拟串口,在High Speed 模式下传输速度应高于 10MB/s , 我的程序中有打印语句,导致慢了一些 用南京沁恒官网提供的串口助手,还是丢包,
用 ScriptCommunicator 工具,丢包比较少(9MB/s 条件下),传1GB 数据丢几个 512B 的包丢失的数据为512的整数倍
感觉在 windows环境下解决不了丢包问题。
在同样一台机器上使用 vmware虚拟机,C语言编写了一个简单的接收程序,高速传输10GB数据未见丢包
页:
[1]