PWR简介
PWR(Power Control),为电源控制模块,负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能。
- 1、可编程电压监测器
简称PVD,可以监控VDD电源电压。当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务(避免不必要的错误)。
- 2、低功耗模式
包括:睡眠模式(Sleep)、停机模式(Stop)、待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间。
- 3、电源框图
整体上看,框图可分为3个部分:最上面的模拟部分供电,叫作VDDA(VDD Analog)、中间是数字部分供电(包括:VDD供电区域和1.8V供电区域)、下面是后备供电,叫作VBAT。
上电复位和掉电复位
意思是当VDD或VDDA电压过低时,内部电路直接产生复位,让STM32复位住,不进行乱操作。
在复位和不复位的界限之间,设置了一个40mV的迟滞电压,大于上限POR(1.92V)时解除复位,小于下限PDR(1.88V)时复位。这是一个典型的迟滞比较器。
对于复位信号,是低电平有效,滞后时间为2.5毫秒(大于POR后再过2.5ms解除复位)。
可编程电压监测器
监测VDD和VDDA的供电电压,且阈值电压可以使用程序来指定(自定义调节,通过配置PLS的3个位来调节),范围为2.2V~2.9V之间。且迟滞电压为100mv左右。
当PVD触发后,芯片还是能正常工作的,只不过是电源电压有些低了,该提醒一些用户了。
对于PVD输出,电压较低时为1,正常时为0。且PVD输出信号可以申请中断,当上升沿或下降沿时触发中断,以此提醒程序进行适当的处理。
低功耗模式
从睡眠到停机到待机,越来越省电,配置也越来越复杂。其中WFI、WFE为指令。
PDDS位用于区分是停机模式还是待机模式,为0代表停机、为1代表待机。LPDS位用于设置电压调节器是开启还是进入低功耗模式:LPDS=0,电压调节器开启、LPDS=1,电压调节器进入低功耗模式。SLEEPDEEP位代表深度睡眠。
【注意】对于睡眠模式和停机模式,被唤醒后程序从暂停的地方继续运行。而待机模式下,被唤醒后,程序从头开始运行。