你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

《STM32学习笔记》之电源管理及低功耗设计要点

[复制链接]
STMCU-管管 发布时间:2020-2-26 12:39
一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现。

% ~. d, i( a% X! z  D5 g, q; A7 I+ n
STM32电源介绍
6 R) O7 A# s% A6 S; m
每一块STM32芯片中都有一个电源控制器(PWR),不同系列的STM32有相似,也有差异。
2 \* n0 _5 K4 D) h, g2 z
1.电压
绝大部分STM32的电压要求介于1.8 V 到 3.6 V 之间,嵌入式线性调压器用于提供内部1.2 V 数字电源。

( B) X; t  i% P2 P" d! d) _
2.类型
STM32的电源通常分为三类:数字电源、模拟电源、备份电源。
数字电源:VDD也是其主电源,主要用于数字部分;
模拟电源:VDDA用于模拟部分的电源,比如ADC,这样可以单独滤波并屏蔽 PCB 上的噪声。
备份电源:VBAT用于备份区域的电源,比如RTC、备份SRAM等,一旦主电源断开,VBAT可以为这些区域提供电源。
# u0 v; L" P% Y! h( R0 q5 t
11.jpg

) O7 I7 b4 R3 g; X
3.调压器
多数STM32都有电源调节器(有些型号没有),为备份域和待机电路以外的所有数字电路供电,调压器输出电压约为 1.2 V。
运行模式:调压器为 1.2 V 域(内核、存储器和数字外设)提供全功率。
停止模式:调压器为 1.2 V 域提供低功率,保留寄存器和内部 SRAM 中的内容。
待机模式:调压器掉电。除待机电路和备份域外,寄存器和 SRAM 的内容都将丢失。

* |: H$ }5 S+ f9 |3 U6 f
STM32的低功耗模式

( v6 P; C9 e# H' m: U
STM32的工作模式通常可分为4类:运行模式、睡眠模式、停止模式、待机模式。根据STM32类型不同,可将工作模式进一步划分。比如STM32L低功耗系列,睡眠模式可进一步划分为:普通睡眠模式和低功耗睡眠模式。
3 V, h% i+ ~; X1 s, I* @
· 以STM32F4为例:
· 运行模式:默认进入该模式;
· 睡眠模式:内核停止,外设保持运行
· 停止模式:所有时钟都停止
· 待机模式:1.2 V 域断电
# B" I; y; ~) ~7 g1 F$ I6 }
22.jpg
STM32低功耗设计要点

9 C8 N$ p9 H- n6 {
STM32低功耗通常会结合项目实际情况,以及应用场景来进行针对性设计。以下面几个案例来进行说明。
/ P$ J7 x8 q/ u5 b: q2 g' w
案例一:有工程师提到:STM32F103 进入STOP 模式后无法通过串口唤醒 ?
分析原因:这位工程师对低功耗唤醒机制理解有误:STM32进入 STOP 模式后不能直接通过 UART 等中断外设唤醒, 只能通过 EXTI 外部中断方式唤醒。
解决办法:我们可以在 MCU 进入STOP 前将 RX 脚设为 EXTI 模式,并使能对应的中断来实现。
4 ]' f4 p# i. g0 y9 p% G5 j
案例二:有工程师提到:STM32F051进入低功耗之后,实际功耗远大于理想功耗。
分析原因:造成问题的原因可能是工程师通过直接调用“停止模式”,进入低功耗,但部分IO外部有上拉电阻,进入低功耗之前未做调整,导致功耗偏大。
解决办法:进入低功耗之前,对使用和未使用IO状态进行调整。比如有外部上拉,可配置成模拟输入等。

* }' b' j" B  {: H- t! L1 Y2 x
案例三:有工程师提到:通过按键唤醒STM32F103,串口不能正常工作?
分析原因:经分析发现,开发者进入的低功耗模式为待机模式,唤醒之后,未初始化串口外设,导致串口不能正常工作。在待机模式下,所有外设都关闭,意味着所有外设配置都为默认值。
解决办法:唤醒STM32之后,重新初始化串口(以及所有使用的)外设。
复盘一下
▼电源基础知识:需要掌握电源电压、类型、调节器;
▼低功耗模式:有四种,运行模式、睡眠模式、停止模式、待机模式
▼低功耗设计要点:避免因基础原理导致的错误。

/ K$ ~7 x6 v) a% H  z
5 E; b! L( J3 ]2 s  e/ f
# n; e! F  d) m1 ~+ H3 v7 C6 q
收藏 2 评论4 发布时间:2020-2-26 12:39

举报

4个回答
tansft 回答时间:2020-2-26 13:46:09
不错哦
eyekey 回答时间:2020-2-26 16:36:07
好好,学习了
baobo 回答时间:2020-2-27 07:28:06
签到
liqiong2012 回答时间:2020-2-27 10:23:06
你好,最近刚在弄STM32F051低功耗,没有用当配置模拟输入,用的外设休眠前都反初始化了,然后拉低,但是功耗还是很高260ua左右,
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版