MCU电源控制(PWR)与低功耗

目录

一、STM32 的内核和外设电源系统管理:

二、MCU电源监控:

三、三种低功耗模式:

1、睡眠模式:

2、停止模式:

3、待机模式:


一、STM32 的内核和外设电源系统管理:

电池备份区域(后备供电区域) 

        电池备份区域也就是后备供电区域,使用电池或者其他电源连接到 VBAT 脚上,当 VDD断电时,可以保存备份寄存器的内容和维持 RTC 的功能。同时 VBAT 引脚也为 RTC、 SRAM 和 LSE振荡器供电,这保证了当主要电源被切断时, RTC 能够继续工作。切换到 VBAT 供电由复位模块中的掉电复位功能控制。 

电压调节器(VDD /1.2V 供电区域)

        嵌入式线性调压器为备份域和待机电路以外的所有数字电路供电调压器输出电压约为1.2 V。此调压器需要将两个外部电容连接到专用引脚 VCAP_1 和 VCAP_2,所有封装都配有这两个引脚。为激活或停用调压器,必须将特定引脚连接到 VSS 或 VDD。具体引脚与封装有关。通过软件激活时,调压器在复位后始终处于使能状态。

        根据应用模式的不同,可采用三种不同的模式工作。 在运转模式下,调节器以正常工号模式为内核、内存和外设提供 1.2V;在停止模式下,调节器以低功耗模式提供 1.2V 电源,以保存寄存器和 SRAM 的内容。在待机模式下,调节器停止供电,除了备用电路和备份域外,寄存器和 SRAM 的内容全部丢失。

独立的 A/D 转换器供电和参考电压(VDDA 供电区域) 

        为了提高转换精度, ADC 配有独立电源,可以单独滤波并屏蔽 PCB 上的噪声。 ADC 电源电压从单独的 VDDA 引脚接入, VSSA 提供了独立的电源接地连接。为了确保测量低电压时具有更高的精度,用户可以再 VREF 上连接到单独的 ADC 外部参考电压输入, VREF 电压介于1.8V 到 VDDA 之间。

二、MCU电源监控:

1、上电复位(POR)/掉电复位(PDR),VPDR/VPOR针对于芯片基本上是固定的

(1) POR(power on reset):上电复位。其本质也是一个电压检测过程,当芯片输入电压VCC>Vpor电压时,POR模拟模块将输出POR信号提供给全芯片使用,这是一个从复位到复位释放的过程。PDR是一个硬件重置引脚。

(2) PDR(power down reset): 掉电复位。其电压Vpdr<Vpor,之间有迟滞,防止震荡;结合POR,我们可以得到POR信号释放时,设计一定保证了全芯片都能正常工作。

(3) 持续时间:当供电电压开始上升时,电源需要经过一个上升时间才能稳定到达复位阈值之以上,同时芯片内部的复位电路也需要一定时间来检测并响应供电电压的变化。这种供电电压上升和内部电路检测的时间延迟导致了上电复位的滞后。

2、欠压复位(BOR) 

默认情况下, BOR关闭。可选择以下可编程 VBOR阈值: 

        BOR(brown-out reset):欠压复位。BOR不是必须的。有它的原因,更多是芯片可以工作在一个宽range的电压范围。

        比如芯片从1.6V~3.6V都可以工作,但是芯片在低电压时某些内部模块可能不能工作,或者1.6V的时候芯片频率只能工作在50MHz,而3.3V的时候可以工作在100MHz。因此当芯片工作在100MHz,对电压就是有要求的,单单是PDR可能就管控不住了。

        还有一个原因是产品对系统的可靠性要求。所以也很容易理解,为啥BOR是可以programmable,而POR和PDR是芯片设计完成就是固定的。

        BOR是一种软件复位,由内部模块控制。

3、可编程电压检测器(PVD) 

        PVD(programmable voltage detector):可编程电压检测。目的模拟检测可以通过中断的方式告诉软件,我这里电压和你设置要求不符合了,你可以软件采取动作了,它不再是单纯电压低了就复位。上面1,2,3都是reset,而PVD这个功能是给软件一个处理电压异常的机会和窗口。

        当检测到电压低于 VPVD阈值时,如果使能 EXTI16 线中断(即使能 PVD & AVD 中断),可以产生 PVD 中断,具体取决于 EXTI16 线配置为检测上升还是下降沿,然后在复位前, 在中断服务程序中执行紧急关闭系统等任务。  

4、其它

LVR(Low Voltage Reset):低电压复位,跟欠压复位类似,各家名词不一样;

BOD(Brown-out detector): 跟PVD类似,各家名词不一样;

三、三种低功耗模式:

在 STM32 的正常工作中,具有四种工作模式,运行睡眠停止以及待机模式:

下面是低功耗模式汇总介绍,如下表所示:

1、睡眠模式:

进入睡眠模式,CPU时钟关闭,但是其他所有的外设仍可以运行,所以任何中断或事件都可以唤醒睡眠模式。一般功耗会有几十个毫安,下面我们看看睡眠模式进入及退出方法:

2、停止模式:

        进入停止模式,所有的时钟都关闭,所有的外设也就停止了工作。但是 VDD电源是没有关闭的,所以内核的寄存器和内存信息都保留下来,等待重新开启时钟就可以从上次停止的地方继续执行程序。一般功耗达到1~2mA
        值得注意的是:当电压调节器处于低功耗模式下,当系统从停止模式退出时,将会有一段额外的启动延时。如果在停止模式期间保持内部调节器开启,则退出启动时间会缩短,但相应的功耗会增加。 

3、待机模式:

        待机模式可实现最低功耗。该模式是在 CM4 深睡眠模式时关闭电压调节器,整个 1.8V 供电区域被断电。 PLL、 HSI 和 HSE 振荡器也被断电。除备份域(RTC 寄存器、 RTC 备份寄存器和备份 SRAM)和待机电路中的寄存器外, SRAM 和其他寄存器内容都将丢失。不过如果我们使能了备份区域(备份 SRAM、 RTC、 LSE),那么待机模式下的功耗,将达到 10uA以下。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474136.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣OJ题——旋转数组

题目&#xff1a;189.旋转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数 思路一&#xff1a; 1.每次挪动旋转1位&#xff08;用tmp将最后一位存起来&#xff0c;其余所有数据向后移&#xff0c;然后将tmp放在第一个位…

语音唤醒——

文章目录 配置主代码 参考文档&#xff1a;https://picovoice.ai/docs/quick-start/porcupine-python/ 配置 pip install pvporcupine主代码 ACCESS_KEY&#xff1a;需要将该参数填入即可 # # Copyright 2018-2023 Picovoice Inc. # # You may not use this file except in …

数据库设计、JDBC、数据库连接池

数据库设计 数据库设计概念 数据库设计就是根据业务 系统的具体需求&#xff0c;结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。建立数据库中的表结构以及表与表之间的关联关系的过程。有哪些表?表里有哪些字段?表和表之间有什么关系? 数据库设计的步骤…

WordPress站点成功升级后的介绍页地址是什么?

我们一般在WordPress站点后台 >> 仪表盘 >> 更新中成功升级WordPress的话&#xff0c;最后打开的就是升级之后的版本介绍页。比如boke112百科前两天升级到WordPress 6.4.2后显示的介绍页如下图所示&#xff1a; 该介绍除了介绍当前版本修复了多少个问题及修补了多少…

图数据库、知识图谱、装配模型

一、图数据库 图数据库简介 ​ 图数据库&#xff08;Graph Database&#xff09;是基于图论实现的一种新型NoSQL数据库。它的数据存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边&#xff0c;在图数据库中对应的就是节点和关系。 图数据库是基于图…

Transformer——Attention 注意力机制

注意力机制 Transformer的注意力机制借鉴了人类的注意力机制。人类通过眼睛的视觉单元去扫描图像&#xff0c;其中的重点区域会被大脑的神经元处理从而获得更多的信息&#xff0c;这是人类长期精华所获得的一种能力。 以论文中的例子来看&#xff0c;红色区域表示我们人脑视觉…

C++并发编程 -3.同步并发操作

本文介绍如何使用条件变量控制并发的同步操作、C 并发三剑客&#xff0c;函数式编程 一.条件变量 1.概念 C条件变量&#xff08;condition variable&#xff09;是一种多线程编程中常用的同步机制&#xff0c;用于线程间的通信和协调。它允许一个或多个线程等待某个条件的发生…

HTTP 请求 400错误

问题 HTTP 请求 400错误 详细问题 客户端发送请求 public static UserInfo updateUserInfo(UserInfo userInfo) {// 创建 OkHttpClient 对象OkHttpClient client new OkHttpClient();// 创建请求体MediaType JSON MediaType.parse("application/json; charsetutf-8&…

- 项目落地 - 《选择项目工具的方法论》

本文属于专栏《构建工业级QPS百万级服务》 提纲&#xff1a; 选择大概率能完成业务目标的工具选择最适合的工具制作最适合的工具 本文所说的项目工具&#xff0c;泛指业务软件开发&#xff0c;所依赖的第三方提供的成熟的资源。包括但不限于开发语言、编辑工具、编译工具、三方…

python in Vscode

背景 对于后端的语言选择&#xff1a; python&#xff0c;java&#xff0c;JavaScript备选。 选择Python 原因&#xff1a;可能是非IT专业的人中&#xff0c;会Python的人比较多。 目的 之前使用的IDE是VSCODE&#xff0c;在WSL的环境下使用。现在需要在在WSL的VSCODE下使…

数据集合

目录 并集 union union all 区别 交集 intersect 差集 minus 错误操作 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 常用的数学集合有&#xff1a;交集、并集、差集、补集 每一次查询实际上都会返回数据集合&#xff0c;…

51单片机编程应用(C语言):DS1302实时时钟

单片机计时的缺陷&#xff1a; 1.他的精度不高&#xff0c;没有时钟芯片精度高&#xff0c; 2.会占用单片机CPU的时间&#xff0c; 3.单片机的时钟无法掉电继续运行&#xff0c;&#xff08;最大的缺点&#xff09; DS1302芯片内部有备用电池&#xff0c;可以掉电继续计时…