1. STM32L4低功耗概览:认识STM32L4系列、低功耗模式分类与功耗指标

各位同学,咱们正式开始这门课。第一讲,先把STM32L4这个系列的家底摸清楚。

我最早接触L4系列,是给一个便携式医疗设备做主控。那会儿客户要求电池撑三个月,还得跑RTOS、做FFT运算。说实话,一开始我心里也没底。后来把L4的功耗摸透了,发现这芯片确实有两把刷子。

1.1 STM32L4系列到底强在哪?

STM32L4是ST主打的超低功耗ARM Cortex-M4内核MCU。它跟普通M4最大的区别,就是专门为电池供电场景优化过。

几个关键特性,我列个表给你看:

特性 说明 我的评价
内核 Cortex-M4 FPU,最高80MHz 算力够用,带浮点
工艺 ST专有的低漏电流工艺 静态功耗控制得漂亮
SRAM 最大512KB,带硬件奇偶校验 跑RTOS很稳
Flash 最大1MB,双Bank架构 支持读写同步,OTA友好
外设 USB、LCD、DAC、OPAMP、比较器 模拟外设丰富,省外部芯片
功耗 Run模式低至100µA/MHz 业界第一梯队

你想想看,100µA/MHz是什么概念?跑1MHz才100微安。很多老架构的MCU,跑1MHz得奔着500µA去了。L4在低功耗上确实下了功夫。

1.2 低功耗模式分类:Sleep、Stop、Standby

STM32L4提供了三种主要的低功耗模式。我习惯把它们比作「打盹」「浅睡」「深睡」。

核心要点:三种模式的功耗逐级降低,但唤醒时间和唤醒源也逐级受限。选哪个模式,取决于你的应用场景。

1.2.1 Sleep模式(打盹)

Sleep模式最简单。CPU停了,但外设和SRAM都保持。说白了就是「CPU歇着,其他照常」。

  • 功耗:约100µA/MHz(取决于外设开启数量)
  • 唤醒源:任何中断或事件
  • 唤醒时间:几个CPU周期,几乎无感
  • 适用场景:等待外设完成操作,比如等待SPI传输结束

我在项目中用过Sleep模式做轮询等待。当时一个传感器采集周期是10ms,CPU在等待期间进Sleep,功耗降了40%。

1.2.2 Stop模式(浅睡)

Stop模式就有点意思了。它关掉了CPU和大部分外设的时钟,但SRAM和寄存器内容保留。唤醒后能接着跑。

Stop模式又分两种:

  • Stop 0:部分稳压器仍工作,唤醒快(约5µs)
  • Stop 1:稳压器进入低功耗模式,唤醒稍慢(约10µs)
  • Stop 2:进一步降低功耗,唤醒约14µs

我的经验:Stop 2模式在大多数IoT场景下是「甜点」。功耗低到1µA左右,唤醒时间也能接受。我做过一个温湿度采集器,每5分钟唤醒一次,用Stop 2模式,两节AA电池撑了两年。

1.2.3 Standby模式(深睡)

Standby模式是最省电的。它把整个芯片几乎全关了,只留RTC和几个唤醒引脚。

  • 功耗:典型值100nA,甚至更低
  • 唤醒源:RTC闹钟、WKUP引脚、复位
  • 唤醒时间:约50µs到100µs
  • 代价:SRAM内容丢失,程序从头执行

注意:Standby模式下SRAM数据不保留。如果你需要保存关键数据,要么存到RTC备份寄存器,要么在进Standby前写入Flash。我曾经有个同事没注意这点,设备每次唤醒后数据全丢了,排查了两天才找到原因。

1.3 三种模式对比速查表

模式 典型功耗 唤醒时间 SRAM保留 唤醒源
Sleep ~100µA/MHz ~0.2µs 是 任何中断
Stop 0 ~10µA ~5µs 是 RTC、串口、GPIO等
Stop 1 ~3µA ~10µs 是 RTC、串口、GPIO等
Stop 2 ~1µA ~14µs 是 RTC、串口、GPIO等
Standby ~100nA ~50µs 否 RTC、WKUP、复位

1.4 功耗测量方法

做低功耗设计,不会测量就等于瞎搞。我见过太多人「感觉功耗很低」,结果一测傻眼了。

测量功耗,我推荐三种方法:

  1. 万用表串接法:最基础。把万用表调到µA档,串在电源和板子之间。适合看平均功耗。
  2. 示波器+采样电阻法:在电源回路串一个10Ω电阻,用示波器测电阻两端电压。能看功耗波形,适合分析瞬态。
  3. 专用功耗分析仪:比如Joulescope、Otii。能精确到nA级别,还能记录功耗曲线。做产品开发建议备一台。

避坑指南:测量低功耗时,记得把调试接口断开。SWD/JTAG在连接状态下会额外耗电,我曾经测Standby模式一直显示5µA,拔掉调试器瞬间降到200nA。嗯,这个坑我踩过。

1.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你一看就明白:

STM32L4低功耗知识体系 STM32L4系列 Sleep 模式 Stop 模式 Standby 模式 功耗:~100µA/MHz 唤醒:~0.2µs 功耗:~1-10µA 唤醒:~5-14µs 功耗:~100nA 唤醒:~50µs 任何中断/事件 RTC/串口/GPIO RTC/WKUP/复位 功耗测量:万用表 / 示波器 / 分析仪 功耗逐级降低,唤醒时间逐级增加,唤醒源逐级受限

这张图把本章内容串起来了。从STM32L4出发,分支出三种低功耗模式,每种模式都有对应的功耗指标、唤醒源和测量方法。你以后做方案选型,对着这张图就能快速决策。

1.6 本章小结

这一章我们干了三件事:

  • 认识了STM32L4系列的核心优势
  • 搞清楚了Sleep、Stop、Standby三种模式的差异
  • 学会了功耗测量的基本方法