当前位置: 华文世界 > 科学

stm32 PWR电源控制

2024-01-16科学

stm32 PWR电源控制

PWR简介

PWR (Power Control) 是电源控制 的意思。

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

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

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

硬件图

PWR供电分为模拟部分供电、数字部分供电、和后备供电。

模拟供电提供给A/D转换器、温度传感器、复位模块等,它们是通过VDDA正极和VSSA负极供电。A/D转换器有些单片机还有VREF+-两个引脚供电。

第二部分中间部分供电供于待机电路、电压调节,和内部cpu核心、存储器等供电。内部cpu是通过电压调节器将3.3v供电降压到1.8v给cpu、存储器、硬件外设供电,使用低电压运行的目的是降低功耗。

第三部分是后备供电,主要给时钟RCC、LES晶振、后备寄存器供电。后备供电如果VDD有电时由VDD供电,如果VDD没电时由VBAT供电。

可编程电压监测器

简称PVD。电压在2.2V-2.9V(这个阀值可以设置),可以产生一个标志位信息,通过标志位,可以知道电压不足,可产生中断等。

低功耗模式

从上到下越来越省电,越来越难唤醒。

睡眠模式: 调用WFI(wait for interrupt等待中断)或WFE(wait for event等待事件)函数后进入。WFI的唤醒是触发任一中断唤醒。WFE的唤醒条件是任一事件(产生了中断但是没有配置中断,不进入中断函数)。睡眠模式相当于只关闭了cpu的时钟 ,关闭了cpu的时钟程序就不运行了,就暂停了,功耗就低了。

停机模式: 设置PDDS位为0,SLEEPDEEP深度睡眠模式位为1,然后调用WFI或WFE就可以进入停机深度睡眠模式。停机模式只有外部中断才能唤醒。相当于关闭了所有cpu和外设的时钟,但是没有关闭cpu和外设的电源,程序停止了,但数据还在。LPDS位可以设置电源是否处于低功耗模式,使更省电。

待机模式: 设置PDDS为1,SLEEPDEEP为1,运行WFI或WFE进入待机模式和停机模式有一点点差别。中断不能唤醒待机模式,只有WKUP引脚的上升沿、RTC闹钟事件、按复位键和独立看门狗等才能唤醒。

低功耗模式标志位