1、USB版本
USB发展到现在已经有USB1.0/1.1/2.0/3.0等多个版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已经开始普及。STM32F429自带的USB符合USB2.0规范。
2、STM32F429的USB外设
STM32F429系列芯片都自带了USB OTG FS和USB OTG HS(HS需要外扩高速PHY芯片实现,速度可达480Mbps),是一款双角色设备 (DRD) 控制器,同时支持从机功能(USB Host)和主机功能(USB Device)。在主机模式下,OTG_FS 支持全速(FS,12 Mb/s)和低速 (LS,1.5 Mb/s)收发器,而从机模式下则仅支持全速(FS,12 Mb/s)收发器
OTG_FS 功能说明:
3、USB设备的插入检测与速度检测
标准USB共四根线组成,除VCC/GND外,另外为D+和D-,这两根数据线采用的是差分电压的方式进行数据传输的。在USB主机上,D-和D+都是接了15K的电阻到地的,所以在没有设备接入的时候,D+、D-均是低电平。而在USB设备中,如果是高速设备,则会在D+上接一个1.5K的电阻到VCC,而如果是低速设备,则会在D-上接一个1.5K的电阻到VCC。这样当设备接入主机的时候,主机就可以判断是否有设备接入,并能判断设备是高速设备还是低速设备
4、STM32Cube的USB主机库架构
STM32提供的Host主机和Device设备的驱动库,包含了多种类主机库:参见《2018年STM32_USB_OTG_training_03_USB_Host_MSC》
USB Host MSC文件组织:
USB Host MSC 源码文件与架构对应关系:
5、使用USBH MSC类