STM32WL33KCV6 DeepStop 异常电流分析报告
日期: 2026-05-10
项目: STM32WL33KCV6 Sub-GHz Transmitter / No-SMPS 最小系统
一、问题概述
目标:
让 STM32WL33KCV6 进入 datasheet 定义的 DeepStop 模式,期望电流达到 uA 或 nA 级。
实际现象:
在多块 PCB、多颗芯片、不同代码版本、官方 PWR_DEEPSTOP 例程及最小系统测试下,
DeepStop 电流长期保持在约 1.2~1.5 mA。
关键现象:
- DeepStop 后 VCAP 约 2.1~2.2 mV,说明 MCU 核心 1.2 V 域已经掉电。
- Shutdown 模式电流约 61.19 uA,说明硬件并非存在固定 mA 级漏电。
- NRST 接地电流约 918.19 uA,接近 datasheet reset current 典型值 955 uA。
- ST 官方 PWR_DEEPSTOP 例程在该硬件上仍约 1.2 mA。
================================================================================
二、硬件配置与当前确认
芯片:
STM32WL33KCV6, QFN32 / VFQFPN32 package
供电:
VDD = 2.8 V
No SMPS 硬件配置
No SMPS 连接确认:
根据 STM32WL33xx datasheet, No SMPS 要求:
- VFBSD connected to external supply or VDD
- VLXSD floating
- VSSSD connected to GND
当前硬件确认:
- VDD_1 / VDD_2: connected to VDD
- VDDSD: connected to VDD
- VFBSD: connected to VDD
- VLXSD: floating
- VSSSD: connected to GND
- VDDRF: connected to VDD through FB in normal condition
- VCAP: capacitor to GND
- EXTGND: low impedance to GND
- Exposed pad: GND
QFN32 footprint / pin mapping:
用户已逐脚确认 33 个连接点,包括 32 pins + exposed pad,均与 STM32WL33KCV6 QFN32 pinout 匹配,
无旋转、镜像或 pin mapping 错误。
控制脚:
- NRST 不悬空,有明确上拉/连接状态。
- BOOT 有明确下拉。
- BOOT 曾测得 0.595 V,但强制 BOOT 接地后 DeepStop 电流仍约 1.28 mA,排除 BOOT 中间电平为主因。
- SWD 线测试时彻底断开后,电流仍约 1.2 mA,排除调试器/SWD/VREF 路径为主因。
清洗与焊接:
- 曾怀疑助焊剂或表面污染。
- PCB 清洗后最小系统仍约 1.26 mA。
- 新焊 PCB、换芯片、换晶振后问题仍存在。
- 说明污染、单颗芯片损坏、单块返修板异常均不是主因。
================================================================================
三、关键测量数据
- 完整板/早期测试
- 完整板 DeepStop: 约 1.5~1.7 mA
- VCAP after DeepStop: 约 0.002 V
- NRST 接地: 约 1.14 mA
- NRST 浮空/正常: 约 1.58 mA
- 新焊完整 PCB
- 未拆任何元器件: 约 1.67 mA
- NRST 接地: 约 1.14 mA
- NRST 浮空: 约 1.58 mA
- DeepStop 后 VCAP: 约 0.002 V
- 最小系统 PCB
- 只焊接主控及最小外围: 约 1.23~1.37 mA
- VCAP: 约 2.1~2.2 mV
- NRST 不接地: 约 1.26~1.37 mA
- NRST 接地: 约 833.42 uA 到 918.19 uA
- BOOT 强制接地: 约 1.28 mA
- 电源输入路径
- 从 SWD VDD 供电: 约 1.37 mA
- 从原 LDO 输出点供电: 约 1.38 mA
- 判断: 供电入口不是主因,两处大概率属于同一 VDD 网络。
- VDDRF 支路
- 正常连接时 VDD, VDDSD, VFBSD, VDDRF 均约等于 VDD = 2.8 V。
- 断开 VDDRF 前面的 FB 后:
VDDRF 约 2.0 V
总电流约 1.45 mA
- 判断: VDDRF 外部供电/RF 支路不是 mA 级电流主因。
- 注意: VDDRF 断开后仍被偏置到 2.0 V,不建议长期以该状态运行。
- Shutdown 对照
- Shutdown current: 61.19 uA
- 该结果证明硬件不是固定 mA 级漏电,硬件具备进入更低功耗状态的能力。
================================================================================
四、datasheet 对照
STM32WL33xx datasheet 关键指标:
- Reset current
- Current under Reset condition: typ. 955 uA @ VDD=3.3 V
- 实测 NRST 接地约 918 uA,与 datasheet 接近,认为合理。
- DeepStop current, Table 13
- No timer, only wake-up GPIO enabled, RAM0 retained: typ. 910 nA
- No timer, only wake-up GPIO enabled, all RAM retained: typ. 980 nA
- 32 kHz LSI, all RAM retained: typ. 1540 nA
- RTC ON: typ. 1710 nA
- 当前 DeepStop 约 1.2~1.5 mA,比 datasheet 高约 800~1500 倍。
- Shutdown current
- Product summary / Table 12: Shutdown 为 nA 级,典型 14 nA。
- 当前实测 61.19 uA,虽高于典型值,但远低于 DeepStop 的 1.2 mA,足以证明硬件不是固定 mA 漏电。
- DeepStop 条件
datasheet 3.6.2 中 DeepStop 条件包括:
- Radio MR_SUBG sleeping / no radio activity
- CPU sleeping, WFI with SLEEPDEEP activated
- No unmasked wake-up sources active
- PWRC_CR1.LPMS = 0
- System clocked on RC64MPLL, HSI or PLL locked mode, not direct HSE
- Non-DEEPSTOP2: GPIORET should be set
- If SMPS KRM enabled, RCC_CFGR.SMPSDIV = 0
当前寄存器基本满足上述要求。
================================================================================
五、寄存器诊断记录
- Trim investigation
VALIDITY_TAG @0x10001EF8 = FCBCECCC
Expected tag = FCBCECCC
TRIMR = 00003363
ENGTRIM = 00000000
ENGTRIM2 = 00000000
RCC_CSSWCR = 00000000
ENGTRIM after force-write = 00000000
判断:
- 芯片 factory trim validity tag 有效。
- 实际 trim 位于 TRIMR,不依赖 ENGTRIM fallback。
- ENGTRIM 为 0 或 force-write 后仍为 0 不再认为是根因。
- DeepStop domain diag
CR1 = 00000114
CR2 = 00000020
CR5 = 00006514
SR2 = 0000B3F0
DBGR = 00000000
ENGTRIM = 00000000
RCC_CR = 00001400
RCC_APB0 = 00000100
RCC_APB1 = 00000400
RCC_APB2 = 00000000
IEWU = 00000000
EWUA = 00000000
EWUB = 00000000
IWUF = 00000000
WUFA = 00000000
WUFB = 00000000
判断:
- 该阶段 CR2=0x20 仅 RAMRET1=1,尚未强制 GPIORET。
- Wakeup flags 和 wakeup enable 均为 0。
- Final pre-WFI state
CR1 = 00000114
CR2 = 00000120
CR5 = 00006514
DBGR = 00000000
RCC_CFGR = 00000240
RCC_CR = 00001400
SYST_CTRL = 00010007 或后续测试中尝试关闭
SCB_SCR = 00000000, 但 VCAP 掉电说明后续确实进入了使核心域掉电的路径
IEWU = 00000000
EWUA = 00000000
EWUB = 00000000
寄存器解码:
CR2=0x00000120:
- GPIORET = 1
- RAMRET1 = 1
- DBGRET = 0
- LPREG_FORCE_VH = 0
CR5=0x00006514:
- NOSMPS = 1
- SMPSFBYP = 0
- SMPSLPOPEN = 1
- SMPS BOF 未启用
SR2=0x0000B3F0:
- SMPSBYPR = 0
- SMPSENR = 0
- SMPSRDY = 0
DBGR=0:
- DEEPSTOP2/debug retention 未启用
RCC_CFGR=0x00000240:
判断:
- DeepStop 关键进入条件基本满足。
- No SMPS 软件状态正确。
- Debug retention / DEEPSTOP2 排除。
- Wakeup source 排除。
- Direct HSE 排除。
================================================================================
六、已排除项
- 应用代码问题
- 最小固件、手动寄存器配置、ST 官方 PWR_DEEPSTOP 例程均约 1.2 mA。
- 应用层 ADC/MRSUBG/UART/TIM 不是主因。
- Debug / DEEPSTOP2
- DBGR=0。
- SWD 线彻底断开后仍约 1.2 mA。
- 排除调试保持或 SWD 供电路径为主因。
- Direct HSE
- RCC_CFGR.HSESEL=0。
- 系统不是 direct HSE。
- Wakeup source
- IEWU/EWUA/EWUB=0。
- IWUF/WUFA/WUFB=0。
- 启用 PB0 wakeup 后和关闭全部 wakeup 后均为 mA 级。
- 排除 wakeup 源导致。
- SMPS_ON / BOF 配置错误
- CR5.NOSMPS=1。
- SR2.SMPSENR=0, SMPSRDY=0。
- 硬件 No SMPS 连接符合 datasheet。
- VDDRF / RF 外围
- 断开 R6/C13、排除射频部分后仍 mA 级。
- 断开 VDDRF FB 后电流不降反升。
- RF 外围和 VDDRF 外部支路不是主因。
- BOOT/NRST/SWD 外部状态
- BOOT 强制接地后仍约 1.28 mA。
- NRST 不悬空。
- SWD 断开后仍异常。
- PCB 污染 / 焊接偶发异常
- 清洗后无改善。
- 新焊 PCB、换芯片、换晶振后无改善。
- 最小系统仍异常。
- Footprint / pin mapping
- 33 个引脚含 EP exposed pad 已逐项确认正确。
- 无旋转、镜像、封装映射错误。
|