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

STM32电源管理笔记

[复制链接]
STMCU小助手 发布时间:2022-9-28 19:39
一、电源管理
# m+ \. }$ A/ {9 t6 n# a9 ASTM32 默认VDD供电引脚高于1.72V上电复位,低于1.68V掉电复位。
: l, g7 v) Y4 s. j8 ~& h* E6 j
0 Z" I' ^& m: |7 a) P 20210302133131613.png " j, u! U3 B- H/ v" r# P
, x# \. R! ^3 w! p3 X
上电电压和掉电电压值是可以配置的,通过修改选项字节,在程序运行前对flash的某些地址做了修改。
; z0 |6 {7 H/ `5 ]% `9 K/ k9 X" _ 20210302133335993.png ( L2 O( {! h5 T/ Z; @, M* t; e/ Z

2 I5 l6 n4 J* N! m8 e' }可编程电压检测器 PVD,会向内核产生一个 PVD 中断(EXTI16 线中断)以使内核在复位前进行紧急处理,使在掉电前在中断中做一些紧急的数据处理。
! G* p. p+ m- X3 o: `3 V- V7 Z3 |STM32 的电源系统:
+ \) i8 n, ?+ ^- a
- y8 r0 i9 _0 O. h% m 20210302145921307.png
; i* u3 O# \  }' I) E2 O8 m+ f2 `: C+ Y8 ]0 l
二、低功耗
: [% z9 Y/ c3 o0 @6 O1 U! kSTM32 具有运行、睡眠、停止和待机四种工作模式。低功耗平常能用到睡眠模式和停止模式。更多用到的是停止模式,WFI(wait for interrupt),因为中断基本上都是使能后触发,事件的话任意一个外设都有很多事件(比如串口的非空、空闲),睡眠模式就很容易就唤醒了。; _, ?9 e6 Z2 l( R, C
注意唤醒后默认使用的是内部HSI时钟,需要配置为外部HSE时钟。0 m9 [* w" q. I; |5 n. G, p
3 H0 v* c  a+ k. P% j4 [
20210302141619142.png . g! J* ]" l: j4 T
- h% s: u7 `3 Q# ]+ f9 Y1 Y5 n# G
1、睡眠模式4 @* I" R3 O& h6 y. `
在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设(GPIO、ADC…),CM4 核心的外设(NVIC、SysTick)全都还照常运行。
( I5 e7 n. L( b5 U  y& \有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for interrupt)和 WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。* E& ?# X$ {' ]" M! `4 K0 q
-比如,DMA_GetFlagStatus()是获取事件,DMA_GetITStatus是获取中断
( D& V3 R" a, g& r% ^8 V3 j, v# J7 U9 ~& o$ K) F/ ~: P, I
20210302143535827.png 6 I  V0 C+ q- n; ?* Y9 o  R
4 N5 J& E# Y) e8 Q" {
  1.                 //进入睡眠模式
    $ {* O7 {; o0 M8 A  Q
  2.                 HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);
复制代码
2 ?! X& Q$ u1 j, t) z
2、停止模式
( {! W# v0 j% a% `; g- i, Q- {在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.2V 区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。
  U& _. ?$ C6 n" b停止模式可以由任意一个外部中断(EXTI)唤醒。在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部 FLASH 工作在正常模式或掉电模式。4 R4 ^* c5 L6 j" ^3 D9 r+ ?
停止模式关闭了晶振,因此唤醒时需要配置外部晶振,不然会使用内部晶振。* ?! e2 e1 e) H6 m# c
调压器可根据情况选择开启还是处于低功耗模式,如果想尽快唤醒,立刻相应外设,可以选择开启的状态。
& V- M3 b9 ^" N, l  ~' \9 S
. R0 t: `! A. l2 Q+ T" l 20210302150323668.png + _: U4 K3 D" E9 j: k1 [& r

+ T7 W) J4 E$ f# {, p- j4 @
  1.                 /* 进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒 */
    9 ~" y, f" |& o; w
  2.                 HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);
    6 \; _( y. A# l% z4 v7 t
  3.                 /* 从停止模式唤醒后需要重新配置系统时钟:启用HSE、PLL*/
复制代码
! P. P3 o! R0 M$ x) Q
3、待机模式
+ L% U/ w! a& z# m待机模式,它除了关闭所有的时钟,还把 1.2V 区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行程序。相当于重启了,因此不常用。
0 B1 Y* G, m, J5 a它有四种唤醒方式,分别是 WKUP(PA0)引脚的上升沿,RTC 闹钟事件,NRST 引脚的复位和 IWDG(独立看门狗)复位。
! T$ C* r! M7 S# b( ?2 Z: X
* A7 \! R  ^- u, i+ M9 r
+ q/ y, l1 g0 L. A/ |% N3 v5 cSTM32电源简图
% F. J9 S% H1 ?' r; _6 }
0 l9 {% O$ K/ r* |3 z 20210305100424853.png & G! C7 E: G- ]# c: F" J

- l) k  T" f6 }% _* _+ w8 zVDDA:ADC工作电源;
- I' R; E" [  i" _5 HVSSA:ADC独立的地连接;6 |0 a" O) u  Z! `8 ?/ {' U
VREF:引脚则为 ADC 提供测量使用的参考电压;4 w: \5 s' u: B9 p0 B' [6 j

" N9 j9 t7 b2 p  n& KVDD:1.8V 供电区域电源;0 o; x$ G0 T3 G4 u$ b, l0 s
VSS:1.8V 供电区域地;+ ?* m$ A# C/ ~+ Z/ N
2 T, Q7 t1 Z3 N" Q/ A* H2 Y
VBAT:后备供电区域供电,一般此引脚还接着纽扣电池。5 _7 Q( d1 [4 W) d
————————————————! B7 m- v3 o& M2 P. n+ u1 K7 B
版权声明:Davidysw' F* I( S9 V5 `- d7 k, Q
3 z4 V  W4 \2 P4 m9 E

; K! q/ W  F* B$ h# W* o
赞 收藏 评论0 发布时间:2022-9-28 19:39

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版