为什么STM32需要电源管理:
在很多应用场合,对电子设备的功耗要求非常苛刻。如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护。为此,大多数 MCU 都会提供电源管理单元来切换 MCU 的 运行模式,尽量降低器件的功耗。STM32将片上外设和内核以模块方式管理,如下图所示:(PS : ADC 使用独立的电源供电,以提高转换精度。CPU 核心、存储器及内置数字外设由电压调节器供电,而 STM32 的后备域则由 V BAT 供电,确保后备域的备份寄存器和 RTC 在主电源断电时仍能正常工作。)
下面是低功耗的三种形式及其异同:
从表中可以看到,这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。
在睡眠模式中,仅关闭了 CPU 时钟,CPU 停止运行,但其片上外设,CM3核心外设全都还照常运行。有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for interrupt)和 WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。
在停机模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.8V 区域的电源没有关闭,还保留了 CPU 的寄存器、内存的信息,所以从停机模式唤醒,并重新开启