打印
[数据传输]

USB CDC通信速率问题

[复制链接]
7853|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
carol_zhou85|  楼主 | 2015-7-28 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB CDC设备数据传输过程中,主机什么情况下会给设备发送IN令牌包获取数据的?这是由CDC驱动决定的吗?我现在调试CDC批量传输,传输数据速率达不到我的要求,使用USB分析仪发现很长一段时间SOF起始帧后没有IN令牌包。

相关帖子

沙发
carol_zhou85|  楼主 | 2015-7-31 15:21 | 只看该作者
哪位大侠知道的能回答一下么

使用特权

评论回复
板凳
xiuwen89| | 2015-7-31 15:40 | 只看该作者
主机的接收缓冲区满了就不会再发IN了。应用程序要及时把数据读走。
你用的是什么USB分析仪?

使用特权

评论回复
地板
jiayou0054| | 2015-8-2 09:33 | 只看该作者
我也边学边做这个CDC通信。目前理解是不是CDC的驱动决定的。而是由应用程序决定。

使用特权

评论回复
5
jiayou0054| | 2015-8-2 09:35 | 只看该作者
比如,CDC-ACM,就是虚拟串口。它的PC驱动,可以用Windows自带的usbser.sys。应用程序对应的就是串口调试工具,如Tera Term。我猜,肯定是Tera Term程序在不停的轮询串口缓冲区。

使用特权

评论回复
6
jiayou0054| | 2015-8-2 09:36 | 只看该作者
问你一下,提到的USB分析仪是硬件仪器吧,不是Buf Hound吧。什么品牌,多少钱?单位正采购这Total Phase的一个。

使用特权

评论回复
7
carol_zhou85|  楼主 | 2015-8-17 10:08 | 只看该作者
xiuwen89 发表于 2015-7-31 15:40
主机的接收缓冲区满了就不会再发IN了。应用程序要及时把数据读走。
你用的是什么USB分析仪? ...

淘宝上买的LA2016

使用特权

评论回复
8
carol_zhou85|  楼主 | 2015-8-17 10:10 | 只看该作者
jiayou0054 发表于 2015-8-2 09:36
问你一下,提到的USB分析仪是硬件仪器吧,不是Buf Hound吧。什么品牌,多少钱?单位正采购这Total Phase的 ...

淘宝买的LA2016,谢谢你的回复,学习了

使用特权

评论回复
9
carol_zhou85|  楼主 | 2015-8-17 10:21 | 只看该作者
jiayou0054 发表于 2015-8-2 09:35
比如,CDC-ACM,就是虚拟串口。它的PC驱动,可以用Windows自带的usbser.sys。应用程序对应的就是串口调试工 ...

你是说,串口调试软件的速率跟不上USB的传输速率导致PC端没有IN令牌包发送出来,是吗?有没有什么方法解决?

使用特权

评论回复
10
GULANGGOGO| | 2019-4-30 17:31 | 只看该作者
你好,你这问题解决了吗?现在CDC host device之间通讯速率最高能到多少呀?

使用特权

评论回复
评论
WCHCN 2019-5-7 10:24 回复TA
CDC主要解决的问题应该是win10.linux.MAC OS皆可免驱的问题,驱动本身没有速度上限的说法,取决于转接芯片吧,现在做得比较高的大概3Mbps吧,可以看看WCH的CH9340K这颗CDC芯片。 
11
hyf811004| | 2019-5-6 11:02 | 只看该作者
自己写的驱动,用BULK传输,感觉还可以啊

使用特权

评论回复
12
WCHCN| | 2019-5-7 10:24 | 只看该作者
CDC主要解决的问题应该是win10.linux.MAC OS皆可免驱的问题,驱动本身没有速度上限的说法,取决于转接芯片吧,现在做得比较高的大概3Mbps吧,可以看看WCH的CH9340K这颗CDC芯片。

使用特权

评论回复
13
dxfshsh| | 2019-7-18 16:49 | 只看该作者
这个只和你选的单片机和你对USB端口的设计能力有关,按理全速USB可实现双向12M,单向8M,是可以的,与CDC类真没关系,

使用特权

评论回复
14
xdzys2008| | 2019-7-30 10:34 | 只看该作者
SR9900 也是跑的CDC的以太网芯片  100M芯片 跑90M很轻松的~

使用特权

评论回复
15
szyonggui| | 2019-10-11 10:59 | 只看该作者
WCHCN 发表于 2019-5-7 10:24
CDC主要解决的问题应该是win10.linux.MAC OS皆可免驱的问题,驱动本身没有速度上限的说法,取决于转接芯片 ...

你搞错了,CDC是没有速度上线,但是win系统下面对串口通讯有速率要求,用PC跟USB 的CDC通讯速率并不是取决于转接芯片,而是取决于win系统下对串口的速率要求。

使用特权

评论回复
16
WCHCN| | 2019-10-11 13:11 | 只看该作者
本帖最后由 WCHCN 于 2019-10-11 13:17 编辑

使用特权

评论回复
17
sjhuang527| | 2020-1-28 23:10 | 只看该作者
CDC 要速度一般指 CDC-NCM ,用于 Apple 的手机车机互联方案: Carplay。目前在目标系统下, iperf 下要 100Mbps 以上,
也就是 USB 2.0 以上。
   最终速度每个环节都有关系:TCP/UDP 协议,usb driver 及 芯片的 USB controller 实现都有关系。

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝