STMCU小助手
发布时间:2022-2-15 19:51
|
前言 某客户准备用 STM32F205VCT6 做 USB FS Device 设备时,配置 PA9 作为普通通用的 GPIO 口(外部上拉电阻 10K 到电压3.3V,NO PU/PD),在项目测试的时候发现,该引脚上的电压只有 2V。 一、现象的复现 硬件:Nucleo-F207ZG board,利用 CubeMx 生成代码出现同样的问题:
对于硬件,客户的示意图如下:
所以参考该 nucleo 的原理图,修改,移除掉 R35 电阻,自己添加一个色环电阻至 3.3V ; 1.1 PA9 为通用输出 GPIO,未使用 USB FS 模块 配置 PA9 为通用 GPIO 输出引脚 Open Drain 模式,没有其他的 MCU 外设 IP 被使用,PA9 被 10Kohm 的色环上拉电阻拉到Vdd 电压 3V3,利用示波器测试,PA9 为 3V3 输出;
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 输出; 客户的问题被发现。
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,在该芯片参考手册中,我们发现:
在以往的印象中,我们一直认为 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 这两个比特位也需要被复位。 客户按照上述重新配置后,问题不再出现。 |
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
【经验分享】STM32CubeIDE汉化
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
【下载有礼】STM32 Finder华为应用商店正式上线!移动选型工具助力开发效率升级
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
微信公众号
手机版