STM32电源管理(上)- 理论解析及讲解

本文章基于野火stm32系列视频并在其上补充

STM32电源管理介绍

电源对电子设备的重要性不言而喻,它是保证系统稳定运行的基础,而保证系统能稳定运行后,又有低功耗的要求在很多应用场合中都对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护。

由于智慧穿戴设备的小型化要求,电池体积不能太大导致容量也比较小,所以也很有必要从控制功耗入手,提高设备的续行时间。

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

一,电源监控器

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

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

名词解释:

上电复位POR

当初始状态为0的时候,VDD电压逐渐上升,在电压大于POR的时候,会进入上电复位时间窗口

掉电复位PDR

当在正常运行状态准备关闭时,电压逐渐下降,当小于PDR的时候立刻关闭,以免影响其他器件

上电复位时间窗口tRSTTEMPO

这个时间窗口允许系统在正式进入正常运行之前确保电源稳定性和其他关键参数。在tRSTTEMPO期间,系统可能维持在一种预备状态或低功耗状态,以确保在开始正常运行前电源完全稳定。

注意:在一些对电源稳定性要求不那么严格的应用中,系统可能会在VDD超过POR阈值后立即进入正常运行状态。

2,可编程电压检测器(PVD)

简介

上述POR、PDR功能是使用其电压阈值与外部供电电压VDD比较, 当低于工作阈值时,会直接进入复位状态,这可防止电压不足导致的误操 作。除此之外,STM32还提供了可编程电压检测器PVD,它也是实时检测 VDD的电压,当检测到电压低于编程的VPVD阈值时,会向内核产生一个 PVD中断(EXTI16线中断)以使内核在复位前进行紧急处理。

注意:一共有0到15个引脚,那么EXTI应该是0~15,这里的16就是专门为了VPVD设置的。

等级

一般情况下根据典型值配置,配置中断的方法和配置按键是一样的

二,电源系统

分为三部分

1,VDDA供电区域

最关键的就是A/D转换器(数模转换)

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

2,VDD供电区域

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

注意:这个cpu核心是由电压调节器单独供电的,之后写代码的时候可以让cpu休眠和不休眠就是通过电压调节器来操作的

3,后备供电区域

提供备用电源的区域,以确保在主电源失效时系统的关键部分仍能继续运行。这个备用电源通常用于保持关键功能,例如实时时钟(RTC),在实际应用中一般会使用3V的钮扣电池供电。

第一个是VDD供电,第二个是纽扣电池供电

当VDD大于纽扣电池电压的时候,由VDD供电

当纽扣电池电压大于VDD的时候,由纽扣电池供电

三,STM32功耗模式

1,模式粗略介绍

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

注意:待机是比停止高的,这是因为在待机模式下,系统时钟和一些外设时钟可能被关闭,从而降低了功耗。待机模式仍然保留一些部分的系统状态,以便在唤醒后能够更快地恢复运行。

而停止模式可能会涉及到更多的状态保留和唤醒时的一些复杂操作,因此可能在某些情况下产生较高的功耗。停止模式下,大多数系统时钟和外设时钟都会被关闭,但某些部分的状态可能需要保留,以便能够更快速地恢复到运行状态。

先看后面的睡眠模式表,停止模式表和待机模式表,不明白再看这里,对着找不会的

1,内核停止

CPU 内核停止执行指令,而外设可能继续运行。这种情况下,已经在执行的代码将继续执行,但新的指令将不再被执行,直到系统重新唤醒。

举例

假如由一个LED灯先亮后灭的程序,亮了以后使内核停止,那么代码就在这里停止,等到恢复的时候,下一个执行的程序是使LED灯熄灭。睡眠和停止模式都是这样。

待机模式会让电源关闭,内核里的记录也会丢失,下一次叫醒就会从启动文件开始执行。

2,1.8V区域时钟的影响

主要影响的是VDDA供电区域,包含时钟树中间区域等部分。对于VDD部分没有任何影响

3,VDD区域时钟的影响

进入停止和待机模式会将HSI和HSE振荡器关闭,等再次上电的时候,如果没有重新使用HSE的话,就会默认使用HSI,这就会执行语句的时间不同,假如之前写了一个1秒的延时函数,现在时钟变了,执行语句的时间也变了,这句导致设置的延时函数执行的延时时间改变,所以一定要在唤醒后打开HSE时钟

4,调压器

低功耗模式转到正常运行模式需要时间,因为低功耗模式相比正常运行模式关闭了一些功能,现在要打开,如果是睡眠模式或者在停止模式的时候不设置低功耗模式就没有这种问题。

2,睡眠模式表

3,停止模式表

4,待机模式表

 这是非常接近于关机的状态,这个状态就是为了让STM32能够自己进入关机状态

下篇就是代码环节了

物联沃分享整理
物联沃-IOTWORD物联网 » STM32电源管理(上)- 理论解析及讲解

发表评论