STM32低功耗模式之待机模式

2019-11-13来源: eefocus关键字:STM32  低功耗模式  待机模式

上周完成了一个小项目,项目涉及到stm32的低功耗的待机模式,特在此记录下32的待机模式。


芯片:STM32f030F4


库:HAL库


唤醒方式:用RTC和PA0的上升沿唤醒


先来看下低功耗模式下的情况(只看停止跟待机):


停止模式


停止模式在保留SRAM和寄存器内容的同时实现了非常低的功耗。


1.8V域中的所有时钟停止,PLL、HSI RC和禁用HSE晶体振荡器。电压调节器也可以安装在正常或低功率模式。


该设备可以被任何一条exti线路从停止模式唤醒。


exti行源可以是16个外部行和rtc之一。


待机模式


待机模式用于实现最低功耗。内部关闭电压调节器,使整个1.8V域断电。


这个PLL、HSI RC和HSE晶体振荡器也关闭。


进入后待机模式、SRAM和寄存器内容丢失,但RTC域和备用电路中的寄存器除外。


当外部复位(NRST管脚)、IWDG复位时,设备退出待机模式。


Wkup管脚上的上升沿,或发生RTC事件。


可以看出待机模式跟停止模式差不多,其实功耗上停机配置的好的话也就比待机高一些,不过停止模式的唤醒方式的选择可以更自由,寄存器的数据也可以保存,所以我感觉停机模式更适合大多产品的需求,但是今天我只对待机模式的一些注意事项进行提出。


待机模式的进入很方便,只需要调用一句HAL_PWR_EnterSTANDBYMode()就可以进入待机模式了,待机模式唤醒就相当于复位,它之前的数据会全部丢失,所以要注意自己程序运行的时候,如有某些状态量一定要保存,那就保存进flash,唤醒的时候就去读取它。待机模式下所有IO口会处于高阻态,但不是说高阻态就是最省电的,跟电路设计还有一定的联系,当你进入待机发现电流跟手册上相差挺大的时候考虑下我的解决方法。


解决方法:其实这里可以考虑下把不使用的I/O口在休眠前都设置为模拟输入。原因:

额外的I/O电流消耗是由于I/O配置为输入,如果中间电压水平由外部施加。


这种电流消耗是由输入施密特引起的。


用于区分输入值的触发电路。除非此特定配置


根据应用程序的要求,可以通过配置这些I/O处于模拟模式。这是典型的ADC输入引脚的情况,应该是配置为模拟输入。

条件:典型和最大电流消耗


在以下条件下放置MCU:


•所有I/O引脚都处于模拟输入模式


•所有外围设备均被禁用,除非明确提及。


所以:官方其实也是在这个模式下测出的数据,实验证明,确实设置为模拟输入,电流跟手册上描写的差不多。


(也别忘了 __HAL_RCC_PWR_CLK_ENABLE();使能PWR时钟,这个能降功耗,唤醒之后要清除唤醒标志位)


如果功耗还是跟手册有区别,就要考虑供电电压,温度的影响。其实也可以通过供电电压的降低来降低功耗,STM32f030F4手册没有电压的对比,这里放下STM32F103C8的对比图:

 

要想让stm32进入更低功耗的状态,还需要考虑唤醒方式的种类和个数,比如在待机模式下,看门狗,RTC都是用内部40kHz的时钟,还有PA0外部中断的唤醒,如果全部模式都打开的话,功耗也会上升,所以要根据自己项目来设定唤醒模式,唤醒方式少一点,功耗就能低一点,总的来说就是这么些注意事项。


还有在使用RTC唤醒的时候要注意一下,如果你是cubeMx创建的工程每次唤醒RTC都是会重新初始化从0开始的计时的,这可能对一些人是好事,对一些人就不是那么好了,这个网上有很多解决方法,这里说一下闹钟的配置:

这里是要1小时唤醒一次,下面的配置就要设置上,要用到的设置为DISABLE,没用到的设置为ENABLE。


使用内部时钟的RTC时钟40KHz往往是不准的,所以你们可以自己去调节参数,让它秒中断跑的更精准。

大概就是这样了,低功耗待机模式总结下:


1、使能PWR时钟 __HAL_RCC_PWR_CLK_ENABLE();


2、配置I/O口为模拟输入


3、再进入待机模式


关键字:STM32  低功耗模式  待机模式 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479852.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm32单片机进入休眠(STOP)模式后无法下载程序等问题解决
下一篇:STM32低功耗模式---停机和待机模式

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

74LS164 for stm32 源码
:74LS164.c---------------------------------------------------------------------------------------------------------------------------------------------#include "stm32f10x.h"#include "stm32f10x_rcc.h"#include "stm32f10x_gpio.h"#include "74LS164.h"/* 延时模块82615468 sp-320-12 * */static void delay(u32 t){ u32 i; while(t--) for (i = 0; i < 1; i++);}void Ls164Init(void){ GPIO_InitTypeDef
发表于 2019-12-11
74LS164 for stm32 源码
STM32 SysTick定时器应用【worldsing笔记】
SysTick是CM内核独立的定时器,时钟可以用内核内部的,也可以用芯片厂家(ST)的时钟,参考《Cortex-M3权威指南》的第13章: 另外也可以考《STM32F10xxx Cortex-M3 programming manual.pdf》第4章CM3系统外设,从手册来看,ST应该只提供了内核外部时钟,而外部时钟又分成两种:HCLK/8 和 HCLK,  ST官方提供了库直接可以操作SYSTICK,但不同的版本使用起来有些区别: 在V2.0的版本中对SysTick的操作是使用的stm32f10x_systick.c和stm32f10x_systick.h void
发表于 2019-12-11
STM32 SysTick定时器应用【worldsing笔记】
Keil uCos 2.52 stm32 【worldsing笔记】
;    RevBit(LED_GPIO->ODR, 12)           /*LED 状态反转                              */ 2、stm32 Lib V3.5 
发表于 2019-12-11
stm32_CAN总线知识
一、CAN总线的特点:bxCAN主要特点● 支持CAN协议2.0A和2.0B主动模式● 波特率最高可达1兆位/秒● 支持时间触发通信功能发送● 3个发送邮箱● 发送报文的优先级特性可软件配置● 记录发送SOF时刻的时间戳接收● 3级深度的2个接收FIFO● 可变的过滤器组:─ 在互联型产品中,CAN1和CAN2分享28个过滤器组─ 其它STM32F103xx系列产品中有14个过滤器组● 标识符列表● FIFO溢出处理方式可配置● 记录接收SOF时刻的时间戳时间触发通信模式● 禁止自动重传模式● 16位自由运行定时器● 可在最后2个数据字节发送时间戳管理● 中断可屏蔽● 邮箱占用单独1块地址空间,便于提高软件效率双CAN● CAN1
发表于 2019-12-11
stm32_CAN总线知识
STM8L051F3_03_CLK应用
本文介绍STM8L的CLK相关知识。内容分为以下几部分:CLK简介系统时钟频率切换1、CLK简介STM8L051F3的时钟控制系统设计时非常稳定的,同时也很容易使用,它可以使得MUC在低消耗下获仍然保持优性能。用户可以通过管理分配到CPU&外设的时钟来达到降低功耗。STM8L051F3有一个安全无干扰的时钟切换机制允许用户切换系统时钟源,同时可以通过预分频器来控制系统时钟频率。时钟结构图如下:注:STM8L051F3的Peripheral Clock enable是13 bit,没有LCD外设STM8L051F3的系统时钟源有以下4种:16MHz内部高速(出厂已校准)RC时钟HSI1~16MHz外部高速振荡器时钟
发表于 2019-12-11
STM8L051F3_03_CLK应用
低功耗版STM8L051的一个诡异配置
为了做个低功耗项目,从最便宜的STM8S003切换到低功耗系列里较便宜的STM8L051;在STM8S003上调通了HALT休眠处理后,最低待机电流是67uA;用了STM8L051后,实测能到2uA;但是后来遇到个诡异的问题,TIMER4莫名其妙不动作,好像不计时了。开关中断,改初始化配置,都没用,很奇怪。最后发现,是init'初始化的时候,没有给TIMER4配置CLK时钟源,导致的,原来的代码并没有写TIM4,        CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);       
发表于 2019-12-11
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved