打印
[数据传输]

USB2.0 HighSpeed 虚拟串口在Win10通信丢包问题

[复制链接]
3392|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seawwh|  楼主 | 2022-3-18 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      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 驱动的问题?

使用特权

评论回复

相关帖子

沙发
Kelan| | 2022-3-19 16:46 | 只看该作者
串口有这么快? 8-10MBytes/s
这个速度赶得上百兆网卡的速度了

使用特权

评论回复
板凳
seawwh|  楼主 | 2022-3-19 23:31 | 只看该作者
Kelan 发表于 2022-3-19 16:46
串口有这么快? 8-10MBytes/s
这个速度赶得上百兆网卡的速度了

因为是 USB 虚拟串口,在High Speed 模式下传输速度应高于 10MB/s , 我的程序中有打印语句,导致慢了一些

使用特权

评论回复
地板
seawwh|  楼主 | 2022-3-21 09:29 | 只看该作者
用南京沁恒官网提供的串口助手,还是丢包,
用 ScriptCommunicator 工具,丢包比较少(9MB/s 条件下),传1GB 数据丢几个 512B 的包丢失的数据为512的整数倍
感觉在 windows环境下解决不了丢包问题。
在同样一台机器上使用 vmware虚拟机,C语言编写了一个简单的接收程序,高速传输10GB数据未见丢包

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

368

帖子

0

粉丝