新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于 Azure USBx 开发 USB_OTG_HS MSC 应用的几个问题

基于 Azure USBx 开发 USB_OTG_HS MSC 应用的几个问题

作者:时间:2024-04-16来源:收藏

某客户在使用 开发一款智能手表时,需要使用 实现 USB Storage 功能。建议客户参考“STM32U575I-EVApplicationsUSBXUx_Device_”例程来实现。但是,客户抱怨参考 U575 的例程也无法调试通过,程序在 USB_CoreInit()无法初始化成功。在支持解决了客户初始化失败的问题后,客户反馈仍然无法调通
storage 程序。
本文主要介绍使用 USB_HS 开发 USBx 应用时的几个问题点,详细配置和移植过程,读者可自行参考本文附件中的工程源码。
2. 问题调研与验证
客户在使用 STM32CubeMX 生成 USBx Device 工程时采用的默认 RCC 时钟树配置如下:

本文引用地址:http://www.amcfsurvey.com/article/202404/457675.htm

1713243669349061.png

3. 问题分析与解决办法
USB 初始化失败的问题既然能够稳定复现,那么问题应该比较好找,经过查看 DS13633 和RM0456 对于 外设有如下相关描述。

1713243704125544.png

根据文档描述,也就是说 这个 IP Core 工作于 60MHZ,它是由OTG_HS_PHY Clock 提供的,为了保证其精度必须使用外部晶振 HSE,且 OTG_HS_PHY 的时钟频率仅支持 16/19.2/20/24/26/32 这几个频率大小。
在 STM32CubeMX 里将 USB_OTG_HS 时钟重新配置如下:

1713243748161538.png

更多内容请您下载全文查看。



评论


相关推荐

技术专区

关闭