该文档是本人做一个睡眠+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唤醒应用总结相关推荐

  1. STM32进入低功耗模式以及唤醒(RTC+中断)

    此文献给做单片机工作的同僚,希望大家在嵌入式硬件的道路上越走越远,第一篇,望大家多多指导,不喜勿喷! 这里主要说一下,本人在调试STM32低功耗功能时遇到的问题以及解决思路与大家分享一下. 在确认使用 ...

  2. 【STM32笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

    [STM32笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_5340 ...

  3. 【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

    [极海APM32替代笔记]低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) [STM32笔记]低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_ ...

  4. TM32L0系列之02 RTC唤醒待机模式

    STM32L0系列之02 RTC唤醒待机模式 前言 使用芯片:STM32L051R8T6 软件平台:KEIL V5.STM32CubeL0 库函数:HAL 一.硬件介绍 1.单片机的系统时钟为:32M ...

  5. ADSP-BF706 低功耗模式及唤醒

    最近在做这个工作,就先写这一片低功耗模式和唤醒方式. 在文档中,写有低功耗模式主要有两种: Deep sleep mode Hibernate mode 前者主要关闭内核和系统的时钟,当进入deep ...

  6. STM32开发笔记27:STM32L0低功耗设计——RTC模块1秒时钟的产生方法

    单片机型号:STM32L053R8T6 在进行低功耗设计时,使用外部中断唤醒CPU是一个非常有用而且有效的方法,但是在某些特定的应用中,我们还希望CPU能够自己醒来去完成一些特定的操作,这就需要用到R ...

  7. STM32-(33):低功耗模式与唤醒

    上一篇:STM32-(32):窗口看门狗 下一篇:STM32-(34):DMA传输控制(理论) 功耗管理 很多单片机都有低功耗模式,STM32也不例外.在系统或电源复位以后,微控制器处于运行状态.运行 ...

  8. 低功耗产品休眠唤醒电池用电功耗计算

    嵌入式小型低功耗产品电池使用时间计算 原文链接:https://blog.csdn.net/liangcsdn111/article/details/89873898 电池功耗计算 根据低功耗产品耗电 ...

  9. GD32低功耗:深度睡眠唤醒系统时钟变慢问题

    一.问题 1.进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢. 2.进入休眠模式,通过任何中断唤醒,系统时钟正常. 二.原因 1.从电源管理章节可知,睡眠模式下使用没有什么需要需要注意的,在使能P ...

  10. 上海域格 1803/1603 平台模块低功耗普通休眠唤醒方法

    1.1 USB 支持 suspend/resume 当主机支持 suspend/resume 时, 可通过以下方式对模块进行休眠唤醒操作. 休眠流程:  发送命令 AT+CSCLK=1 使能模块休眠 ...

最新文章

  1. css中“[]”、“”“~”、“,”、“+”和“”详解
  2. LeetCode--485
  3. spark2.2读写操作hive和mysql数据库
  4. 新的GNSS精度度量是怎样定义的?
  5. Python Tensorflow神经网络实现股票预测
  6. java修饰类的关键字_JAVA中的修饰关键字
  7. 关于public class 类名{ public static void main(String[] args)}的一些说明
  8. 编译安装MongoDB以及安装PHP的mongodb扩展
  9. 设计类超实用的导航网站,一网包含1000+个行业内热门资讯灵感源!
  10. windows内核——基石
  11. ArrayList源码分析--底层扩容机制
  12. pm2 启动 Node + TS 项目
  13. windows2016服务器优化,Windows server 2016系统基本优化设置
  14. jsp通过<%@include file=“bottom.txt“ %>指令引入txt乱码的解决方法
  15. KNIME + Python = 数据分析+报表全流程
  16. POJ 2671 Jimmy's Bad Day ★ (区间DP)
  17. JAVA设计模式之——抽象工厂模式
  18. CoreDNS 的插件使用说明
  19. Ubuntu防火墙的开启、关闭、查看
  20. eclipse的工作空间如何复制

热门文章

  1. Arcgis计算矢量数据的面积
  2. godot python_godot新手教程2[godot常用代码用法]
  3. 西门子PLC指令寻址方式
  4. 【新手必看】C语言开发环境,请查收!
  5. 手机APP/小程序微模卡源码下载,开源开心免费开心
  6. 教育研究方法 的思维导图
  7. 基于vue3.0的ionic中文开发文档
  8. 接口测试一般怎么测?接口测试的流程和步骤~
  9. JS实现数据库连接并查询
  10. Max Script|操作材质编辑器