项目场景:
STM32和上位机传统通信方式就是串口,IIC,SPI等。IIC和SPI一般不常用,串口是用的最多的通信方式。然而串口一般用于输出调试信息这种对传输速度没要求的场景,那种大容量数据快速传输的场景,串口显得捉襟见肘。STM32自带USB FS,然而既然都使用USB了,为什么不用USB HS呢?STM32H750VBT6没有内置USB HS PHY,但提供了USB HS的ULPI通信接口,用于连接外置USB PHY。这样就可以使用STM32H750VBT6和外置USB3300搭建起来USB HS的通道。这里不再讲述USB HS的配置过程,只需要在STM32CUBEMX中简单点几下就行,注意时钟配置正确,把internal DMA IP关掉即可。
USB HS通信速度测试
理论上USB HS通信速度能到480Mbps,但是实际上并没有那么多,我利用STM32H750VBT6测试,USB CDC类虚拟串口的通信速度大约在22MB/s,十分够用。利用Python编写的测速脚本数据结果如下。

Python测速代码:
import serial
import time
import serial.tools.list_ports
ports_list = list(serial.tools.list_ports.comports())
if len<

文章介绍了STM32使用USBHS(高速)进行大容量数据传输,对比了串口的局限性。通过STM32H750VBT6和外置USBPHY实现USBHS通道,测试结果显示通信速度约22MB/s。同时,提供了Python编写的串口测速脚本,强调了不要使用串口软件来测试USB速度,以避免软件卡死问题。
最低0.47元/天 解锁文章
6233

被折叠的 条评论
为什么被折叠?



