This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C USB例程的速度测试

最近跑了一下1294xl的评估板USB例程,发现usb_bulk泡在win7上的单向速率大概才64kbps。这感觉相当于Low-Speed设备啊,是我配置的有问题吗?

计时方式就是在windows的例程中添加了systime的打印

  • 补充一下测试环境,用的一台i5 CPU 8G内存的台式机,测试时整机U口除了开发板别无其他外设,测试采用的也是下载flash非在线Debug

    另外还想问一下usb_msc的例程需要安装什么样的windows驱动呢?

  • 我觉得是测试方法的问题,usb_msc的例程是不需要添加另外的驱动的。USB的测试没搞过,你可以试着看看STM32测试的办法,通过写一个数据,来测试速度。

  • 我就是通过写了50Byte的数据测试的速度...感觉usb_bulk的例程速度很慢...

    usb_msc看样子是直接用文件系统操作就可以了,待会儿测一下速度~

  • 上文件系统,肯定是慢下来了,因为有系统的开销。应该是usb_bulk中有什么操作,使得速度慢下来了。

  • demo is always a demo...

    有两种方式可以让bulk传输更快。第一种是增大你的buffer size. 即使在我们老款的芯片上,我们也能成功通过把512 bytes buffer修改成 4096 bytes 来把速度提升到o 3.9Mbps

    还有一种方式就是用双buffer,可以参考下面帖子。大buffer size +双buffer可以把速度再提升一倍

    https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/429199/1542504#pi239031350=2


  • 非常感谢,订!

  • 确实是很好的办法。学习了,TI的员工就是有经验!

  • 您好,我按照您给的建议试了一下,Buffer改大了并没有对速度有什么提升~您能详细说说如何提高到3.9Mbps的吗?是需要加DMA吗?

  • 您好,我按照您给的建议试了一下,Buffer改大了并没有对速度有什么提升~您能详细说说如何提高到3.9Mbps的吗?是需要加DMA吗?

  • 把不必要的判断去掉,应该会速度回提高的。上传你的源代码看看

  • 谢谢回复,我用的就是单纯的usb_dev_bulk例程,仔细看了一下上面 给出的解决方案,并测试。

    发现有个规律,单包Buffer改大之后确实有效果,因为单包的传输时间只有很小的增加,但传输量却翻了几倍。可是多包测量取平均值发现速度依然很低...

    研究了一下发现是包与包之间会有1ms间隔,而且时间很接近1ms,查了一下资料显示USB full-speed模式基于的SOF就是1ms一次同步。

    不知道这么理解是不是正确的,每次的bulk传输都需要在SOF的基础上进行数据交换,因此包与包之间都会产生1ms间隔,SuperSpeed模式是125us

    我实测就是这么个结果,希望对大家有参考价值,设计使用时需要考虑到1ms间隔的问题。

  • 应该还是可以提高了,等忙完手头这个,要好好测试下。