【STM32】PWR电源控制

2024-01-07 19:16:31

1?PWR简介

PWR(Power Control)电源控制

PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能

可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务

低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间

1.1?电源框图

图分为三部分。最上面是模拟部分供电,VDDA(VDD?Analog);中间是数字部分供电(VDD供电区域和1.8V供电区域);后备供电VBAT。

模拟部分供电主要包括AD转换器、温度传感器、复位模块、PLL锁相环。正极是VDDA,负极是VSSA。其中AD转换器还有两根参考的供电脚。

中间是数字部分供电由两部分组成。左边是VDD供电区域,其中包括IO电路、待机电路唤醒逻辑和独立看门狗;右边是通过电压调节器降压到1.8V,包括CPU核心、存储器和内置数字外设。使用低电压运行的目的是降低功耗。电压调节器是给1.8V供电。

后备供电区域包括LSE 32k晶体振荡器、后备寄存器、RCC BDCR寄存器(备份域控制寄存器)和RTC。

低电压检测器,控制开关,VDD有电时,由VDD供电;VDD没电时,由VBAT供电。

1.2?上电复位和掉电复位

1.3?可编程电压监测器

1.4?低功耗模式

睡眠模式:只把CPU时钟关了,对其他电路没有操作。关闭电源比关闭时钟更省电。

PDDS=0停机模式;PDDS=1待机模型

1.5?模式选择

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

1.5.1?睡眠模式

执行完WFI/WFE指令后,STM32进入睡眠模式,程序暂停运行,唤醒后程序从暂停的地方继续运行

SLEEPONEXIT位决定STM32执行完WFIWFE后,是立刻进入睡眠,还是等STM32从最低优先级的中断处理程序中退出时进入睡眠

在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态

WFI指令进入睡眠模式,可被任意一个NVIC响应的中断唤醒

WFE指令进入睡眠模式,可被唤醒事件唤醒

1.5.2?停止模式

执行完WFI/WFE指令后,STM32进入停止模式,程序暂停运行,唤醒后程序从暂停的地方继续运行

1.8V供电区域的所有时钟都被停止,PLLHSIHSE被禁止,SRAM和寄存器内容被保留下来

在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态

当一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟

当电压调节器处于低功耗模式下,系统从停止模式退出时,会有一段额外的启动延时

WFI指令进入停止模式,可被任意一个EXTI中断唤醒

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

1.5.3?待机模式

执行完WFI/WFE指令后,STM32进入待机模式,唤醒后程序从头开始运行

整个1.8V供电区域被断电,PLLHSIHSE也被断电,SRAM和寄存器内容丢失,只有备份的寄存器和待机电路维持供电

在待机模式下,所有的I/O引脚变为高阻态(浮空输入)

WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位退出待机模式

数据手册

参考手册

文章来源:https://blog.csdn.net/Zhouzi_heng/article/details/135436204
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。