你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【实战经验】STM32 USBD VBUS GPIO

[复制链接]
zero99 发布时间:2017-6-29 17:02
STM32 USBD VBUS PA9 as GPIO

前言
某客户准备用STM32F205VCT6做USB FS Device设备时,配置PA9作为普通通用的GPIO口(外部上拉电阻10K到电压3.3V,NO PU/PD),在项目测试的时候发现,该引脚上的电压只有2V。

一、现象的复现
硬件:Nucleo-F207ZG board,利用CubeMx生成代码出现同样的问题:
21.png
对于硬件,客户的示意图如下:
22.png
23.png
所以参考该nucleo的原理图,修改,移除掉R35电阻,自己添加一个色环电阻至3.3V ;

1.1 PA9为通用输出GPIO,未使用USB FS模块
配置 PA9为通用GPIO输出引脚Open Drain模式,没有其他的MCU外设IP被使用,PA9被 10Kohm的色环上拉电阻拉到Vdd电压3V3,利用示波器测试,PA9为3V3输出;
24.png

1.2 PA9为输出GPIO,开漏模式,使用USB FS模块
使用该MCU的USB FS 设备IP,并且配置PA9为输出,Open Drain mode模式,PA9被 10Kohm的色环上拉电阻拉到Vdd电压3V3。
测试发现,如果配置:
如果OTG_FS_GCCFG(offset_0x038) = 0xXX2DXXXX,那么PA9 只有2V 输出;
如果OTG_FS_GCCFG(offset_0x038) = 0xXX25XXXX,那么PA9 会有 3V3 输出;
客户的问题被发现。
25.png

1.3 PA9为输出GPIO,推挽模式,使用USB FS模块
使用该MCU的USB FS 设备IP,并且配置PA9为输出,push-pull推挽模式,PA9被 10Kohm的色环上拉电阻拉到Vdd电压3V3。 测试发现:只需要设置NOVBUSSENS setting(bit21)为1,那么PA9 就会被输出为 3V3,而不论OTG_FS_GCCFG(offset_0x038)寄存器的内容是0xXX25XXXX还是 0xXX2DXXXX;

1.4 PA9为输入GPIO,NO PU/PD,未使用USB FS模块
配置MCU的PA9为通用的GPIO引脚,输入模式,no PU/PD,没有使用MCU的其他外设IP,PA9被 10Kohm的色环上拉电阻拉到Vdd电压3V3。 测试发现PA9为3V3输入。

1. 5 PA9为输入GPIO,NO PU/PD,使用USB FS模块
配置MCU的PA9为通用的GPIO引脚,输入模式,no PU/PD,使用了MCU的USBD FS外设IP,PA9被 10Kohm的色环上拉电阻拉到Vdd电压3V3。 测试发现:
如果OTG_FS_GCCFG(offset_0x038) = 0xXX2DXXXX,PA9 输入为2V;
如果OTG_FS_GCCFG(offset_0x038) = 0xXX25XXXX,PA9输入为3V3;
客户的现象也被发现了。

二、解决及总结
在使用USB模块的情况下,正常的话PA9是作为OTG_FS_VBUS功能使用的,但是也可以作为通用的GPIO口。
如果配置成为通用的GPIO,在该芯片参考手册中,我们发现:
26.png

在以往的印象中,我们一直认为PA9用以监测VBUS的供电,在取消该监控时(NOVBUSSENS),PA9可用作普通I/O口,此时,VBUS默认永远存在。
通过具体的上述的操作,可以知道,如果想让USBD模块下的PA9作为GPIO口使用,那么需要满足下面两个条件:
1/由于使用到了PA9作为通用的GPIO口,我们需要关闭VBUS sensing(bit 21)功能.
2/Bit 19 VBUSBSEN and Bit 18 VBUSASEN 这两个比特位也需要被复位。
客户按照上述重新配置后,问题不再出现。



文档下载

更多实战经验
收藏 评论5 发布时间:2017-6-29 17:02

举报

5个回答
ruigewei5 回答时间:2017-6-29 17:09:52
谢谢楼主
SInzo 回答时间:2017-6-29 18:14:12
感谢分享
Paderboy 回答时间:2017-6-29 21:16:51
多谢分享。
weigr 回答时间:2017-6-29 22:19:18
参考
MrJiu 回答时间:2017-6-30 10:12:46
看一看!!!!!!11

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版