新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于Azure USBx 开发USB_OTG_HS MSC 应用的几个问题

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

作者:时间:2023-11-13来源:ST收藏

1. 前言

本文引用地址:http://www.eepw.com.cn/article/202311/452790.htm

某客户在使用 开发一款智能手表时,需要使用USB_OTG_HS 实现USBStorage 功能。建议客户参考“STM32U575I-EVApplicationsUSBXUx_Device_MSC”例程来实现。但是,客户抱怨参考U575 的例程也无法调试通过,程序在USB_CoreInit()无法初始化成功。在支持解决了客户初始化失败的问题后,客户反馈仍然无法调通 的MSC storage 程序。

本文主要介绍使用 开发 应用时的几个问题点,详细配置和移植过程,读者可自行参考本文附件中的工程源码。

2. 问题调研与验证

客户在使用STM32CubeMX 生成 工程时采用的默认RCC 时钟树配置如下:

1699853918340650.png

外设初始化失败,笔者在J_DK 板上也得到了同样的结果。

1699853943855726.png

3. 问题分析与解决办法

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

1699853969409017.png

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

在STM32CubeMX里将USB_OTG_HS时钟重新配置如下:

1699853996130403.png

重新生成代码,下载测试可以看到USB_OTG_HS已经能够成功初始化了。

1699854018963766.png

1699854044156358.png

到这一步看起来似乎问题应该解决了。然后,事实并非如此,下载程序插上USB后,Windows仍然没有出现任何提示。其实,STM32CubeMX生成 USBx 应用时,只生成了相应的用户层级框架,并不是直接就可以工作的,application层的部分接口还需要用户去完成的。

但是,在STM32Cube_FW_U5_V1.2.0及以上的版本中,ST提供了几乎覆盖了所有常见USBx各种USB类的例程,它们分布在不同型号的ST开发版上的,这些例程是可以相互交叉参考的。客户USB_OTG_HS MSC storage参考的例程是STM32U575I-EVApplicationsUSBXUx_Device_MSC。

查看STM32U599J_DK板原理图,使用STM32CubeMX配置后发现,ST所有开发板的USB_OTG_FS/HS接口都是使能了TypeC-PD功能的,而客户板子上是没有使能TypeC-PD,直接按照USB_OTG_HS Device Only模式接的。

1699854072997568.png

通过单步调试和代码跟踪,最终发现USBx里面使用了TypeC CC引脚来检测Device是否插入,当检测到有Device插入或拔出时,发出设备状态信息USB_Device_State_Msg的消息队列,通知USBx Device线程入口函数app_ux_device_thread_entry(),并做相应的USB启动和停止。客户的板子和STM32CubeMx里面并没有使能USB Type C-PD自然无法成功启动USB服务。

如下图所示。

1699854100818520.png

既然问题是由于USB TypeC-PD引起,找到原因就不能解决那么问题了。只需要在USB_OTG_HS外设初始化后,直接启动USB服务,代码修改如下。

1699854131577574.png

经测试,经修改后程序工作正常。

4. 小结

笔者后期在STM32U599J_DK板上进行测试,发现STM32U599的USB_OTG_HS外设时钟(OTG HS Clock Mux),对于频率及时钟源具有较强的选择性,强烈建议OTG HS Clock Mux选择HSE(16MHZ)作为时钟。

参考文献

1699854163761489.png

文档中所用到的工具及版本

STM32CubeMX 6.8.0/IAR 9.32

LAT中的附件

STM32U599_DK_Threadx_USBx_Demo.zip

版本历史

1699854187846491.png




评论


相关推荐

技术专区

关闭