一. 为什么要用超低功耗

在接触到嵌入式的时候,首先就是熟悉各个时钟线。每次拿到一个新的 STM32 板子都会用 CUBEMX 去把时钟配置到支持的最高频率,当然在最高频率下运行会得到最强的性能。最强的性能带来的也就是最高的功耗,在某些场景下,只能使用电池供电,就对功耗要求比较高了,比如智能穿戴,安装在野外的设备,我们不是时刻都需要让 MCU 运行在最高频率,这个时候就需要通过 MCU 来控制整个产品的功耗。

本系列文章以 STM32L4 系列来讲解。L0 比 L4 少两种停机模式。 STM32L1 没有 LPUART 和 LPTIM。L5 太高端没有板子。

二. 认识低功耗

本文资料全部来源于 ST 提供的资料

1. STM32L4 支持的最低功耗

参考手册:DS11449

2. STM32L4 支持低功耗模式

参考手册 :RM0394

支持的低功耗模式:

  • Sleep mode : 睡眠模式
  • Low-power run mode :低功耗运行模式
  • Low-power sleep mode :低功耗睡眠模式
  • Stop 0, Stop 1 and Stop 2 modes :3 种停止模式
  • Standby mode :待机模式
  • Shutdown mode :停机模式

再加上运行模式,则 STM32L4 支持的运行模式就是:9 种

三. 不同低功耗的区别

参考手册:RM0394

先看官方手册的说明

这个表格非常详尽的说明了各种模式下的 进入唤醒 方式,这里对几个不是经常看到的专业单词做以 简单 说明:

本解释尽可能的简介,难免存在解释不到位的情况,如需更详细的了解,请自行查阅资料。

名词 解释
WFI(Wait for interrupt) ARM 指令,等待中断,下一次中断发生前 MCU 停止不工作
WFE(Wait for event) ARM 指令,等待事件,下一次事件发生前 MCU 停止不工作
LPR(low-power regulator) 在 MCU 进入低功耗模式之后继续给 MCU 核心供电
MR(main regulator) 给 MCU 核心供电
LPMS(Low-power mode selection) PWR_CR1_LPMS 用来确定 MCU 进入哪种低功耗模式
MSI(Multispeedinternal RC oscillator) 功耗系列独有的时钟.精度不高,官方提供的例程中多以MSI作为时钟源

不同低功耗模式下的对比,参考 DS11449




不同的工作模式下,选择的电压调节器不一样也会导致功耗的不一样,这里以 sleep 模式来说明:
参考文档:RM0394

  1. MR range 1 :

    MCU 核心的供电电压是 1.2V ,最高可运行到 80MHZ

  2. MR range 2

    MCU 核心的供电电压是 1.0 V ,最高可运行到 26MHZ,通过 PWR_CR1 寄存器来配置

  3. SMPS range 2 High

    MCU 核心的供电电压高于是 1.08 V

  4. SMPS range 2 Low
    参考上图 :MCU 核心的供电电压高于是 1.05 V

SMPS模式,就是指芯片支持外接SMPS(Switching Mode Power Supply,开关电源)的给内核供电的意思。即
目前只是部分芯片封装支持可以关闭内部LDO而外接SMPS给内核供电。
注意事项参考:AN4978.

各种运行模式的切换,参考 RM0394

例如低功耗睡眠模式,唤醒之后不能立刻切换到,运行模式,唤醒之后运行在低功耗运行模式。所以低功耗睡眠模式 唤醒之后进入低功耗低功耗运行模式,然后再切换到运行模式。

四. 总结

  1. 熟悉上面的资料对 STM32 超低功耗就有一个基本的认识。
  2. 超低功耗是一个细活要一点一点扣,本文仅仅对 MCU 部分做了介绍
  3. 超低功耗是一个软硬件结合的工作,软件的逻辑,硬件的供电都会导致功耗的差异
  4. 本文有本人收集整理,如有错误欢迎指正。

STM32超低功耗入门之认识超低功耗相关推荐

  1. STM32学习——入门小项目

    博客地址:STM32学习--入门小项目 – Infinite's Blog 这个小项目是来自参加电设时,老师发的STM32入门(进阶)任务,具体的要求如下: 软件设计要求 编写简单I/O程序,能用板上 ...

  2. 单片机stm32LED流水灯C语言,STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)...

    STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二) 2019-04-26 13:21:48 19点赞 73收藏 19评论 写在前面的话:本篇是承接上一篇文章,属于小白向. 没看过的朋友点 ...

  3. STM32超低功耗入门之睡眠模式

    一. 认识睡眠模式 查看官方手册对睡眠模式的描述: 通过上图可以得出结论: 睡眠模式有 4 种电压调节器方案 在睡眠模式下 CPU 是停止状态 在睡眠模式下程序在 SRAM 执行情况下,Flash 可 ...

  4. STM32超低功耗入门之停止模式

    一. 认识停止模式 STM32L4 系列提供了 3 种停止模式:stop0 , stop1 , stop2. 功耗逐次更低. 通过上图可以得出结论: stop0 模式有 2 种电压调节器方案.stop ...

  5. STM32超低功耗入门之待机模式

    一. 认识待机模式 进入待机模式之后,唤醒 MCU 后程序不是从进入低功耗模式之后的下一行代码开始执行,而是重新启动了. 通过上图可以得出结论: 待机模式有 2 种电压调节器方案 待机模式下 CPU ...

  6. STM32超低功耗入门之关机模式

    一. 认识关机模式 进入关机模式之后,唤醒 MCU 程序不是从进入低功耗模式之后的下一行代码开始执行,而是重新启动了. 通过上图可以得出结论: 所有电压调节器都被关闭了 关机模式下 CPU 是停止状态 ...

  7. STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)

    文章目录 1.启动方式(Start up) 2.开发参考资料 2.1 STM32 中文参考手册 3.通常的芯片选型步骤 4.存储器和总线构架 4.1 系统构架 4.1.1 ICode 总线 4.1.2 ...

  8. 入门单片机选择51还是stm32?入门单片机有哪些好的教学视频?

    不知道大家还记不记得自己小学时候自己的梦想? 有人想成为医生.有人想成为医生,有人想成为飞行员,而我想成为发明家. 可能真是我这种想法,也导致我的性格从小就比较内向,毕业出来以后也从事技术. 人生的上 ...

  9. stm32单片机入门视频教程看哪个?一般用什么软件编程比较好?

    现在我们随便去招聘平台搜索"嵌入式工程师",有很多岗位要求都是需要STM32. 可见目前STM32市场之大,如果我们想从事这个嵌入式单片机开发这个工作,就必须要跟着市场走. 这也是 ...

  10. stm32编程入门_电子设计与单片机编程书籍资料推荐

    有些同学让我推荐些入门书籍,尝试写写: 注:请多看下目录与介绍,网络上也有一些读书笔记和推荐,自行判断是否符合现有层次和水平,再决定是否购买. 针对零基础.非专业的电子爱好者,我的推荐学习步骤是: 自 ...

最新文章

  1. Android 自定义View —— Path
  2. PHP-密码学算法及其应用-对称密码算法
  3. 创建Django项目和模型(创建工程、子应用、设置pycharm环境、使用Django进行数据库开发的步骤)
  4. 北大女生拿下阿里数学预赛第一名!决赛入围率不到1%,最小晋级选手只有14岁...
  5. sdut-1158 C语言实验——两个数最大
  6. 排序方法的分类 算法
  7. GIS中最短路径的实现
  8. Python 中的 os 模块常见方法?
  9. 数据可视化,带给你的惊艳并不止这一点!
  10. 入门机器学习(八)--神经网络参数的反向传播算法
  11. Cisco 2960密码恢复
  12. springboot pom.xml实战(com.mchange与c3p0配置)
  13. 微信投票作弊神器的制作代码
  14. hive对字段去除空格trim()函数
  15. 荐书 | 22本颠覆我们认知的思维方式(上)
  16. 博主眼中的SEM竞价推广
  17. 农委系统先进集体推荐报告_关于开展全省农林农经系统先进集体和先进工作者(劳动模范)评选推荐工作的通知...
  18. Qt绘制星空图及卫星视图坐标
  19. Python3安装PyQt5
  20. Android宠物寄养软件APP毕业设计

热门文章

  1. springboot+easypoi excel表格多个sheet导出
  2. stripe 海外支付
  3. 栈(LIFO)的存储
  4. java枚举类型学习笔记
  5. 捋一捋python日期时间处理(下)
  6. 我来学网络——WAN、LAN、MAN带表什么?
  7. 多项式计算的Horner方法
  8. sci结构及写作顺序
  9. 小宁百度了php一句话用菜刀,web学习01day攻防世界web简单题
  10. Unity内置Shader解读10——Self-Illumin/Bumped Diffuse