目录
概述
1 认识低功耗模式
1.1 低功耗模式的应用
1.2 低功耗模式介绍
2 低功耗模式的状态关系
2.1 低功耗模式可能的转换状态图
2.2 低功耗模式总结
3 运行模式
3.1 减慢系统时钟
3.2 外围时钟门控
3.3 低功耗运行模式(LP运行)
概述
本文主要介绍STM32G4系列MCU的低功耗模式的相关内容,包括低功耗的运行状态机,时钟关系,运行模块等内容。
1 认识低功耗模式
1.1 低功耗模式的应用
默认情况下,微控制器在系统复位或电源复位后处于运行模式。当CPU不需要保持运行时,例如等待外部事件时,可以使用几种 低功耗模式来节省电源。这是由用户选择 模式,给出了低功耗,短启动时间 和可用的唤醒源之间的最佳折衷。
1.2 低功耗模式介绍
该设备具有7种低功耗模式:
1)休眠模式:
CPU时钟关闭,所有外设包括Cortex®-M4与FPU核心外设,如NVIC, SysTick等可以运行,并在中断或事件发生时唤醒CPU。
2)低功耗运行模式:
当CPU时钟频率降低到2mhz以下时,支持该模式。代码从SRAM或闪存执行。稳压器处于低功率模式,以最小化稳压器的工作电流。
3)低功耗睡眠模式:
从低功耗运行模式进入:Cortex®-M4 带FPU关机
4)停止0和停止1模式:
SRAM和所有寄存器内容保留。所有的时钟都在停止VCORE域,禁用PLL、HSI16和HSE。LSI和LSE可以保持运行。
RTC和stamp可以保持活动状态(有RTC的停止模式,没有RTC的停止模式)。一些具有唤醒能力的外设可以在Stop 模式期间启用HSI16 RC来检测它们的唤醒状态。
在停止0模式下:
主调节器保持ON,这允许最快的唤醒时间 但消耗更高。活动外设和唤醒源与停止1模式下的 相同。
当从停止0或停止1模式退出时:
系统时钟为HSI16时钟。如果将设备配置为在低功耗运行模式下唤醒,则必须在进入停止模式之前配置RCC_CFGR 寄存器中的HPRE位,以提供不大于2Hz 的频率。
5)Standby模式:
表示VCORE域处于下电状态。然而,它是有可能保存的 SRAM内容:
1) 当位RRS在PWR_CR3寄存器中设置时,具有SRAM2保留的备用模式。在这种情况下,SRAM2由低功耗稳压器提供。
2) 当PWR_CR3寄存器中的位RRS被清除时,进入待机模式。在这种情况下,主稳压器和低功率稳压器断电。
VCORE域中的所有时钟都停止,锁相环、HSI16和HSE振荡器 被禁用。LSI和LSE可以保持运行。 RTC可以保持激活状态(有RTC的备用模式,没有RTC的备用模式)。当退出Standby模式时,系统时钟为HSI16振荡时钟。
6)关机模式:
表示VCORE域下电。VCORE域中所有时钟停止,PLL、HSI16、LSI和HSE关闭。伦敦证交所可以继续运转。退出Shutdown模式时,系统时钟为HSI16振荡时钟。 在这种模式下,电源电压监测功能被关闭,当电源电压下降时,产品的行为不能得到保证。
另外,运行模式下的功耗可以通过以下 方式降低:
1) 减慢系统时钟
2) 当APB和AHB外设未使用时,对时钟进行门控。
2 低功耗模式的状态关系
2.1 低功耗模式可能的转换状态图
2.2 低功耗模式总结
3 运行模式
3.1 减慢系统时钟
在运行模式下,系统时钟(SYSCLK, HCLK, PCLK)的速度可以通过 编程预分频寄存器来降低。这些预缩放器也可用于在进入睡眠模式之前减慢 外设的速度。
3.2 外围时钟门控
在运行模式下,单个外设和存储器的HCLK和PCLK可以随时停止 以降低功耗。 为了进一步降低睡眠模式下的功耗,可以在执行WFI或WFE指令之前 禁用外围时钟。 外围时钟门控由RCC_AHBxENR和RCC_APBxENR 寄存器控制。 通过重置 RCC_AHBxSMENR和RCC_APBxSMENR寄存器中的相应位,可以自动执行休眠模式下禁用外设时钟。
3.3 低功耗运行模式(LP运行)
为了进一步降低系统在运行模式下的功耗,可以将稳压器配置为 低功耗模式。在此模式下,CPU主频不能超过2M Hz。 有关稳压器和外设的详细信息请参阅产品数据表 工作条件。