单片机学习小组
直播中

蒲泛粟

7年用户 849经验值
私信 关注

STM32L476rg低功耗模式有哪几种?

STM32L476rg低功耗模式有哪几种?

回帖(1)

王晗

2022-2-10 11:30:38
低功耗模式介绍:

(资料来源stm32l476 参考手册,RM0351_STM32L4x5 and STM32L4x6 advanced Arm®-based 32-bit MCUs)
Sleep mode:

CPU时钟关闭,所有外设(包括NVIC,SysTick,等的Cortex-m4内核外设可以运行,中断或事件发生时唤醒CPU.
Low-power sleep mode :

从Low-power run mode可以进入到这个模式:Cortex -m4关闭。
Stop 0,Stop 1 和Stop 2 mode:

SRAM1 ,SRAM2和所有寄存器内容被保留。Vcore域的所有时钟停止,PLL,MSI,HSI16和HSE失能。LSI和LSE可以保持运行。
RTC可以保持激活状态(带RTC的停止模式,不带RTC的停止模式)。
一些具有唤醒功能的外设在停止模式期间,检测到唤醒状态可以使能HSI16 。
在stop2模式下,大多数VCore域处于较低漏电流模式。
Stop 1提供最多的活跃外设和唤醒源,唤醒时间比Stop 2短,但功耗更高。在Stop 0模式下,主调节器保持开启,这允许最快的唤醒时间,但功耗更高。活跃外设和唤醒源与Stop 1模式中的相同。
从Stop 0,Stop 1或 Stop 2模式退出时,系统时钟可以是高达48 MHz的MSI或HSI16,具体取决于软件配置。
Standby mode :

Vcore域已关闭。但是,可以保存SRAM2内容:
Standby mode 保存SRAM2内容:主调节器关闭,低功耗调节器运行。
Standby mode 不保存 SRAM 2内容:主调节器和低功耗调节器均关闭。
所有Vcore域的时钟停止,PLL、MSI、HSI16和HSE关闭。LSI和LSE可以保持运行。
RTC可以保持激活状态(带RTC的停止模式,不带RTC的停止模式)。
当退出Standby mode时,MSI为系统时钟(system clock)提供1 MHz到8MHz的时钟。
Shutdown mode:

Vcore 域已关闭。VCore域中的所有时钟停止,PLL、MSI、HSI16、LSI和HSE被禁用。LSE可以继续运作。退出Shutdown mode时,MSI为系统时钟4 MHz的时钟。在这种模式下,电源电压监控被禁用,并且在电源电压下降的情况下,产品行为无法得到保证。

各个模式的切换关系


各个低功耗模式的特征总结


各个低功耗模式的进入与退出方法

参考资料:UM1884 Description of STM32L4HAL and low-layer drivers
Low-power run mode 进入与退出



Sleep mode 进入与退出


Low-power Sleep mode 进入与退出


Stop0 mode 进入与退出


Stop1 mode 进入与退出


Stop2 mode 进入与退出


Standby mode进入与退出


Shutdown mode进入与退出


STM32duino lowpower 库中的低功耗调用关系

参考资料:https://github.com/stm32duino/STM32LowPower
void shutdown (int ms)


void deepSleep (int ms)

void sleep (int ms)


void idle (int ms)

举报

更多回帖

发帖
×
20
完善资料,
赚取积分