STM32 电源控制PWR

2024-04-30 20:04
文章标签 stm32 控制 电源 pwr

本文主要是介绍STM32 电源控制PWR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、PWR电源控制

1.1 PWR(Power Control

PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器低功耗模式的功能

可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务

低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间

在三种低功耗模式下,第二次下载程序方法:长按复位键,之后点击下载按钮,及时松开复位键

1.2 电源框图

STM32 的工作电压 (V DD ) 2.0 3.6V 。通过内置的电压调节器提供所需的 1.8V 电源。
当主电源 V DD 掉电后,通过 V BAT 脚为实时时钟 (RTC) 和备份寄存器提供电源

VDDA(VDD Analog,模拟部分供电):A/D转换器(参考电压VREF)、温度传感器、复位模块、PLL(锁相环)

VDD(数字电路供电):I/O电路(待机电路、电压调节器)

VBAT(备份区域供电):LSE、后被寄存器BSK、RCC BDCR寄存器(备份域控制寄存器)、RTC

电压调节器:为1.8V区域供电

复位后调节器总是使能的。根据应用方式它以 3 种不同的模式工作。
● 运转模式:调节器以正常功耗模式提供 1.8V 电源 ( 内核,内存和外设 )
● 停止模式:调节器以低功耗模式提供 1.8V 电源,以保存寄存器和 SRAM 的内容。
● 待机模式:调节器停止供电。除了备用电路和备份域外,寄存器和 SRAM 的内容全部丢失。

低电压检测器:VDD有电时由VDD为后备区域供电,VDD没电时由VBAT为后备区域供电

1.3 上电复位和掉电复位

上电复位和掉电复位:VDD/VDDA低于指定的限位电压VPOR/VPDR时,系统保持为复位(低电平有效)状态,不需外部复位电路

1.4 可编程电压监测器PVD

功能:用于执行紧急关闭任务

使用方法:寄存器 (PWR_CR) 中的 PLS[2:0] 位进行比较来监控电源,这几位选择监控电压的阀值。
通过设置 PVDE 位来使能 PVD
寄存器 (PWR_CSR) 中的 PVDO 标志用来表明 V DD 是高于还是低于 PVD 的电压阀值。
当V DD 下降到 PVD 阀值以下和 ( ) V DD 上升到 PVD 阀值之上时,根据外部中断第16 线的上升 / 下降边沿触发设置,就会产生 PVD 中断。

二、低功耗模式

CPU 不需继续运行时,可以利用多种低功耗模式来节省功耗,例如长时间等待某个外部事件
STM32F103C8T6 三种低功耗模式:
● 睡眠模式 (Cortex-M3 内核停止,所有外设包括 Cortex-M3 核心的外设,如 NVIC 、系统时
(SysTick) 等仍在运行 )
● 停止模式 ( 所有的时钟都已停止 )
● 待机模式 (1.8V 电源(电压调节器)关闭 )
此外,在运行模式下,可以通过以下方式中的一种降低功耗:
● 降低系统时钟((SYSCLK)(SystemInit():首先开启HSI,恢复寄存器的缺省配置,之后根据不同的宏,配置相关寄存器,得到既定的时钟频率
● 关闭 APB AHB总线上未被使用的外设时钟(HCLK:AHB的时钟、 PCLK1 PCLK2:APB的时钟)
WFI:Wait For Interrupt等待中断,一般醒来之后处理中断
WFE:Wait For Event等待事件,直接从睡得地方继续运行
低功耗模式判断:配置响应寄存器后,通过调用__WFI()或__WFE()后,进入低功耗模式
SLEEPDEEP和SLEEPONEXIT位于系统内核,只能操作相关寄存器,没有相关函数
PDDS和LPDS位于PWR外设,可以使用相关库函数

2.1 睡眠模式

进入:通过执行 WFI WFE 指令进入睡眠状态
退出:
如果执行 WFI 指令进入睡眠模式,任意一个被嵌套向量中断控制器响应的外设中断都能将系统从
睡眠模式唤醒。
如果执行 WFE 指令进入睡眠模式,则一旦发生唤醒事件时,微处理器都将从睡眠模式退出。唤
醒事件可以通过下述方式产生:

2.2 停止模式

在停止模式下,通过设置电源控制寄存器 (PWR_CR) LPDS 位使内部调节器进入低功耗模式,
能够降低更多的功耗。
如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。
如果正在进行对 APB 的访问,直到对 APB 访问完成,系统才进入停止模式
程序默认时钟是HSE通过PLL得到72MHz, 当退出停止模式后,HSI作为系统时钟。为了避免前后时钟频率不一致 ,在进入停止模式的指令后,调用SystemInit()
可选择的其他功能

2.3 待机模式

2.4 低功耗模式下的自动唤醒(AWU)

这篇关于STM32 电源控制PWR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949795

相关文章

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放