打印

STM32的USB虚拟串口速度问题,希望大家帮帮忙

[复制链接]
5709|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuangt|  楼主 | 2013-1-24 19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想请问一下,这个贴子
"
前天测试自己编写的USB驱动程序时候发现从主机到STM32的OUT传输(主机到设备)速率竟然只有最高33KB/S,实在是晕死了。经过研究后发现是驱动程序中设置的PIPE MaxTransferSize参数的关系,原先设置64只能33KB/S,后参考其他USB设备驱动程序的值,设置成了65535,再测试USB OUT的速度,达到了500KB/S,终于解决了驱动程序的瓶颈。不过算下USB 2.0全速的通讯速率是12Mb/S,排除掉CRC、令牌、SOF等等开销怎么也应该不止最大500KB/S啊。到网上看了看,基本上应该能达到600KB/S~700KB/S以上,我现在的速度应该还有很大的提升才是。
"
这个贴子里面的
“PIPE MaxTransferSize参数的关系,原先设置64只能33KB/S,后参考其他USB设备驱动程序的值,设置成了65535,再测试USB OUT的速度,达到了500KB/S,终于解决了驱动程序的瓶颈。” 这句话不明白,是在哪里修改这个值呀,调了好几天的USB了,就是提不上速度,要疯掉了........

相关帖子

沙发
dqyubsh| | 2013-1-24 20:14 | 只看该作者
没用过这个芯片,个人感觉,是上位机库函数调用时,开辟一个大的缓冲区。

使用特权

评论回复
板凳
yuanfke| | 2013-1-25 09:48 | 只看该作者
dqyubsh 发表于 2013-1-24 20:14
没用过这个芯片,个人感觉,是上位机库函数调用时,开辟一个大的缓冲区。 ...

上位机软件用的是我们常用的串口调试助手

使用特权

评论回复
地板
dqyubsh| | 2013-1-25 09:55 | 只看该作者
晕了,人家那段话说的是纯纯的USB,用USB电缆连接计算机USB口,你说的串口,速度只能局限于串口速度。

使用特权

评论回复
5
yuanfke| | 2013-1-25 10:36 | 只看该作者
dqyubsh 发表于 2013-1-25 09:55
晕了,人家那段话说的是纯纯的USB,用USB电缆连接计算机USB口,你说的串口,速度只能局限于串口速度。 ...

我用的是STM32USB固件里的CDC模式,这是一个虚拟串口,跟串口软件里的波特率是没关系,我试过把波特率分别设成1200和256000,传输速度是一样的,都能达到30KB/S,说明跟串口还是没关系的

使用特权

评论回复
6
dqyubsh| | 2013-1-25 16:50 | 只看该作者
我听说这个世界上除了串口还有一种东西,叫USB的BULK传输……

使用特权

评论回复
7
gdxizhilang| | 2013-2-5 16:45 | 只看该作者
楼上,好幽默,呵呵。

使用特权

评论回复
8
Simon21ic| | 2013-2-14 15:22 | 只看该作者
可能的原因很多,不知道STM32的USB固件是怎么操作的,并行处理做的好不好
你可以去掉串口的实际收发代码,测试USB部分的速度看看

使用特权

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

本版积分规则

6

主题

34

帖子

1

粉丝