STM32F446 OTG_FS_DP/DM调试

时间:2023-03-09 16:49:30
STM32F446  OTG_FS_DP/DM调试

之前项目用STM32F207,现在升级到用STM32F446处理器,用到USB的OTG_FS模式接法:

1、USB只连接了DP/DM

2、DP需上拉1.5K的电阻到3.3V

3、PA9(VBUS) 和ID都没接,悬空

给软件人员进行调试时,他倒腾快2周了,USB死活没法连上,就开始怀疑到我板子上,设计有问题,说是有可能PA9 (VBUS)没接5V的原因,

这给我气的,我最讨厌有人说我设计的板子有问题,后来亲自查资料,看网上有人提到这个问题,VBUS这个PIN可以进行设置的,可以关掉

VBUS检测功能。然后我在他的Keil工程里添加一个宏“VBUS_SENSING_ENABLE”(具体在哪个位置看下图),重新编译下载,搞定。

让我一个搞硬件的在半天内搞定这个事,真爽。

说到这,可以在工程里搜“VBUS_SENSING_ENABLE”这个宏,仔细看,可以看到有个地方是Disablesensing = 1,就是关掉VBUS进行检测。

STM32F446  OTG_FS_DP/DM调试

关于VBUS的连接,最清晰的解释在参考手册内,如下:

The VBUS pin can be freed by disabling the VBUS sensing option. 

This is done by setting the NOVBUSSENS bit in the OTG_FS_GCCFG register. 

In this case the VBUS is considered internally to be always at VBUS valid level (5 V).