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

STM32电源管理笔记

[复制链接]
STMCU小助手 发布时间:2022-9-28 19:39
一、电源管理
" n+ {+ i6 C( Z, B$ B9 wSTM32 默认VDD供电引脚高于1.72V上电复位,低于1.68V掉电复位。
! r' [8 M5 v0 i  \* p) ^% S9 i" L# o2 R6 [6 Q9 @
20210302133131613.png
; @! H7 K5 @- |# D
# s2 ?$ o: A3 F0 p$ e  |7 Q上电电压和掉电电压值是可以配置的,通过修改选项字节,在程序运行前对flash的某些地址做了修改。. Z) ?& I1 G* j6 q4 J0 V
20210302133335993.png
* q& }) v3 x0 m1 J" ~
% k# Z! C' K  u; D' T可编程电压检测器 PVD,会向内核产生一个 PVD 中断(EXTI16 线中断)以使内核在复位前进行紧急处理,使在掉电前在中断中做一些紧急的数据处理。
: h5 p) i. u+ XSTM32 的电源系统:
8 R, q" h# o8 P0 J$ @) B6 P3 Q* r4 T" ~2 u& W$ b
20210302145921307.png
4 b' t1 U5 y8 }' d  i  L
# E/ J3 B0 c6 ^' K- I2 D7 e% N二、低功耗
. ?, W% X$ l, h' ~( K' V% I, P9 _6 |% DSTM32 具有运行、睡眠、停止和待机四种工作模式。低功耗平常能用到睡眠模式和停止模式。更多用到的是停止模式,WFI(wait for interrupt),因为中断基本上都是使能后触发,事件的话任意一个外设都有很多事件(比如串口的非空、空闲),睡眠模式就很容易就唤醒了。
6 w% G$ ~4 L" w% n2 I2 ?! f注意唤醒后默认使用的是内部HSI时钟,需要配置为外部HSE时钟。& D7 ~5 j& y8 u7 H/ S/ O

3 }, L) J8 K/ w( _1 s% U8 m' i 20210302141619142.png 5 h0 p; V9 p  F# M$ }# n

' U5 ^1 h% y0 n7 ?) Q2 R1、睡眠模式, c  f# n# m& }* \( L
在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设(GPIO、ADC…),CM4 核心的外设(NVIC、SysTick)全都还照常运行。3 N) e. L) k& A' c% X6 O4 L
有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是 WFI(wait for interrupt)和 WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。' J3 I+ J' ^! I
-比如,DMA_GetFlagStatus()是获取事件,DMA_GetITStatus是获取中断; m& j$ P4 W, p1 D4 w- A

6 W* V( w9 o8 e! M" g0 }$ V5 `7 F 20210302143535827.png 9 X1 r) l# ~& j9 y

; X3 l7 I7 Q) i3 d& e0 y# S9 |
  1.                 //进入睡眠模式
    7 j! K; C7 c; L- D% |
  2.                 HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);
复制代码
9 t3 ?3 V! ?% Z! [, g7 f
2、停止模式
) J8 P* t) r( u4 ^在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.2V 区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。7 U* I" L2 T  n, g
停止模式可以由任意一个外部中断(EXTI)唤醒。在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部 FLASH 工作在正常模式或掉电模式。
7 ?2 r7 V2 h4 t. z6 x; n停止模式关闭了晶振,因此唤醒时需要配置外部晶振,不然会使用内部晶振。8 |+ v# S0 R& Q( w' U. @
调压器可根据情况选择开启还是处于低功耗模式,如果想尽快唤醒,立刻相应外设,可以选择开启的状态。: Z) i: B; o( \2 n. X

' Z1 }  W0 e0 n5 S/ H! G7 f  D( q; F 20210302150323668.png
7 w. F1 ~0 u0 N. _+ [+ M/ |0 i7 r7 L  G! x3 L: ]" H8 F
  1.                 /* 进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒 */3 p1 l+ v6 K6 C0 j. ^3 R9 B
  2.                 HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);. O8 D1 g% d+ P( x1 [8 o- _3 `+ c/ T. F& ^
  3.                 /* 从停止模式唤醒后需要重新配置系统时钟:启用HSE、PLL*/
复制代码
1 O# @' h4 ^5 a- E1 Z1 H
3、待机模式
& C; N% ~1 b$ n( y待机模式,它除了关闭所有的时钟,还把 1.2V 区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行程序。相当于重启了,因此不常用。
/ U' b& c% }0 ]1 Y& c它有四种唤醒方式,分别是 WKUP(PA0)引脚的上升沿,RTC 闹钟事件,NRST 引脚的复位和 IWDG(独立看门狗)复位。$ X- k. [3 V) R9 v) \' I

" [6 |# M5 I; P7 i0 j* I$ n
9 @$ I- E+ g) u2 ?7 Y; vSTM32电源简图
' k$ a* Y" A; B* `
  }9 P3 ?  [- v5 ]9 V 20210305100424853.png
$ x7 F, F# R7 u' p
. V% g) ^3 T1 d0 wVDDA:ADC工作电源;
0 H' z" ^7 r2 HVSSA:ADC独立的地连接;. ~# u. F; ~& D8 M7 p7 H& J
VREF:引脚则为 ADC 提供测量使用的参考电压;
" L; v, |* Q8 G7 j! v& Y' L9 o& S' X) i5 G
VDD:1.8V 供电区域电源;& }2 ?9 l5 [+ W/ ]
VSS:1.8V 供电区域地;
% u' m5 f$ k' u) Y! f+ y
4 C( D! L2 w$ u$ _8 pVBAT:后备供电区域供电,一般此引脚还接着纽扣电池。: `& y; q6 @, {! ]
————————————————
- L; O/ {. R! |2 O版权声明:Davidysw
+ `1 g% D" {9 m1 _7 E) k. K/ W6 Y( n6 b9 |

7 H4 P7 K- ]9 y
收藏 评论0 发布时间:2022-9-28 19:39

举报

0个回答

所属标签

相似技术帖

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