STM32L431 低功耗模式详解
核心低功耗模式
STM32L431 提供 7 种低功耗模式,涵盖从轻度睡眠到深度关断的多种场景,具体模式如下:
1. 运行模式 (Run Mode)
- 功耗范围:约 27mA(全速运行)至微安级(低功耗运行模式):cite[7]
- 特点:
- 支持动态电压调节(Range 0:80MHz,Range 1:26MHz):cite[6]
- 可通过
LPRUN模式进一步降低功耗(内核电压降低,CPU 频率限制为 2MHz):cite[6]
2. 睡眠模式 (Sleep Mode)
- 功耗:5.5mA ~ 14.4mA:cite[7]
- 特点:
- CPU 内核停止,外设保持运行
- 任意中断或事件均可唤醒,程序从中断处继续执行
- 时钟系统(PLL、HSI、HSE)保持活动:cite[3]
3. 低功耗睡眠模式 (Low-power Sleep Mode)
- 功耗:低于标准睡眠模式
- 特点:
- 仅能从低功耗运行模式(LPRUN)进入
- FLASH 停止工作,外设时钟受限
- 唤醒后返回低功耗运行模式:cite[5]
4. 停止模式 (Stop Mode)
子模式:Stop 0、Stop 1、Stop 2
| 特性 | Stop 0 | Stop 1 | Stop 2 |
|---|---|---|---|
| 功耗 | 较高 | 中等 | 最低(约 10μA):cite[4] |
| 唤醒时间 | 最快 | 中等 | 最长 |
| 时钟保留 | HSI/HSE 关闭 | HSI/HSE 关闭 | 仅 LSE/LSI 保留 |
| 唤醒源 | 外部中断、RTC 等 | 减少部分外设唤醒 | 仅特定唤醒源 |
| SRAM 保留 | ✔️ | ✔️ | ✔️ |
| 内核电压调节 | 主稳压器(MR) | 低功耗稳压器(LPR) | LPR :cite[6] |
5. 待机模式 (Standby Mode)
- 功耗:约 2μA ~ 5μA:cite[4]:cite[7]
- 特点:
- 内核 1.8V 电源关闭,SRAM 内容丢失(可选保留 SRAM2)
- 唤醒后系统复位,程序从头执行
- 支持 RTC、WKUP 引脚唤醒:cite[5]
6. 关机模式 (Shutdown Mode)
- 功耗:最低(约 0.1μA)
- 特点:
- 关闭所有电源稳压器,仅备份域(RTC、LSE)可选保持
- 唤醒后系统复位,SRAM 完全丢失
- 仅支持 WKUP 引脚或外部复位唤醒:cite[6]
模式对比与选型建议
| 模式 | 功耗 | 唤醒时间 | 数据保留 | 典型应用场景 |
|---|---|---|---|---|
| 运行模式 (LPRUN) | 微安级 | 立即 | 全保留 | 低功耗持续运行(如传感器轮询) |
| 停止模式 (Stop 2) | ~10μA | 较长 | SRAM + 寄存器 | 周期性任务(RTC 定时唤醒) |
| 待机模式 | 2μA ~ 5μA | 长(复位) | SRAM2(可选) | 紧急事件唤醒(如按键报警) |
| 关机模式 | 0.1μA | 最长(复位) | 无 | 超长待机(电池供电设备) |
关键配置注意事项
-
GPIO 状态管理:
- 未使用的 GPIO 应配置为模拟输入或固定电平输出,避免浮空导致漏电流:cite[4]
- 晶振引脚需配置为模拟输入(若外部未连接晶振):cite[4]
-
时钟与电源控制:
- 停止模式下需关闭高速时钟(HSI/HSE):cite[6]
- 待机模式需启用 BOR(欠压复位)以保证唤醒可靠性:cite[5]
-
唤醒源配置:
- LPUART、LPTIM 等低功耗外设可在停止模式下唤醒 MCU:cite[2]
- 外部中断需配置为上升沿/下降沿触发模式:cite[8]
STM32L431 低功耗模式唤醒源详解
核心低功耗模式唤醒源对比
1. 停止模式 (Stop Mode)
| 子模式 | 唤醒源 | 特殊要求 |
|---|---|---|
| Stop 0 | - 任意 EXTI 中断(GPIO 引脚、RTC 闹钟/事件、COMP 比较器、LPUART、LPTIM1/2) - 独立看门狗(IWDG) | - 需配置 GPIO 为外部中断模式(EXTI) - LPUART 需使能 HAL_UARTEx_EnableStopMode() |
| Stop 1 | - 与 Stop 0 相同,但部分高速外设不可用 | - 关闭不必要的外设时钟(如 ADC、DAC) |
| Stop 2 | - RTC 闹钟/事件 - EXTI 线 0-15(仅限特定低功耗引脚) - LPTIM1/2 | - 仅 LSE/LSI 可用作 RTC 时钟源 - 需启用低功耗稳压器(LPR) |
2. 待机模式 (Standby Mode)
| 唤醒源 | 配置要点 |
|---|---|
| - WKUP 引脚(PA0 等特定引脚) | 需配置为上升沿触发,并使能 HAL_PWR_EnableWakeUpPin() |
| - RTC 闹钟/事件 | 需配置 RTC 时钟源(LSE/LSI)和闹钟寄存器 |
| - NRST 复位引脚 | 直接硬件复位 |
| - 独立看门狗 (IWDG) | 需提前配置 IWDG 超时时间 |
3. 关机模式 (Shutdown Mode)
| 唤醒源 | 限制条件 |
|---|---|
| - WKUP 引脚 | 仅特定引脚支持(如 PA0) |
| - NRST 复位引脚 | 完全复位系统 |
| - 备份域复位事件 | 需配置 RTC 或 TAMP 检测功能 |
唤醒源详细说明
GPIO 外部中断 (EXTI)
- 适用模式:停止模式(所有子模式)、待机模式(仅特定引脚)
- 关键配置:
// 配置 PA0 为唤醒引脚(上升沿触发) HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); // PA0 对应 WKUP1 HAL_PWREx_EnableGPIOPullUp(GPIOA, GPIO_PIN_0); // 避免浮空
总结
- 实时性优先:选择 停止模式(Stop 0/1),支持快速唤醒和 SRAM 保留:cite[6]
- 超低功耗需求:选择 关机模式 或 待机模式,牺牲唤醒时间换取更低功耗:cite[5]:cite[7]
- 开发调试:优先使用 停机模式,避免待机模式导致系统复位:cite[1]
详细配置参考:STM32L4xx 参考手册 RM0394



3715

被折叠的 条评论
为什么被折叠?



