Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
STM32超低功耗
STM32超低功耗之认识超低功耗
发布于 2021-04-03 15:41:30 浏览:1493
订阅该版
[tocm] ### 一. 为什么要用超低功耗 在接触到嵌入式的时候,首先就是熟悉各个时钟线。每次拿到一个新的 STM32 板子都会用 `CUBEMX` 去把时钟配置到支持的最高频率,当然在最高频率下运行会得到最强的性能。最强的性能带来的也就是最高的功耗,在某些场景下,只能使用电池供电,就对功耗要求比较高了,比如智能穿戴,安装在野外的设备,我们不是时刻都需要让 `MCU` 运行在最高频率,这个时候就需要通过 `MCU` 来控制整个产品的功耗。 本系列文章以 `STM32L4` 系列来讲解。L0 比 L4 少两种停机模式。 STM32L1 没有 LPUART 和 LPTIM。L5 太高端没有板子。 ### 二. 认识低功耗 本文资料全部来源于 **ST** 提供的资料 ##### 1. STM32L4 支持的最低功耗 参考手册:DS11449 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/44f411dbcbf3b1b77160da35ee4df7743afccd4f.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) ##### 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 先看官方手册的说明 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/7a993888bc4414b8d8d75f2ed0684b21ddd086c3.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) 这个表格非常详尽的说明了各种模式下的 **进入** 与 **唤醒** 方式,这里对几个不是经常看到的专业单词做以 **简单** 说明: 本解释尽可能的简介,难免存在解释不到位的情况,如需更详细的了解,请自行查阅资料。 | 名词 | 解释 | | :-----------------------------------: | :----------------------------------------------------------: | | 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 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/a5d05b671d352e26750b81668f491eeb1e1e21a6.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/2a2a4af204e906d6f882811c419a9048ee96ddd3.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/d70eea025f0a39273fd484aedf0712d8fd1b6f8a.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) 不同的工作模式下,选择的电压调节器不一样也会导致功耗的不一样,这里以 **sleep** 模式来说明: 参考文档:RM0394 1. MR range 1 : ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/46eda5e5e7368a95c22c47915070d4f2e4c40ed5.png) MCU 核心的供电电压是 1.2V ,最高可运行到 80MHZ 2. MR range 2 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/2b03a1bb486aceef0f8b600d90cd75b1b0f50355.png) MCU 核心的供电电压是 1.0 V ,最高可运行到 26MHZ,通过 PWR_CR1 寄存器来配置 3. SMPS range 2 High ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/57a68c35f9538642a9f6d6f84b2f321f86a642f1.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) MCU 核心的供电电压高于是 1.08 V 4. SMPS range 2 Low 参考上图 :MCU 核心的供电电压高于是 1.05 V SMPS模式,就是指芯片支持外接SMPS(Switching Mode Power Supply,开关电源)的给内核供电的意思。即 目前只是部分芯片封装支持可以关闭内部LDO而外接SMPS给内核供电。 注意事项参考:AN4978. ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/53e31dab717a3e169d07a193e82c9265c913fea3.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) 各种运行模式的切换,参考 RM0394 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/ac46abdff92864986dd5035ab6fcef42106eba72.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) 例如低功耗睡眠模式,唤醒之后不能立刻切换到,运行模式,唤醒之后运行在低功耗运行模式。所以低功耗睡眠模式 唤醒之后进入低功耗低功耗运行模式,然后再切换到运行模式。 ### 四. 总结 1. 熟悉上面的资料对 STM32 超低功耗就有一个基本的认识。 2. 超低功耗是一个细活要一点一点扣,本文仅仅对 MCU 部分做了介绍 3. 超低功耗是一个软硬件结合的工作,软件的逻辑,硬件的供电都会导致功耗的差异 4. 本文有本人收集整理,如有错误欢迎指正。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
whj467467222
开源,分享,交流,共同进步
文章
32
回答
1222
被采纳
148
关注TA
发私信
相关文章
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部