低功耗STM32L151+RTC唤醒应用总结
该文档是本人做一个睡眠+RTC唤醒的低功耗项目总结心得,如有出入请指出。
STM32L提供5种低功耗模式:低功耗运行模式、睡眠模式、低功耗睡眠模式、停止模式、待机模式。
待机模式电流最低,但是待机模式时MCU处于不受控制的状态,所有的IO都工作在高阻抗的状态下,只有几个专用的引脚能够将mcu唤醒,而且每次唤醒相当于系统复位,RAM中的数据全部丢失,在有外部器件连接的情况下,器件引脚可能会吸收大量的电流,反而达不到低功耗要求。所以最好别用待机模式。
待机模式时MCU有一些缺点,就选择了停止模式。停止模式的功耗仅次于待机模式。在STOP模式下,PLL、HSI、HSE都被停止,RAM和寄存器的值保留。
网上有些开发经验说,外部器件能用IO口供电的就尽量用IO口供电,在stop模式下,CPU的IO口的状态是保持的,这样外围器件的供电开关很容易控制。像外部存储芯片可以用IO口供电。有些外围芯片不适合用IO口供电的,像有些射频芯片,因为这些射频芯片上电启动要相当长的时间。(此经验未验证)
如果MCU外围有器件连接,且没有用IO供电,一定要将CPU与器件相连的IO口设置成适当的模式,否则这些引脚可能会吸收很大的电流。ST公司给的例程中建议设置成模拟输入,但是我MCU的IO口都设置成模拟输入功耗达不到理想要求。经过多次实验,总结为没有用到的IO口设置为模拟输入,有用到MCU的IO口要根据外围器件在MCU处于停止状态时的电平。外围器件高时,MCU在进入停止状态时,就设置输出模式,电平为高,反之设置为低。所以产品说明书中应该要注明当模块设置为休眠状态时,各个引脚的电平,客户如果用产品做二次开发时,他们自己MCU跟产品对接的IO电平要一致。
RTC唤醒时,在RTC中断中要清除一下标志; 在官方网的例子RTC唤醒时,RTC中断函数中没有清除唤醒标志位。调试分析:刚开始用官方例子时调试待机模式+RTC定时唤醒时,第一次进入RTC时功耗为3.多uA,第二次进入RTC时就5.8uA左右,以后都是5.8左右uA。每次进入RTC的初始化时一样,所以当时就觉得可能是在第一次退出RTC时,哪里没有处理好,经过多次调试,清除了唤醒标志位后,功耗就降下来。
低功耗STM32L151+RTC唤醒应用总结相关推荐
- STM32进入低功耗模式以及唤醒(RTC+中断)
此文献给做单片机工作的同僚,希望大家在嵌入式硬件的道路上越走越远,第一篇,望大家多多指导,不喜勿喷! 这里主要说一下,本人在调试STM32低功耗功能时遇到的问题以及解决思路与大家分享一下. 在确认使用 ...
- 【STM32笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)
[STM32笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_5340 ...
- 【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)
[极海APM32替代笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_ ...
- TM32L0系列之02 RTC唤醒待机模式
STM32L0系列之02 RTC唤醒待机模式 前言 使用芯片:STM32L051R8T6 软件平台:KEIL V5.STM32CubeL0 库函数:HAL 一.硬件介绍 1.单片机的系统时钟为:32M ...
- ADSP-BF706 低功耗模式及唤醒
最近在做这个工作,就先写这一片低功耗模式和唤醒方式. 在文档中,写有低功耗模式主要有两种: Deep sleep mode Hibernate mode 前者主要关闭内核和系统的时钟,当进入deep ...
- STM32开发笔记27:STM32L0低功耗设计——RTC模块1秒时钟的产生方法
单片机型号:STM32L053R8T6 在进行低功耗设计时,使用外部中断唤醒CPU是一个非常有用而且有效的方法,但是在某些特定的应用中,我们还希望CPU能够自己醒来去完成一些特定的操作,这就需要用到R ...
- STM32-(33):低功耗模式与唤醒
上一篇:STM32-(32):窗口看门狗 下一篇:STM32-(34):DMA传输控制(理论) 功耗管理 很多单片机都有低功耗模式,STM32也不例外.在系统或电源复位以后,微控制器处于运行状态.运行 ...
- 低功耗产品休眠唤醒电池用电功耗计算
嵌入式小型低功耗产品电池使用时间计算 原文链接:https://blog.csdn.net/liangcsdn111/article/details/89873898 电池功耗计算 根据低功耗产品耗电 ...
- GD32低功耗:深度睡眠唤醒系统时钟变慢问题
一.问题 1.进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢. 2.进入休眠模式,通过任何中断唤醒,系统时钟正常. 二.原因 1.从电源管理章节可知,睡眠模式下使用没有什么需要需要注意的,在使能P ...
- 上海域格 1803/1603 平台模块低功耗普通休眠唤醒方法
1.1 USB 支持 suspend/resume 当主机支持 suspend/resume 时, 可通过以下方式对模块进行休眠唤醒操作. 休眠流程: 发送命令 AT+CSCLK=1 使能模块休眠 ...
最新文章
- css中“[]”、“”“~”、“,”、“+”和“”详解
- LeetCode--485
- spark2.2读写操作hive和mysql数据库
- 新的GNSS精度度量是怎样定义的?
- Python Tensorflow神经网络实现股票预测
- java修饰类的关键字_JAVA中的修饰关键字
- 关于public class 类名{ public static void main(String[] args)}的一些说明
- 编译安装MongoDB以及安装PHP的mongodb扩展
- 设计类超实用的导航网站,一网包含1000+个行业内热门资讯灵感源!
- windows内核——基石
- ArrayList源码分析--底层扩容机制
- pm2 启动 Node + TS 项目
- windows2016服务器优化,Windows server 2016系统基本优化设置
- jsp通过<%@include file=“bottom.txt“ %>指令引入txt乱码的解决方法
- KNIME + Python = 数据分析+报表全流程
- POJ 2671 Jimmy's Bad Day ★ (区间DP)
- JAVA设计模式之——抽象工厂模式
- CoreDNS 的插件使用说明
- Ubuntu防火墙的开启、关闭、查看
- eclipse的工作空间如何复制