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

[复制链接]
 楼主| 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口,你说的串口,速度只能局限于串口速度。
yuanfke 发表于 2013-1-25 10:36 | 显示全部楼层
dqyubsh 发表于 2013-1-25 09:55
晕了,人家那段话说的是纯纯的USB,用USB电缆连接计算机USB口,你说的串口,速度只能局限于串口速度。 ...

我用的是STM32USB固件里的CDC模式,这是一个虚拟串口,跟串口软件里的波特率是没关系,我试过把波特率分别设成1200和256000,传输速度是一样的,都能达到30KB/S,说明跟串口还是没关系的
dqyubsh 发表于 2013-1-25 16:50 | 显示全部楼层
我听说这个世界上除了串口还有一种东西,叫USB的BULK传输……
gdxizhilang 发表于 2013-2-5 16:45 | 显示全部楼层
楼上,好幽默,呵呵。
Simon21ic 发表于 2013-2-14 15:22 | 显示全部楼层
可能的原因很多,不知道STM32的USB固件是怎么操作的,并行处理做的好不好
你可以去掉串口的实际收发代码,测试USB部分的速度看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

34

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部