5个版本
0.4.2 | 2024年7月5日 |
---|---|
0.4.1 | 2024年4月16日 |
0.4.0 | 2023年12月11日 |
0.3.2 | 2023年7月14日 |
0.3.1 | 2022年11月2日 |
#122 在 硬件支持
15,944 每月下载量
用于 3 个crates(2个直接)
420KB
8K SLoC
这是synopsys-usb-otg的分支,增加了对ESP32-Sx的支持 - 当目标不是ESP32-Sx时,请使用https://github.com/stm32-rs/synopsys-usb-otg。
synopsys-usb-otg
usb-device 为Synopsys USB OTG IP核实现。
该项目是伟大工作的继承,由@mvirkkunen开始。
支持的微控制器
STM32F429xx
(OTG_FS和OTG_HS在FS模式)STM32F401xx
STM32F446xx
(OTG_FS和OTG_HS在FS模式)STM32F723xx
(OTG_FS和OTG_HS带有内部HS PHY)STM32H7xxxx
(OTG1_HS和OTG2_HS在FS模式,以及OTG1_HS带有外部HS PHY)- 以及其他...
使用方法
此驱动程序旨在通过设备hal库使用。此类hal库应为相应的USB外设对象实现UsbPeripheral
。此trait声明了可能因设备系列而异的所有外设属性。此外,hal应将fs
或hs
功能传递给synopsys-usb-otg
库以定义外设类型
fs
- 用于全速外设hs
- 用于高速外设
目前只能选择一个外设类型。
ULPI收发器延迟
一些ULPI PHY,如Microchip USB334x系列,在HS Chirp启动和后续发送命令之间需要延迟,否则HS Chirp不会执行,设备将以FS模式枚举。一些USB Link IP,如STM32H7系列中的那些,支持向受影响的PHY添加此延迟。启用xcvrdly
功能以添加此延迟。
示例
请参阅usb-otg-workspace仓库中的不同设备特定示例。
依赖关系
~1.5MB
~29K SLoC