USB

usb host u盘读速度

发布于 2020-12-26 16:12:21

有人测试过stm32f407 usb host fullspeed 读取u盘数据的速度吗?怎么我这里这么慢,2.6M的mp3数据,读完的时间花费43秒,按说usb fs 12Mb/s 一半的速度也没有呀?而且目前发现usb做host时,枚举失败的概率也挺高的

查看更多

关注者
0
被浏览
438
gaoan1985
gaoan1985 2021-03-27

最终从30KB/S提升到200KB/S左右:

  1. 驱动里的rt_usb_hcd_pipe_xfer里是按照wMaxPacketSize的大小传输的,全速下可能会是64字节,stm32f4的usb里fifo可以有1.25k,所有把rt_usb_hcd_pipe_xfer里传输的数据个数提升到了1024字节。这已经节省不少时间。
  2. drv_pipe_xfer里的rt_thread_mdelay(1)等待完成量后延时1ms,所以按照rtt的驱动这里每64字节延时1ms,时间浪费不少,按照条目1里修改为1024后,每1024延时1ms,这个延时1ms其实可以取消的,但是取消后会影响枚举,很多时候枚举失败。经过修改现在已经可以在不延时的情况下枚举成功了。最终测试速度大概在200KB/S,不过按照这个速度,现在暂时够我用了。如需更高速度还需继续优化。
  3. 200KB是边读边写到sd卡的速度,如果排除写sd卡导致的延时,大概可以达到1MB左右
3 个回答
aozima
aozima 2020-12-26
拒绝白嫖,拒绝键盘侠!

理论上要达到1半的速度还是比较容易的,楼主要是有USB分析仪,可以测下看时间都被谁吃了。

zjh1205772876
zjh1205772876 2021-03-18

你好 请问您usbhost 读写是否成功 我是用4.0开发器做的 但是一直有问题是否可以加您微信问一下13023760335

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览