STM32江科大-----PWR电源控制

声明:本人跟随b站江科大学习,本文章是观看完视频后的一些个人总结和经验分享,也同时为了方便日后的复习,如果有错误请各位大佬指出,如果对你有帮助可以点个赞小小鼓励一下,本文章建议配合原视频使用❤️
如果你也正在学习STM32可以订阅本专栏,后续将不定期更新( ˘ ³˘)❤️
如有侵权,请私信联系删除


文章目录


前言

  • 该部分代码主要是修改标准库自带的时钟函数,就不做代码演示
  • 知识较为简单,一般除了需要做空闲时间较长的项目很少用到,建议需要用到时候再看

理论部分

1.PWR简介

  • PWR低功耗模式主要的作用就是节省电量,比如说车钥匙这种,上电之后就会一直运行,但是其实大部分时间都是处于空闲状态没有使用,所以就有这个低功耗模式保证空闲状态时少消耗电量
  • 保证有一定的唤醒电路,比如串口中断唤醒之类的,因为如果一直处于低功耗模式不唤醒那和断电没有什么区别
  • 睡眠->停机->待机,依次关闭更多的硬件,更省电,但是唤醒越来越麻烦
  • 只有外部中断可以唤醒停止模式,像RTC这种自带的中断是不行的

2.PWR框图

  • 三个供电区域 :VBAT供电,VDD供电,VDDA(VDD Analog)模拟部分供电,1.8V供电区域
  • CPU,存储器外设没有与外界交流时都是以1.8V低电压运行,当交流时,就通过I/O电流转换到3.3V,待机电路则都是VDD3.3V供电
  • VBAT是备用电源,低电压检测器控制使用VDD供电还是备用电源供电

3.上电复位和掉电复位

这个图的意思是当VDD或者VDDA电压过低时会直接产生复位,产生复位的触发条件类似于施密特触发器,也就是高于上限阈值执行操作或者低于下限阈值执行操作,这里的上限阈值是POR(Power On Reset),下线阈值是PDR(Power Down Reset),这样设计是为了防止数据在40mv上下抖动而一直复位,POR和PDR的值可以看表,表如下:

下降沿也就是阈值下限,典型值为1.88V,上升沿也就是阈值上限,典型值为1.92V,差值就是40mV

4.可编程电压检测器PVD

  • PVD阈值可自定义调节,可选范围在2.2V到2.9V左右,上下限之间的迟滞电压是100mV,在上升沿或者下降沿触发中断提醒程序进行适当的处理

5.低功耗模式

  • 睡眠模式只需要调用WFI(Wait For Interrupt)或者WFE(Wait For Event)就能够进入,WFI唤醒只需要有中断就行,无论是外部中断还是自带的外设中断都行,唤醒后会进入中断函数,WFE只需要将外部中断配置为事件模式就行(或者使能中断不配置NVIC,这样唤醒后就是在睡眠的地方继续运行),这样唤醒后就不会进入中断函数而是处理事件
  • 进入低功耗模式之后会有两种操作一种是关闭时钟,一种是关闭电源,关闭电源更省电,电压调节器控制着1.8V电压区,如果关闭则断开1.8V的供电,数据会丢失,开始和低功耗都不会断开供电,
  • PDDS等于0进入停机模式,等于1进入待机模式
  • SLEEPDEEP置1才是停机或者待机模式
  • LPDS用于控制电压调节器,LPDS=0开启电压调节器,=1进入低功耗模式,开启更耗电但是唤醒更快,低功耗耗电少但是唤醒慢
  • 停机模式唤醒需要外部中断
  • 待机模式由于关闭了电源所以数据会丢失

模式选择

睡眠模式

  • GPIO在睡眠时任然保持原状态,比如在点灯后睡眠了,那么睡眠时灯任然是亮的
  • 唤醒后从暂停位置继续运行

停止模式

  • GPIO在停止时任然保持原状态,比如在点灯后停止了,那么停止时灯任然是亮的
  • 唤醒后从暂停位置继续运行
  • 停止模式时72MHZ时钟会被关闭,但是重新唤醒之后72MHZ的HSE并不会直接开启,而是默认使用8MHZ的HSI,所以唤醒之后第一件事就是要开启HSE,也就是再次调用一次SystemInit这个函数

待机模式

省电情况对比

相同电量的情况下,待机比停机差不多耐用10倍,停机比睡眠差不多耐用1000倍

具体参数看图如下:

相关推荐
晶振厂家-晶发电子2 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-187366133972 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
工大一只猿2 天前
51单片机学习
嵌入式硬件·学习·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
风_峰2 天前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
bing_feilong2 天前
STM32精准控制水流
单片机·嵌入式硬件
Hello_Embed3 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件