PWR电源控制
一、电源系统
- STM32F4xx电源供电结构框图如下
电压管理器(Voltage Regulator)共有三种模式
- run mode
此模式下,电压管理去稳定向核心、内存和外设提供1.2V电压,输出电压可由软件变换。 - stop mode
此模式下,寄存器和内部SRAM不会丢失数据。 - standby mode
此模式下,电压管理器不再工作,而由待机电池供电。
- 电压调节器
- 上电/掉电复位
Power-on Reset(POR)Power-down Reset(PDR),电压大于POR时解除复位,小于PDR时复位。设置这两个阈值就是防止电压在某个阈值附近波动造成输出也来回抖动,两个阈值中间电压正常时不复位。
- 可编程电压检测器
Programmable Voltage Detector(PVD),可通过比较PWR_CR寄存器中的PLS[2:0]位设置的阈值来检测 V D D V_{DD} VDD,可触发中断(外部中断)用于紧急关闭任务。
- 低功耗模式
低功耗模式有三种,睡眠模式、终止模式(停机模式/最低功耗睡眠模式)和待机模式。只有高优先级NVIC中断可唤醒并中断MCU。
通过SLEEPDEEP位同时FPU控制寄存器清空可进入睡眠模式,唤醒睡眠模式后程序从暂停的地方继续运行,只把CPU时钟关了程序暂停运行,对其他电路没有任何操作同时关闭时钟时寄存器和存储器内数据继续保存不丢失。
通过SLEEPDEEP位同时FPU控制寄存器就绪可进入停机模式,如果Flash程序在运行会等到其结束才进入停机模式,任一外部中断都可唤醒,关闭了所有1.2V区域时钟同时关闭HSI和HSE振荡器,CPU和外设的寄存器数据不会丢失。
通过SLEEPDEEP位同时FPU控制寄存器就绪可进入待机模式,此模式下多用于实时时钟,只有在WKUP引脚上升沿、RTC闹钟事件、RTC唤醒事件、RTC入侵事件、RTC时间戳事件、外部BRST引脚复位和IWDG复位,此模式下电压调节器关闭,寄存器和存储器数据丢失所有引脚变为高阻态。
- 上电/掉电复位
程序一直运行在主循环内会徒增功耗,为此可设置低功耗模式,在空闲状态关闭不必要的硬件只保留必要的唤醒电路。