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 功耗测量方法
做低功耗设计,不会测量就等于瞎搞。我见过太多人「感觉功耗很低」,结果一测傻眼了。
测量功耗,我推荐三种方法:
- 万用表串接法:最基础。把万用表调到µA档,串在电源和板子之间。适合看平均功耗。
- 示波器+采样电阻法:在电源回路串一个10Ω电阻,用示波器测电阻两端电压。能看功耗波形,适合分析瞬态。
- 专用功耗分析仪:比如Joulescope、Otii。能精确到nA级别,还能记录功耗曲线。做产品开发建议备一台。
避坑指南:测量低功耗时,记得把调试接口断开。SWD/JTAG在连接状态下会额外耗电,我曾经测Standby模式一直显示5µA,拔掉调试器瞬间降到200nA。嗯,这个坑我踩过。
1.5 知识体系总览
下面这张图,把本章的核心逻辑串起来了。你一看就明白:
这张图把本章内容串起来了。从STM32L4出发,分支出三种低功耗模式,每种模式都有对应的功耗指标、唤醒源和测量方法。你以后做方案选型,对着这张图就能快速决策。
1.6 本章小结
这一章我们干了三件事:
- 认识了STM32L4系列的核心优势
- 搞清楚了Sleep、Stop、Standby三种模式的差异
- 学会了功耗测量的基本方法