LOW POWER --- 低功耗模式

一.STM电源系统结构介绍(F1)

二.低功耗模式介绍

STM32具有运行、睡眠、停止和待机四种工作模式。

上电后默认是在运行模式,当内核不需要继续运行时,可以选择后面三种低功耗模式。

睡眠模式:内核时钟关闭;

  • 优点:对系统影响小;
  • 缺点:节能效果最差。

 停止模式:内核时钟关闭,关闭内核逻辑电路的所有时钟,关闭时钟系统;

  • 优点:节能效果好,程序不会复位;
  • 缺点:恢复时间较长。

待机模式:内核时钟关闭,关闭内核逻辑电路的所有时钟,关闭时钟系统,关闭电压调节器; 

  • 优点:节能效果最好;
  • 缺点:程序会复位,少数条件唤醒。

同等条件下(T = 25℃,VDD = 3.3V,系统时钟72MHz)

模式主要影响唤醒时间供应电流(典型值)
正常模式所有外设正常工作051mA
睡眠模式CPU时钟关闭1.8us29.5mA
停止模式1.8V区域时钟关闭,电压调节器低功耗5.4us35uA
待机模式1.8V区域时钟关闭,电压调节器关闭50us3,8uA

三.低功耗相关寄存器介绍(F1) 

寄存器名称作用
SCB_SCR系统控制寄存器选择休眠和深度休眠模式,用于其他低功耗特性的控制
PWR_CR电源控制寄存器可以设置低功耗相关(清楚标记位、模式)
PWR_CSR电源控制/状态寄存器用于查看系统当前状态(待机/唤醒标志 使能唤醒引脚)

系统控制寄存器(SCB_SCR) 

注意:进入停止模式或者待机模式,SLEEPDEEP置为1。

 停止模式:PDDS清0,LPDS选调节器模式;

待机模式:PDDS置1,清除唤醒位CWUF。 

 在待机模式下,使用WKUP引脚唤醒并需要清楚WUF标记位;WKUP上升沿才能唤醒待机状态;WUF位实际上得操作CWUF位。

WFI命令(常用)和WFE命令属于内核指令,在cmsis_armcc.h文件中。

四.低功耗相关HAL库驱动介绍(F1)

驱动函数关联寄存器功能描述
HAL_PWR_EnterSLEEPMode()SCB_SCR进入睡眠模式
HAL_PWR_EnterSTOPMode()PWR_CR/PWR_SCR进入停止模式
HAL_PWR_EnterSTANDBYMode()PWR_CR/SCB_SCR进入待机模式
HAL_PWR_EnableWakeUpPin()PWR_CSR使能WKUP管脚唤醒功能
__HAL_PWR_CLEAR_FLAG()PWR_CR清除PWR的相关标记
__HAL_RCC_PWR_CLK_ENABLE()RCC_APB1ENR使能电源时钟

五.低功耗模式的使用步骤

<一>.睡眠模式

  1. 初始化WKUP为中断触发源:参考外部中断引脚初始化;
  2. 外设低功耗处理(可选):设置MCU外围外设进入低功耗; 
  3. 进入睡眠模式:HAL_PWR_EnterSLEEPMode;
  4. 等待WKUP外部中断唤醒。

<二>.停止模式 

  1. 初始化WKUP为中断触发源:参考外部中断引脚初始化;
  2. 外设低功耗处理(可选):设置MCU外围外设进入低功耗; 
  3. 进入停止模式:HAL_PWR_EnterSTOPMode;
  4. 等待WKUP外部中断唤醒;
  5. 重新设置时钟、重新选择嘀嗒时钟源、失能systick中断。

<二>.待机模式  

注意:待机模式下 ,所有I/O引脚处于高阻态,除了复位引脚、被使能的唤醒引脚等;

           待机模式下,不能下载程序,必须退出待机模式才能下载。

  1. 初始化WKUP为中断触发源(可选):参考外部中断引脚初始化;
  2. 外设低功耗处理(可选):设置MCU外围外设进入低功耗; 
  3. 使能WKUP的唤醒功能:HAL_PWR_EnableWakeUpPin;
  4. 清除唤醒标记WUF:__HAL_PWR_CLEAR_FLAG;
  5. 进入待机模式:HAL_PWR_EnterSTANDBYMode。

六.代码

使用按键触发方式,KEY0进入睡眠模式,KEY1进入停止模式,KEY2进入待机模式,KEY_UP唤醒。(F1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值