Cortex
CM3提供了两种低功耗模式:sleep和deep
寄存器 | 位 | 描述 |
SCR | SLEEPDEEP | 用于控制处理器使用sleep还是使用deep 0 1 |
SLEEPONEXIT | 指示从Handler模式返回线程模式时,是否退出睡眠模式: 0 1 |
①
②
③
④
STM32F1/4低功耗模式的深入理解
了解低功耗模式,首先要了解时钟和电源:
时钟
时钟源 | 功能 |
低速内部时钟LSI | 32KHz,为LSI、RTC提供时钟。 |
低速外部时钟LSE | 32.768KHz,为RTC提供时钟。 |
高速内部时钟HSI | 16MHz,为SYSCLK、PLL提供时钟。 |
高速外部时钟HSE | 4-26MHz,为SYSCLK、PLL、RTC提供时钟。 |
系统时钟SYSCLK,提供以太网、AHB(HCLK:AHB总线、内核、DMA、memory;系统定时器;FCLK:为systick提供时钟)、APB(APB外设时钟、APB定时器时钟)。
STM32F4
STM32F1
电源
电压域 | 来源 | 设备 |
VDD | 外部 | IO逻辑、Flash |
1.8V | VDD经内部电压调节器 | CPU、RAM、内核、数字外围设备 |
VDDA | 外部 | ADC和DAC |
VBAT | 电池 | LSI |
低功耗模式
模式 | 进入 | 唤醒 | 对1.8V域 时钟的影响 | 对VDD域 时钟的影响 | 电压调节器 |
Sleep(Sleep-now或Sleep-on | WFI | 任何中断 | CPU时钟关闭不影响其他时钟或模拟时钟源 | 无影响 | 开 |
WFE | 唤醒事件 | ||||
Stop | PDDS和LPDS位 + SLEEPDEEP位 + WFI或WFE | 任何EXTI线(在EXTI寄存器中进行配置) | 关闭所有1.8V域的设备的时钟 | 关闭HSI和HSE晶振 | 开或者是处于低功耗模式(取决于电源控制寄存器PWR_CR) |
Standby | PDDS位 + SLEEPDEEP位 + WFI或WFE | WKUP引脚上升沿,RTC警报,NRST引脚上的外部复位、IWDG复位 | 关闭 |
①
l
l
②
l
l
③
④
⑤
⑥