STM32(二十四)——PWR电源控制

一、简介

•PWR(Power Control)电源控制
•PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能
•可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务
•低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间

二、电源框图

供电区域 核心供电 包含模块 功能说明
V DDA 模拟供电区 V DDA/V SSA ADC、温度传感器、复位模块、PLL 为模拟电路提供纯净电源,必须与 V DD / V SS 分别连接,参考电压 V REF+ / V REF- 也由此区域供电
V DD 数字供电区 V DD / V SS I/O 电路、待机电路、电压调节器 负责数字外设和 I/O,电压调节器将 V DD 降压为 1.8V,供给核心域
1.8V 核心供电区 1.8V(由电压调节器提供) CPU 核心、存储器、内置数字外设 芯片的运算与存储核心,仅在运行模式下工作,低功耗模式下可断电
后备供电区 V BAT (或 V DD ) LSE 晶振、后备寄存器、RTC、RCC BCDCR 由 VBAT 或主电源供电,在主电源掉电时仍可保持 RTC 计时和后备数据
  • 电源连接:V DDA 必须与 V DD 同电位,V SSA 必须与 V SS 同电位,通常通过单点共地连接。
  • 低功耗模式:可关闭 1.8V 核心域和 V DD 域,仅保留后备域供电,实现极低功耗待机。
  • 模拟性能:为保证 ADC 精度,V DDA 需使用独立滤波电路,避免数字电源纹波干扰。

三、上电复位和掉电复位

芯片电压规则

  1. 上电启动 :电压必须 ≥ POR 阈值,才能完成启动、退出复位
  2. 正常运行 :电压只要 ≥ PDR 阈值,就不会复位
  3. 最高耐压 :绝对不能超过芯片的 绝对最大电压,否则烧毁

关键概念解析

  • POR(Power On Reset,上电复位) :芯片刚上电时,电源电压 VDD/VDDA 从 0 开始上升。当电压上升到 POR 阈值时,芯片会触发复位,确保内部电路在稳定电压下初始化。
  • PDR(Power Down Reset,掉电复位) :芯片正常工作后,若电源电压下降到 PDR 阈值,会再次触发复位,防止电压过低导致逻辑紊乱或数据损坏。
  • 40mV 迟滞(Hysteresis) :POR 阈值比 PDR 阈值高 40mV,这是为了避免电源电压在阈值附近波动时,复位信号频繁跳变(防抖动),保证系统稳定。
  • 滞后时间 tRSTTEMPO​:电压达到 POR 阈值后,复位信号不会立即变化,而是延迟 tRSTTEMPO 时间再释放复位,让电源和内部电路完全稳定后再启动芯片。

四、PVD可编程电压检测器

一、核心定义

PVD = 电源电压检测器 ,是芯片的电源预警机制,用于监控 VDD/V<sub>DDA</sub>电压,提前响应电源异常。核心区别:PVD 不直接复位芯片,先触发中断给系统预留处理时间;而 PDR 是掉电强制复位机制。

二、硬件固定电平逻辑(对应波形图)

表格

电压状态 PVD 输出 状态含义
VDD > 上升阈值 低电平 ✅ 电源正常,无告警
VDD < 下降阈值 高电平 ⚠️ 电源异常,触发告警
两阈值之间(100mV 迟滞区间) 保持原电平 🛡️ 抗抖动,不触发状态翻转

三、可配置项 vs 不可配置项

表格

不可修改(硬件固定) 可自定义(软件配置)
100mV 迟滞电压 PVD 电压阈值(多档位可选)
硬件原生输出电平逻辑 中断触发方式(上升沿 / 下降沿 / 双边沿)
软件告警逻辑(高 / 低有效可自定义)

四、核心特性

  • 100mV迟滞设计:避免电压纹波、小幅波动误触发告警,提升抗干扰能力
  • 中断优先级可配置,能快速响应掉电风险,优先执行保护动作

五、典型应用场景

  1. 掉电前紧急保存关键数据
  2. 触发低功耗模式,保护系统运行状态
  3. 电源异常声光 / 通讯告警
  4. 配合后备域 RTC 实现掉电计时保护

六、与 POR/PDR 核心区别

POR:上电复位门槛,管「芯片能不能正常启动」
PDR:掉电复位门槛,管「运行中会不会强制停机」
PVD:掉电预警门槛,管「异常前能不能提前做保护处理」

五、低功耗模式

1. 三种模式核心对比
模式 进入方式 唤醒方式 1.8V 区域时钟 VDD 区域时钟 电压调节器状态
睡眠 WFI / WFE 任一中断 / 唤醒事件 仅 CPU 时钟关闭,其他时钟 / ADC 时钟不受影响 无影响 开启
停机 PDDS+LPDS+SLEEPDEEP 位 + WFI/WFE 任一外部中断(需在外部中断寄存器配置) 全部关闭 HSI/HSE 振荡器关闭 开启 / 低功耗模式(由 PWR_CR 寄存器配置)
待机 PDDS+SLEEPDEEP 位 + WFI/WFE WKUP 引脚上升沿、RTC 闹钟、NRST 复位、IWDG 复位 全部关闭 HSI/HSE 振荡器关闭 关闭

2. 关键特性解读
  • 睡眠模式:最轻量级低功耗,仅暂停 CPU,外设和时钟保持运行,唤醒延迟极短,适合短暂休眠场景。
  • 停机模式:中等功耗,关闭核心时钟和主振荡器,保留寄存器和 RAM 数据,唤醒后可快速恢复运行状态。
  • 待机模式:最低功耗,彻底关闭电压调节器,仅保留后备域(RTC / 后备寄存器)供电,唤醒后相当于复位,所有寄存器状态丢失。

3. 选型建议
  • 需要快速响应、外设持续工作 → 选择睡眠模式
  • 需要较低功耗、保留运行状态 → 选择停机模式
  • 需要极致低功耗、无需保留状态 → 选择待机模式

六、模式选择

•执行WFI(Wait For Interrupt)或者WFE(Wait For Event)指令后,STM32进入低功耗模式

SLEEPDEEP SLEEPONEXIT PDDS LPDS 最终模式 核心特点
0 0 - - 睡眠(立刻) 轻量级,CPU 暂停,外设运行
0 1 - - 睡眠(中断后) 中断退出后自动睡眠
1 - 0 0 停机(调节器开) 保留数据,唤醒快,功耗中等
1 - 0 1 停机(低功耗) 保留数据,功耗更低,唤醒稍慢
1 - 1 - 待机 极致低功耗,唤醒后复位

睡眠模式

•执行完WFI/WFE指令后,STM32进入睡眠模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
•SLEEPONEXIT位决定STM32执行完WFI或WFE后,是立刻进入睡眠,还是等STM32从最低优先级的中断处理程序中退出时进入睡眠
•在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态
•WFI指令进入睡眠模式,可被任意一个NVIC响应的中断唤醒
•WFE指令进入睡眠模式,可被唤醒事件唤醒

停止模式

•执行完WFI/WFE指令后,STM32进入停止模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
•1.8V供电区域的所有时钟都被停止,PLL、HSI和HSE被禁止,SRAM和寄存器内容被保留下来
•在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态
•当一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟
•当电压调节器处于低功耗模式下,系统从停止模式退出时,会有一段额外的启动延时
•WFI指令进入停止模式,可被任意一个EXTI中断唤醒

WFE指令进入停止模式,可被任意一个EXTI事件唤醒

待机模式

•执行完WFI/WFE指令后,STM32进入待机模式,唤醒后程序从头开始运行
•整个1.8V供电区域被断电,PLL、HSI和HSE也被断电,SRAM和寄存器内容丢失,只有备份的寄存器和待机电路维持供电
•在待机模式下,所有的I/O引脚变为高阻态(浮空输入)
•WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位退出待机模式

相关推荐
csg11072 小时前
PIC单片机高阶实战(五):PIC32MX系列的数据存储
单片机·嵌入式硬件·物联网
GreenGoblin2 小时前
12.DSP学习记录之SCI
单片机·dsp开发·电机控制
爱喝纯牛奶的柠檬3 小时前
基于STM32的GPS NMEA解析驱动设计与实现
stm32·单片机·嵌入式硬件
v先v关v住v获v取3 小时前
茶树修剪机结构设计2张cad+设计说明书+三维图
科技·单片机·51单片机
大志出奇迹4 小时前
STM32常用变量类型位数及取值范围
stm32·单片机·嵌入式硬件
LCG元4 小时前
STM32项目实战:基于STM32F103的智能循迹避障小车
stm32·单片机·嵌入式硬件
v先v关v住v获v取4 小时前
NEXUS卡丁车前悬挂控制臂的结构建模与多工况受力分析5张cad+三维图+设计说明书
科技·单片机·51单片机
luoshanxuli20105 小时前
ESP-IDF 简介
嵌入式硬件·物联网·系统架构
GodKK老神灭5 小时前
SWD读取AP寄存器完整流程
单片机·keil