STM32F429 >> 18. 电源管理_实现低功耗

发布者:yunhao最新更新时间:2019-08-29 来源: eefocus关键字:STM32F429  电源管理  低功耗 手机看文章 扫描二维码
随时随地手机看文章

STM32 的电源简介

STM32 有专门的电源管理外设监控电源并管理设备的运行模式,确保系统正常运行,并尽量降低器件的功耗。


电源监视器: STM32 芯片主要通过引脚 VDD 从外部获取电源,在它的内部具有电源监控器用于检测 VDD 的电压,以实现复位功能及掉电紧急处理功能,保证系统可靠地运行。


1. 上电复位与掉电复位(POR 与PDR)

当检测到 VDD 的电压低于阈值 VPOR 及 VPDR 时,无需外部电路辅助,STM32 芯片会自动保持在复位状态,防止因电压不足强行工作而带来严重的后果。

在这里插入图片描述

如图,在刚开始电压低于 VPOR 时(约 1.72V),STM32 保持在上电复位状态(POR,Power On Reset),当VDD 电压持续上升至大于 VPOR 时,芯片开始正常运行,而在芯片正常运行的时候,当检测到 VDD 电压下降至低于 VPDR 阈值(约 1.68V),会进入掉电复位状态(PDR,Power Down Reset)


欠压复位(BOR)

POR 与 PDR 的复位电压阈值是固定的,如果用户想要自行设定复位阈值,可以使用STM32 的 BOR 功能(Brownout Reset)。它可以编程控制电压检测工作在表 45-1 中的阈值级别,通过修改“选项字节”(某些特殊寄存器)中的 BOR_LEV 位即可控制阈值级别。其复位控制示意图见图。


等级 条件 电压值

1 级欠压阀值 下降沿 2.19V

上升沿 2.29V

2 级欠压阀值 下降沿 2.50V

上升沿 2.59V

3 级欠压阀值 下降沿 2.83V

上升沿 2.92V


在这里插入图片描述

3. 可编程电压检测器PVD

上述 POR、PDR 以及 BOR 功能都是使用其电压阈值与外部供电电压 VDD 比较,当低

于工作阈值时,会直接进入复位状态,这可防止电压不足导致的误操作。


除此之外,STM32 还提供了可编程电压检测器 PVD,它也是实时检测 VDD 的电压,当检测到电压低于 VPVD 阈值时,会向内核产生一个 PVD 中断(EXTI16 线中断)以使内核在复位前进行紧急处理。


该电压阈值可通过电源控制寄存器 PWR_CSR 设置。


使用 PVD 可配置 8 个等级,见下表。其中的上升沿和下降沿分别表示类似上图中 VDD 电压上升过程及下降过程的阈值。


阀值等级 条件 最小值 典型值 最大值 单位

级别0 上升沿 2.09 2.14 2.19 V

下降沿 1.98 2.04 2.08 V

级别1 上升沿 2.23 2.3 2.37 V

下降沿 2.13 2.19 2.25 V

级别2 上升沿 2.39 2.45 2.51 V

下降沿 2.29 2.35 2.39 V

级别3 上升沿 2.54 2.6 2.65 V

下降沿 2.44 2.51 2.56 V

级别4 上升沿 2.7 2.76 2.82 V

下降沿 2.59 2.66 2.71 V

级别5 上升沿 2.86 2.93 2.99 V

下降沿 2.65 2.84 3.02 V

级别6 上升沿 2.96 3.03 3.1 V

下降沿 2.85 2.93 2.99 V

级别7 上升沿 3.07 3.14 3.21 V

下降沿 2.95 3.03 3.09 V

STM32 的电源系统

为了方便进行电源管理,STM32 把它的外设、内核等模块跟据功能划分了供电区域,其内部电源区域划分见图。

在这里插入图片描述

从框图了解到,STM32 的电源系统主要分为备份域电路、内核电路以及 ADC 电路三部分,介绍如下:


备份域电路

STM32 的 LSE 振荡器、RTC、备份寄存器及备份 SRAM 这些器件被包含进备份域电路中,这部分的电路可以通过 STM32 的 VBAT 引脚获取供电电源,在实际应用中一般会使用 3V 的钮扣电池对该引脚供电。


在图中备份域电路的左侧有一个电源开关结构,它的功能类似图 45-4 中的双二极管,在它的上方连接了 VBAT 电源,下方连接了 VDD 主电源(一般为 3.3V),右侧引出到备份域电路中。当 VDD 主电源存在时,由于 VDD 电压较高,备份域电路通过 VDD 供电,当 VDD 掉电时,备份域电路由钮扣电池通过 VBAT 供电,保证电路能持续运行,从而可利用它保留关键数据。


在这里插入图片描述

调压器供电电路

在 STM32 的电源系统中调压器供电的电路是最主要的部分,调压器为备份域及待机电路以外的所有数字电路供电,其中包括内核、数字外设以及 RAM。调压器的输出电压约为 1.2V,因而使用调压器供电的这些电路区域被称为 1.2V 域。


调压器可以运行在“运行模式”、“停止模式”以及“待机模式”。


运行模式下,1.2V 域全功率运行;

停止模式下 1.2V 域运行在低功耗状态,1.2V 区域的所有时钟都被关闭,相应的外设都停止了工作,但它会保留内核寄存器以及SRAM 的内容;

待机模式下,整个 1.2V 域都断电,该区域的内核寄存器及SRAM 内容都会丢失(备份区域的寄存器及 SRAM 不受影响)。

ADC 电源及参考电压

为了提高转换精度,STM32 的 ADC 配有独立的电源接口,方便进行单独的滤波。ADC 的工作电源使用 VDDA 引脚输入,使用 VSSA 作为独立的地连接,VREF 引脚则为 ADC 提供测量使用的参考电压。


STM32 的功耗模式

按功耗由高到低排列,STM32 具有运行、睡眠、停止和待机四种工作模式。


上电复位后 STM32 处于运行状态时,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。


模式 说明 进入方式 唤醒方式 对1.2V 区域时钟的影响 对VDD 区域时钟的影响 调压器

在这里插入图片描述

这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。


1. 睡眠模式

在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM4 核心的外设全都还照常运行。

有两种方式进入睡眠模式,它的进入方式决定了从睡眠唤醒的方式,分别是


WFI(wait for interrupt);

WFE(wait for event),即由等待“中断”唤醒和由“事件”唤醒。


在这里插入图片描述

2. 停止模式

在停止模式中,进一步关闭了其它所有的时钟,于是所有的外设都停止了工作,但由于其 1.2V 区域的部分电源没有关闭,还保留了内核的寄存器、内存的信息,所以从停止模式唤醒,并重新开启时钟后,还可以从上次停止处继续执行代码。


停止模式可以由任意一个外部中断(EXTI)唤醒。在停止模式中可以选择电压调节器为开模式或低功耗模式,可选择内部 FLASH 工作在正常模式或掉电模式。


在这里插入图片描述


3. 待机模式

待机模式,它除了关闭所有的时钟,还把 1.2V 区域的电源也完全关闭了,也就是说,从待机模式唤醒后,由于没有之前代码的运行记录,只能对芯片复位,重新检测 boot 条件,从头开始执行程序。

它有四种唤醒方式,分别是


WKUP(PA0)引脚的上升沿;

RTC 闹钟事件;

NRST 引脚的复位 ;

IWDG(独立看门狗)复位。

特性 说明

进入方式 内核寄存器的 SLEEPDEEP =1,PWR_CR 寄存器中的 PDDS=1,PWR_CR 寄存器中的唤醒状态位 WUF=0,然后调用 WFI 或 WFE 指令即可进入待机模式

唤醒方式 通过 WKUP 引脚的上升沿,RTC 闹钟、唤醒、入侵、时间戳事件或NRST 引脚外部复位及 IWDG 复位唤醒

待机时 内核停止,片上外设也停止;内核寄存器、内存的数据会丢失;除复位引脚、RTC_AF1 引脚及 WKUP 引脚,其它 I/O 口均工作在高阻态

唤醒延迟 芯片复位的时间

唤醒后 相当于芯片复位,在程序表现为从头开始执行代码

在以上讲解的睡眠模式、停止模式及待机模式中,若备份域电源正常供电,备份域内的 RTC 都可以正常运行、备份域内的寄存器及备份域内的 SRAM 数据会被保存,不受功耗模式影响


电源管理相关的库函数及命令

配置PVD 监控功能

PVD 可监控 VDD 的电压,当它低于阈值时可产生 PVD 中断以让系统进行紧急处理,这个阈值可以直接使用库函数 PWR_PVDLevelConfig 配置成前面表中说明的阈值等级。


WFI(Wait For Interrupt) 与WFE(Wait For Event) 命令

我们了解到进入各种低功耗模式时都需要调用 WFI 或 WFE 命令,它们实质上都是内核指令,在库文件 core_cmInstr.h 中把这些指令封装成了函数。


#define __WFI                             __wfi


#define __WFE                             __wfe


对于这两个指令,我们应用时一般只需要知道,调用它们都能进入低功耗模式,需要使用函数的格式“__WFI();”和“__WFE();”来调用(因为__wfi 及__wfe 是编译器内置的函数,函数内部使用调用了相应的汇编指令)。


其中 WFI 指令决定了它需要用中断唤醒,而WFE 则决定了它可用事件来唤醒.


具体功能实现代码在此。


进入停止模式

直接调用 WFI 和 WFE 指令可以进入睡眠模式,而进入停止模式则还需要在调用指令前设置一些寄存器位,STM32 标准库把这部分的操作封装到 PWR_EnterSTOPMode 函数中。


这个函数有两个输入参数,分别用于控制调压器的模式及选择使用 WFI 或 WFE 停止:


void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry)


代码中先是根据调压器的模式配置 PWR_CR 寄存器,再把内核寄存器的 SLEEPDEEP 位置1,这样再调用 WFI 或 WFE 命令时,STM32 就不是睡眠,而是进入停止模式了。


函数结尾处的语句 SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); 用于复位 SLEEPDEEP 位的状态,由于它是在 WFI 及 WFE 指令之后的,所以这部分代码是在 STM32 被唤醒的时候才会执行。


要注意的是进入停止模式后,STM32 的所有 I/O 都保持在停止前的状态,而当它被唤醒时,STM32 使用 HSI 作为系统时钟(16MHz)运行,由于系统时钟会影响很多外设的工作状态,所以一般我们在唤醒后会重新开启 HSE,把系统时钟设置回原来的状态。


前面提到在停止模式中还可以控制内部 FLASH 的供电,控制 FLASH 是进入掉电状态还是正常供电状态,这可以使用库函数 PWR_FlashPowerDownCmd 配置。

这个函数需要在进入停止模式前被调用,即应用时需要把它放在上面的 PWR_EnterSTOPMode 之前。


具体功能实现代码在此。


进入待机模式

STM32 标准库也提供了控制进入待机模式的函数


void PWR_EnterSTANDBYMode(void);


该函数中先配置了 PDDS 寄存器位及 SLEEPDEEP 寄存器位,接着调用__force_stores函数确保存储操作完毕后再调用 WFI 指令,从而进入待机模式。这里值得注意的是,待机模式也可以使用 WFE 指令进入的,如果您有需要可以自行修改;


由于这个函数没有操作 WUF 寄存器位,所以在实际应用中,调用本函数前,还需要清空 WUF 寄存器位才能进入待机模式。


在进入待机模式后,除了被使能了的用于唤醒的 I/O,其余 I/O 都进入高阻态,而从待机模式唤醒后,相当于复位 STM32 芯片,程序重新从头开始执行。


关键字:STM32F429  电源管理  低功耗 引用地址:STM32F429 >> 18. 电源管理_实现低功耗

上一篇:STM32F429 >> 17. 利用MPU6050 进行姿态检测(Code)
下一篇:STM32F429 >> 18. 电源管理_实现低功耗(Code)

推荐阅读最新更新时间:2024-11-03 16:18

高压应用与低功耗控制器的接口连接
许多商业和工业应用都面临一个难题,即如何通过接口将低压微控制器及数字信号处理器 (DSP) 连接至高压传感器开关和其他数字、高压电路。大多数情况下,需要通过这些接口获取二进制(1/0,或者高/低)状态信息形式的反馈。   新一代的接口器件,被称作数字输入串行器 (DIS),其在连接低功耗微控制器的同时能够以最高能效方式对数字输入电压进行检测,检测范围最低可达 6Vdc,最高可达300 Vdc。   本文将介绍数字输入串行器的工作原理及其低、中、高压输入信号的配置情况。   工作原理   为了更好地理解 DIS 的工作原理,我们以完整的接口设计为背景来对这种器件进行研究(请参见 图 1 )
[电源管理]
高压应用与<font color='red'>低功耗</font>控制器的接口连接
戴尔:ARM芯片的低功耗优势正逐渐消失
随着处理器产品的发布时间延后,对于ARM服务器能够得以成功应用的希望也越来越渺茫,戴尔公司一名高层管理人员表示。 戴尔公司服务器总经理Forrest Norrod表示:“基于正在测试中的ARM处理器,戴尔公司将提供其ARM服务器产品。但是,随着其竞争对手芯片公司的迎头赶上,ARM处理器具有相对较低功耗的这一主要优势也正在迅速消失,这就意味着用户更没有什么理由会投资其它架构而不继续应用x86架构了。” “坦率地说,我认为整个系统的开发进度要比之前的预期更慢了一点。” 各类公司都曾经表示过,有兴趣致力于基于ARM架构的处理器生产服务器产品,这并不只是指单单生产出元件本身,而是将其设计授权给生产厂家。但时至今日,A
[手机便携]
Silanna 成立电源管理设计中心,协助客户有效节省BoM成本
专注开发功率密度技术的领先厂商Silanna Semiconductor宣布在菲律宾启用亚洲卓越中心(ACE),专注服务亚洲客户。Silanna Semiconductor致力于提供优质的功率密度和性能以应对电源管理的各种挑战,协助客户有效节省BoM成本。 Silanna Semiconductor全球销售兼营销副总裁Larry Wasylin表示:“Silanna Semiconductor拥有优质的技术、客户支持、销售、营销和服务团队,对此我们感到非常自豪。Silanna Semiconductor专注实现design-win,持续发展业务并打造良好的客户伙伴关系。我们非常高兴地宣布成立亚洲卓越中心(ACE),针对不
[电源管理]
Silanna 成立<font color='red'>电源管理</font>设计中心,协助客户有效节省BoM成本
ams模拟扬声器驱动为华为最新智能手机提供低功耗降噪方案
Ascend Mate7耳机即使在嘈杂的环境中也能提供近乎无声的背景,带来卓越的语音电话及音频播放体验 领先的高性能模拟IC和传感器供应商ams(艾迈斯,SIX股票代码:AMS)今日宣布华为最新款智能手机的耳机选用ams具有主动降噪(ANC)功能的扬声器驱动器AS3415,以帮助增强耳机的降噪效果。 华为新款高端安卓智能手机Ascend Mate 7的耳机内部选用了ams的ANC芯片。耳塞的被动降噪,结合主动降噪功能可以降低大部分3kHz以下的低频环境噪音。 这一功能排除了外部的噪音干扰,带来逼真的听觉体验。Ascend Mate 7能够令使用者轻松地欣赏音乐或听清楚声音内容。 传统耳机使用者通常采用的方
[手机便携]
STM32F429 >> 14. TIM_(一)_基本定时器
将定时器和GPIO 结合起来使用可以实现非常丰富的功能,例如测量输入信号的脉冲宽度、产生输出波形、产生PWM 控制电机状态等。 STM32F42xxx 系列控制器有 2 个高级控制定时器、10 个通用定时器和 2 个基本定时器,还有 2 个看门狗定时器。 控制器上所有定时器都是彼此独立的,不共享任何资源。 其中最大定时器时钟可通过 RCC_DCKCFGR 寄存器配置为 90MHz 或者 180MHz。 就功能上来说通用定时器包含所有基本定时器功能,而高级控制定时器包含通用定时器所有功能。 基本定时器 基本定时器主要两个功能: 第一就是基本定时功能,生成时基; 第二就是专门用于驱动数模转换器(DAC)。 基本定时器
[单片机]
<font color='red'>STM32F429</font> >> 14. TIM_(一)_基本定时器
基于数字语音解码器的低功耗设计方案
近年来,随着个人手持多媒体设备的快速增长,低功耗设计变得越来越重要,甚至成为决定产品是否成功的关键,如笔记本电脑、PDA、移动电话等时尚消费和商务类电子产品,对电池的供电时间要求越来越高,高功耗成为延长电池使用时间突出的制约因素。 CMOS数字电路的功耗主要由3部分组成:跳变功耗、短路功耗和静态漏电功耗。其中占系统功耗比例大于90%的为跳变功耗,也称动态功耗。对于SoC而言,所有的设计方法都是围绕着动态功耗来进行。如何从各个层次、各个方面尽量减少动态功耗,将是语音解码设计中的重点内容。 1 语音解码器的低功耗设计策略 SoC低功耗的设计应该从顶层到底层各个阶段进行优化设计的工作,主要运用各级的低功耗策略,通常在系统级、算法级、结构级
[嵌入式]
CML Microcircuits推出超低功耗语音编解码器
CML Microcircuits针对智能设备中的现有电话和未来高质量语音应用最新推出下一代语音编解码器,新产品CMX655D标志着语音编解码器的重大革新,具有超低功耗并实现了更高集成度,能够在各种应用中提供更先进的功能。 CMX655D集成有两个匹配通道和数字信号处理(DSP),以及功率为1W、效率高达90%的无滤波D类放大器和对于数字MEMS麦克风的支持,而这些功能以前只能通过添加其他组件才能实现。此外,CMX655D的设计充分利用了先进的制造工艺,使得器件在所有工作模式下都消耗非常低的功率,并且能够在1.8V至3.6V电源下工作,而不是要求5V来达到1W输出功率。这些功能使其成为电池供电设备的理想选择。 CML
[物联网]
CML Microcircuits推出超<font color='red'>低功耗</font>语音编解码器
TI推出业界首批完整模拟前端产品系列
德州仪器 (TI) 宣布推出了一系列全面集成的模拟前端 (AFE),该系列产品可满足从便携式产品到高端超声波诊断设备在内的各种应用需求。 人口老龄化,医疗成本不断增高,新兴经济体对于医疗服务的需求不断上升,这些因素都促使市场对于创新型医疗解决方案的需求激增,如广泛应用于诊所、救护车、移动检伤分类等领域以及偏远地区的便携式经济型超声波设备。Frost & Sullivan 预计,便携式或手持式超声波系统市场的复合年均增长率为 19.2%,到 2010 年达到 3.3 亿美元。 TI 医疗与高可靠性业务部副总裁 Kent Novak 指出:“超声波市场的要求越来越高,设计日趋复杂,在这种情况下,
[新品]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved