STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。
Posted 机械狂魔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。相关的知识,希望对你有一定的参考价值。
是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点
用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度
USB要提速
1、使用自定义的Bulk传输
2、增加驱动的Buffer
刚才又实验了下,现在驱动程序方面的速度瓶颈已经解决了。主要还是这个PipeMaxTransferSize的关系,这个值越大速度越快。晚上注意到这 个值很多USB设备的驱动程序都是设的很大的,连HID设备都设成4096,我的一个U盘也是4096,KEIL的ULINK设置成65535,几乎所有 USB设备驱动的端点0都是设成65535。晚上测试了下,这个值不会影响数据传输,这个最大值不管怎么设实际USB设备管道每次接收的数据该64字节还 是64字节,应该是WINDOWS核心驱动层收到来自USB驱动的IRP后会自动拆包成与设备固件定义的大小(64字节)进行发送的。
做了下速度对比
pipemaxtranfer:64---33KB/S
pipemaxtranfer:512--265KB/S
pipemaxtranfer:1024--349KB/S
pipemaxtranfer:4096--457KB/S
做了下速度对比
pipemaxtranfer:64---33KB/S
pipemaxtranfer:512--265KB/S
pipemaxtranfer:1024--349KB/S
pipemaxtranfer:4096--457KB/S
pipemaxtranfer:65535--506KB/S
|
以上是关于STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。的主要内容,如果未能解决你的问题,请参考以下文章
STM32 usb虚拟串口 最大速度可以达到多少 波特率可以设置到多少