USB 分为 HOST(主机)和从机(或 DEVICE),有些设备可能有时候需要做 HOST,有时候又需要做 DEVICE,USB OTG 应运而生,OTG 是 On-The-Go 的缩写,支持 USB OTG 功能的 USB 接口既可以做 HOST,也可以做 DEVICE。 ID=1:OTG 设备工作在从机模式。 ID=0:OTG 设备工作在主机模式。 支持OTG 模式的 USB 接口一...
STM32F407 系列芯片自带有 USB OTG FS(全速)和 USB OTG HS(高速),其中 HS 需 要外扩高速 PHY 芯片实现,我们这里不做介绍。 STM32F407 的 USB OTG FS 是一款双角色设备 (DRD) 控制器,同时支持从机功能和主机 功能,完全符合 USB 2.0 规范的 On-The-Go 补充标准。此外,该控制器也可配置为“仅主机” ...
__HAL_RCC_USB_OTG_HS_CLK_ENABLE(); /* USB_OTG_FS interrupt Init */ HAL_NVIC_SetPriority(OTG_HS_IRQn, 0, 0); HAL_NVIC_EnableIRQ(OTG_HS_IRQn); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27....
STM32MP1有两个USB host控制器,都是USB2.0,带宽最大480Mbit/s,两个USB接口都内置了高速PHY。其中USB2接口支持OTG功能。 STM32MP1内部集成了三个和USB相关的控制器:UST HS PHY控制器、USB Host控制器、USB OTG控制器。 1. PHY控制器 PHY控制器主要提供两个端口,端口1规定分配给USB Host控制器、端口2分配给...
由外部 PHY 提供的 USB OTG HS (60 MHz) 时钟; 由外部 PHY 提供的以太网 MAC 时钟。 AHB AHB(AdvancedHigh performanceBus)高级高性能总线连接APB与总线矩阵,桥接APB1和APB2,主要用于高性能模块或外设的应用,AHB的时钟叫做HCLK。 FCLK FCLK(Free Running Clock)自由运行时钟,为CPU内核提供时钟信号。
return USBH_OK; } (3)最后就是对硬件管脚的配置了 void HAL_HCD_MspInit(HCD_HandleTypeDef *hhcd) { GPIO_InitTypeDef GPIO_InitStruct; /* Configure USB FS GPIOs */ __HAL_RCC_GPIOB_CLK_ENABLE(); /* Enable USB FS Clocks */ __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); ...
STM32OTG_FSHS模块.PDF,STM32 OTG_FS/HS模块 Lilian YAO OTG_FS和OTG_HS模块通用特性比较 OTG_FS OTG_HS USB 2.0协议,OTG 1.3协议(支持HNP和SRP ) 支持3种PHY 可作为USB主机、USB设备、OTG设备(A类/B类)使用 输出SOF信号,供各种同步应用(to PAD, to TIM2 ) 相同的省电
首先,在STM32CubeMX中打开项目,选择你的芯片型号,例如STM32F407ZG。接下来,配置系统时钟,确保USB接口用到的时钟源配置正确,通常需要配置为48MHz。 步骤2:配置USB硬件接口 根据你的硬件设计,选择USB_OTG_FS(全速)或USB_OTG_HS(高速,需要外部PHY芯片)。连接USB引脚,例如PA11和PA12,并配置上拉电阻。
&usbotg_hs { status = "ok"; }; on pinmux.c #ifdef CONFIG_USB_DC_STM32 {STM32_PIN_PA3, STM32F4_PINMUX_FUNC_PA3_OTG_HS_ULPI_D0}, {STM32_PIN_PB0, STM32F4_PINMUX_FUNC_PB0_OTG_HS_ULPI_D1}, {STM32_PIN_PB1, STM32F4_PINMUX_FUNC_PB1_OTG_HS_ULPI_D2}, ...
STM32的USB库将SETUP包放在一起处理,首先是枚举阶段 USBD_OTG_ISR_Handler --> gintr_status.b....