[STM32F4] STM32F407 USB怎么测试接口的极限速度

[复制链接]
3781|21
 楼主| stormwind123 发表于 2024-4-24 09:17 | 显示全部楼层 |阅读模式
用cubemx生成一个USB 模拟U盘的例程。
发现USB的读写速度远低于 12Mbps
猜测可能是存储介质的影响,
修改存储介质为SRAM替代,但是SRAM太小了,
U盘测速软件要求U盘最小是16MB。
有谁测过USB的接口速度吗?



laocuo1142 发表于 2024-4-24 09:24 | 显示全部楼层
文件传输测试
digit0 发表于 2024-4-24 18:28 | 显示全部楼层
低速12MHz的USB频率,大概速度是800KB左右。
鹿鼎计 发表于 2024-4-24 19:01 | 显示全部楼层
可以使用U盘测速软件来测试USB接口的速度。首先用cubemx生成一个USB模拟U盘的例程,确保U盘的存储空间满足软件的最小要求(通常是16MB)。然后,使用U盘测速软件进行读写速度测试,如果发现速度远低于预期,可能需要检查是否是存储介质的影响,可以尝试将存储介质替换为SRAM来进行测试。
一秒落纱 发表于 2024-6-20 09:48 | 显示全部楼层
在STM32微控制器上使用CubeMX生成的USB模拟U盘(Mass Storage Class)例程时,USB的实际读写速度可能会受到多种因素的影响,包括但不限于USB硬件接口、固件实现、存储介质的速度和容量等。
夜阑风雨 发表于 2024-6-20 12:00 | 显示全部楼层
USB 2.0的理论最大传输速率是480Mbps,但实际上,由于协议开销、硬件限制和固件实现的效率等因素,实际传输速率通常会低于这个值。对于USB Mass Storage Class,通常使用Bulk-Only Transport (BOT)协议,这也会引入一定的开销。
远山寻你 发表于 2024-6-20 14:00 | 显示全部楼层
如果您在使用Flash作为存储介质时发现速度远低于12Mbps,大概是STM32的内部Flash可能无法达到USB 2.0的全部速度,尤其是在进行擦除和编程操作时。
光辉梦境 发表于 2024-6-20 16:00 | 显示全部楼层
固件中的USB和存储介质访问代码可能不是最优化的,可能存在缓冲区管理、数据传输策略等方面的问题。
三生万物 发表于 2024-6-20 18:00 | 显示全部楼层
USB控制器的性能和驱动程序的效率也会影响传输速度。
淡漠安然 发表于 2024-6-20 20:00 | 显示全部楼层
系统中的中断处理和任务调度可能会影响USB传输的连续性。
暖了夏天蓝了海 发表于 2024-6-20 22:00 | 显示全部楼层
如果您尝试使用SRAM作为存储介质,但由于SRAM容量太小而无法满足U盘测速软件的要求,您可以考虑使用外部存储介质
江河千里 发表于 2024-6-21 02:00 | 显示全部楼层
如果您的应用允许,可以考虑使用外部SPI Flash或SD卡作为存储介质,这些介质通常具有更大的容量和更快的读写速度。
别乱了阵脚 发表于 2024-6-21 09:00 | 显示全部楼层
检查并优化固件中的USB传输和存储介质访问代码,确保数据传输效率最大化。
冰春彩落下 发表于 2024-6-21 12:00 | 显示全部楼层
确保USB接口配置为高速模式(High-Speed, 480Mbps),而不是全速模式(Full-Speed, 12Mbps)。
小小蚂蚁举千斤 发表于 2024-6-23 16:48 | 显示全部楼层
用cubemx生成一个USB 模拟U盘的例程。
AdaMaYun 发表于 2024-6-24 23:19 | 显示全部楼层
U盘测速软件要求U盘最小是16MB
怪诞新 发表于 2024-6-25 08:25 | 显示全部楼层
Cubemx生成的虚拟串口CDC,极限速度发送11多MB/s左右,接收800多KB/s,实测,407,750,743都一样的速度
LOVEEVER 发表于 2024-6-25 19:18 | 显示全部楼层
用cubemx生成一个USB 模拟U盘的例程
l63t89 发表于 2024-6-30 23:07 | 显示全部楼层
对于SRAM而言,虽然速度很快,但通常容量较小,难以满足一些USB测速软件的最低容量要求(如16 MB)。
l63t89 发表于 2024-6-30 23:07 | 显示全部楼层
Flash存储器:常见于USB闪存驱动器和存储卡,具有较好的性能和相对较高的读写速度,适合大容量的数据存储需求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

605

主题

3747

帖子

3

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