MCU电源控制与低功耗优化策略

目录

一、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以下。 

物联沃分享整理
物联沃-IOTWORD物联网 » MCU电源控制与低功耗优化策略

发表评论