#usb-device #devices #usb #peripheral #ip #otg-fs #otg-hs

no-std synopsys-usb-otg

为Synopsys USB OTG IP核实现'usb-device'

10个版本

0.4.0 2023年11月19日
0.3.2 2023年1月14日
0.3.1 2022年10月6日
0.3.0 2022年1月4日
0.1.0 2020年2月12日

#385硬件支持

Download history 371/week @ 2024-03-13 546/week @ 2024-03-20 535/week @ 2024-03-27 618/week @ 2024-04-03 482/week @ 2024-04-10 545/week @ 2024-04-17 677/week @ 2024-04-24 406/week @ 2024-05-01 563/week @ 2024-05-08 382/week @ 2024-05-15 608/week @ 2024-05-22 786/week @ 2024-05-29 863/week @ 2024-06-05 583/week @ 2024-06-12 460/week @ 2024-06-19 436/week @ 2024-06-26

2,431 每月下载量
用于 10 个crates (5 直接)

MIT 许可证

425KB
8K SLoC

crates.io crates.io Build Status

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。此特质声明了所有可能因设备系列而异的外设属性。此外,HAL应将fshs功能传递给synopsys-usb-otg库以定义外设类型

  • fs - 用于全速外设
  • hs - 用于高速外设

目前只能选择一种外设类型。

ULPI收发器延迟

某些ULPI PHY(如Microchip USB334x系列)在启动HS Chirp的ULPI寄存器写入和随后的发送命令之间需要延迟,否则HS Chirp不会执行,设备将以FS模式枚举。某些USB Link IP(如STM32H7系列中的那些)支持向受影响PHY添加此延迟。启用xcvrdly功能以添加此延迟。

示例

请参阅usb-otg-workspace仓库中的不同设备特定示例。

依赖关系

~1.5MB
~31K SLoC