PWR电源控制

2023-11-10 08:00
文章标签 控制 电源 pwr

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

PWR电源简介:

  1. PWR(Power Control)电源控制
  2. PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器低功耗模式的功能

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

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

电源框图:

黑色部分:模拟部分供电,叫作VDDA(VDD Analog)

VDDA供电区域,主要负责模拟部分的供电,其中包括AD转换,温度传感器,复位模块,PLL锁相环。

这些电路供电正极是VDDA,负极是VSSA

红色部分:数字部分供电,包括两块区域,VDD供电区域

1.8V供电区域

左边的VDD供电区域,包括IO电路,待机电路,唤醒逻辑和独立看门狗。

右边部分是VDD通过电压调节器,降压到1.8V,提供给后面的1.8BV供电区域,其中包括CPU核心,存储器,内置数字外设

蓝色部分:后备供电,叫作VBAT(V Battery)

包括LSE 32K晶体震荡器。后备寄存器,RCC BDCR(备份域控制寄存器)和RTC

  1. 电压检测
  1. 上电复位/掉电复位

这个意思是:当VDD或VDDA电压过低时,内部电路直接产生复位,让STM32复位住,不要乱操作。

这个复位和不复位的界限之间设置了一个40mv的迟滞电压,大于上限POR(Power On Reset)时解除复位,小于下限(Power Down Reset)时复位。

这是一个典型的迟滞比较器,设置阈值的作用,就是防止电压在某个阈值附近波动时,进行复位操作。

在手册中阈值电压分别是1.88V和1,92V,迟滞电压刚好0.4V

  1. 可编程电压检测器(PVD):

它(PVD)的工作流程和上面的上电、掉电复位差不多,都是检测VDD和VDDA供电电压。

但时PVD的区别是:

首先它的阈值电压是可以使用程序指定的,可以自定义调节。

*所以这两个总结一下就是:

3.3v是正常供电,当电压降低,然后在2.2v~2.9v之间,属于PVD的监测范围,可以通过PVD设置一个警告线,之后再降低到1.9v

就是到了复位电路的监测范围,低于1.9v,直接复位住,不让动了。这就是这两个电压检测的工作任务。

  

WFI(Wait For Interrupt、等待中断)

WFE(Wait For Event、等待事件)

介绍中断模式和事件模式:

中断触发响应方式:中断响应/事件响应

中断响应:引脚变化触发中断。

事件响应:不会触发中断,而是触发其他外设操作,属于外设之间的联合工作。

  1. 睡眠模式(一般省电)

进入方法:直接调用WFI(Wait For Interrupt、等待中断)或者WFE(Wait For Event、等待事件),即可进入

唤醒条件

WFI的对应唤醒事件是任一中断(任何设备发生任何中断时,芯片都会立刻醒来)。

WFE对应的唤醒事件是产生唤醒事件(就是中断的事件模式)既可以立刻醒来。

睡眠模式的主要作用

把CPU时钟关闭,程序暂停运行,寄存器数据还在,且较容易唤醒。

  1. 停机模式(非常省电)

进入方法

首先,SLEEPDEEP位设置为1

然后,PDDS位用来区分它是停机模式还是待机模式,PDDS=0进入停机模式,PDDS=1进入待机模式。

接着,LPDS位用来设置最后这个电压调节器,是开启,还是进入低功耗模式,LPDS=0,电压调节器开启,LPDS=1,电压调节器进入低功耗

最后当我们把这些位设置好了,直接调用WFI或WFE,芯片就可以进入停止模式了

唤醒条件:

普通中断无法唤醒,只能是其中任一外部中断可以唤醒。

停止模式的主要操作是

把运行的高速时钟都关了,CPU和外设,都暂停工作,但是电压调节器并没有关,存储器和寄存器数据可以维持原样;不过唤醒条件比较苛刻,只能通过外部中断唤醒。

  1. 待机模式(极为省电)

进入方法:

首先,SLEEPDEEP也是置1,

然后PDDS置1,表示将进入待机模式

最后调用WFI或者WFE,就可以进入待机模式了

唤醒条件:

只有特定的信号才能唤醒

WKUP引脚的上升沿、NRST引脚上的外部复位(就是按下复位键)、RTC闹钟事件、IWFG独立看门狗复位

待机模式的主要操作

把能关的全部关掉,配合RTC和独立看门狗的低速时钟,也可以正常工作。

模式选择图:

上面的树结构是对以上三种模式选择的判断流程的总结;

WFI(等待中断) WFE(等待事件)

介绍中断的中断模式和事件模式

中断触发响应方式:中断响应/事件响应

中断响应:引脚变化触发中断。

事件响应:不会触发中断,而是触发其他外设操作,属于外设之间的联合工作。

以上是我自己对三种模式的理解;

以下是UP主对三种模式的理解:

  1. 睡眠模式:
  1. 执行完WFI/WFE指令后,STM32进入睡眠模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
  2. SLEEPONEXIT位决定STM32执行完WFI或WFE后,是立刻进入睡眠,还是等STM32从最低优先级的中断处理程序中退出时进入睡眠
  3. 在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态
  4. WFI指令进入睡眠模式,可被任意一个NVIC响应的中断唤醒
  5. WFE指令进入睡眠模式,可被唤醒事件唤醒

  1. 停止模式
  1. 执行完WFI/WFE指令后,STM32进入停止模式,程序暂停运行,唤醒后程序从暂停的地方继续运行
  2. 1.8V供电区域的所有时钟都被停止,PLL、HSI和HSE被禁止,SRAM和寄存器内容被保留下来
  3. 在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态
  4. 当一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟
  5. 当电压调节器处于低功耗模式下,系统从停止模式退出时,会有一段额外的启动延时
  6. WFI指令进入停止模式,可被任意一个EXTI中断唤醒
  7. WFE指令进入停止模式,可被任意一个EXTI事件唤醒

  1. 待机模式:
  1. 执行完WFI/WFE指令后,STM32进入待机模式,唤醒后程序从头开始运行
  2. 整个1.8V供电区域被断电,PLL、HSI和HSE也被断电,SRAM和寄存器内容丢失,只有备份的寄存器和待机电路维持供电
  3. 在待机模式下,所有的I/O引脚变为高阻态(浮空输入)
  4. WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位退出待机模式

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



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

相关文章

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

【电机控制】数字滤波算法(持续更新)

文章目录 前言1. 数字低通滤波 前言 各种数字滤波原理,离散化公式及代码。 1. 数字低通滤波 滤波器公式 一阶低通滤波器的输出 y [ n ] y[n] y[n] 可以通过以下公式计算得到: y [ n ] = α x [ n ] + ( 1 − α ) y [ n − 1 ] y[n] = \alpha x[n] + (1 - \alpha) y[n-1]

OpenStack离线Train版安装系列—3控制节点-Keystone认证服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版