当前位置: 首页 > news >正文

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

声明:本人跟随b站江科大学习,本文章是观看完视频后的一些个人总结和经验分享,也同时为了方便日后的复习,如果有错误请各位大佬指出,如果对你有帮助可以点个赞小小鼓励一下,本文章建议配合原视频使用❤️

如果你也正在学习STM32可以订阅本专栏,后续将不定期更新( ˘ ³˘)❤️
如有侵权,请私信联系删除
在这里插入图片描述


文章目录

  • 前言
  • 理论部分
    • 1.PWR简介
    • 2.PWR框图
    • 3.上电复位和掉电复位
    • 4.可编程电压检测器PVD
    • 5.低功耗模式
      • 模式选择
      • 睡眠模式
      • 停止模式
      • 待机模式
      • 省电情况对比


前言

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

理论部分

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倍
具体参数看图如下:
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 机器学习中的对抗规范化:从问题到解决方案
  • 多模态思维链AI医疗编程:从计算可持续性到开放域推理的系统性解决方案
  • 自然语言处理的进化:BERT模型深度剖析
  • 现代c++获取linux系统磁盘大小
  • Linux搭建环境:从零开始掌握基础操作(四)
  • 详细解释MCP项目中安装命令 bunx 和 npx区别
  • Python爬虫第四战(使用防盗链下载视频)
  • Redux部分
  • 关于postman的使用(一)
  • JVM知识
  • oracle数据库单个表空间达到32G后程序报错表空间不足问题排查、处理
  • LeetCode详解之如何一步步优化到最佳解法:27. 移除元素
  • ubuntu20.04 Android14编译环境配置
  • Spring中IOC的重点理解(笔记)
  • Dify智能体平台源码二次开发笔记(6) - 优化知识库pdf文档的识别
  • 如何处理Python爬取视频时的反爬机制?
  • OTP认证系统解析与安当ASP身份认证解决方案
  • 全面排查与修复指南:MSVCP140.dll丢失的解决方法
  • 基于骨骼识别的危险动作报警系统设计与实现
  • Tomcat与Servlet
  • 第四章第二节网站建设的教学设计/推广之家官网
  • 莱芜新闻综合频道/搜索关键词优化排名
  • 做爰网站名称/百度seo营销
  • 网上做任务赚钱网站有哪些/seo服务外包报价
  • 厦门网站建设 智多星/seo推广优化
  • 足球网站建设/刷死粉网站推广