模块分类 在 STM32 众多系列的 MCU 中,USB模块并不是相同的,官方称呼为USB IP 不同。总的来说可以分文两大类:USB IP、OTG IP。这两种 IP又可以进行更进一步的细分,如下图:
上图中罗列的芯片并不是很全面,某些新系列的芯片可能与上图有出入。各IP的主要区别如下:
- USB IP:
- 仅可作为全速或低速的USB设备;
- 符合USB2.0中的全速规范
- 可用资源:8个双向可配置端点
- 512字节 的专用数据包缓冲存储器SRAM
- CRC(循环冗余校验)生成/校验,反向不归零(NRZI)编码/解码和位填充
- 支持四种传输类型:对于bulk和同步传输,还支持double buffer模式;使得一个buffer用于USB硬件和PC
- 交换数据的同时,另外一个buffer可被MCU使用
- 支持USB设备的挂起和唤醒操作(写控制寄存器),从而停止设备时钟,以进入低功耗模式
F102/103中的USB和CAN共享512字节的专用SRAM来进行数据收发操作,因此两个IP不能同时使用 - USB+ IP: 是针对USB IP的扩展版本,同样仅可作为全速或低速的USB设备,但是ST针对这部分的USB模块进行了扩展,例如添加了USB低功耗管理等。除了以上USB IP特性外,还有如下:
- 1024字节 的专用数据包缓冲存储器SRAM
- 同步传输支持
- USB 2.0 Link电源管理支持
- 电池充电规范修订版1.2支持
- USB连接/断开功能(USB_DP线上可控嵌入式上拉电阻)
- FS OTG IP: 可作为全速和低速USB主机;可作为全速USB设备
- HS OTG IP: 可作为高速、全速和低速USB主机;可作为高速和全速USB设备
无论以上哪种 IP,其全部符合USB 2.0规范。
|