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

STM32的RTC电流消耗异常问题分析

[复制链接]
STMCU-管管 发布时间:2026-2-5 09:08

前言 某客户OEM的一款基于STM32F415RG的产品时,发现RTC电池消耗异常,在VDD处于供电状态下测试VBAT引脚仍然存在24uA的消耗,造成VBAT域电池寿命缩短。

问题调研及症状 到客户现场进行调研后,该款产品客户只负责OEM硬件,并不负责软件。因此,对于此问题仅能从硬件原理图和PCB进行分析,RTC部分原理图如下图所示。 image.png

客户使用万用表串接到TP36处,在断开VDD和VDD正常供电的情况下分别测试VBAT引脚的电流消耗,现场进行了测试演示。 image.png

奇怪的现象发生了,VDD断电时VBAT引脚消耗电流为0.2uA,当VDD正常供电时反而VBAT引脚电流竟然是24.2uA。

问题分析与解决办法 理论上当VDD上电时STM32内部的电源监测电路会自动将VBAT域切换到VDD不会产生消耗才对,但是实际测试情况为什么电流消耗反而更高呢 ? image.png

笔者尝试写了一个RTC的单元测试demo来复现此问题,但是运行笔者写的RTC测试程序时VBAT引脚无论VDD处于断电还是正常供电其电流消耗均是正常的。

由于MCU的软件并不是由客户开发的,也不清楚具体的外设配置和相关业务逻辑。此问题进度一度陷入停滞状态,只能确定问题的根因是由客户软件缺陷造成。 在思索的过程中,笔者突然想到STM32Cubeprogrammer的hot plug连接模式,可以在MCU正常运行时不复位线热连接,从而查看到相关外设的寄存器。 image.png

经过大量的寄存器比对和筛选,排查与VBAT相关的外设,最终把怀疑对象缩小到ADC上,在STM32Cubeprogrammer 的ADC寄存器窗口可以看到,软件使能了ADC_CH18采样,而ADC_CH18是ADC的一个内部采样通道,可以连接到VBAT引脚对其进行采样。 image.png

在STM32Cubeprogrammer里面将ADC1关闭,此时VBAT引脚上的电流消耗恢复正常。

结论: 在VDD正常供电时VBAT引脚上的电流消耗是由于开启了ADC_CH18引起,ADC_CH18在对VBAT引脚进行电压监测时所产生的消耗。

收藏 评论0 发布时间:2026-2-5 09:08

举报

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