STM32学习笔记|电源管理和低功耗设计要点

时间:2024-11-24

好的电子产品需要认真考虑电源管理问题,而电池供电的产品应更加注意实现低功耗。

嵌入式专栏1 STM32电源简介每个STM32芯片都有一个电源控制器(PWR)。

不同系列的STM32具有相同点和不同点。

1.电压大多数STM32的电压要求在1.8 V至3.6 V之间。

嵌入式线性稳压器用于提供内部1.2 V数字电源。

2. STM32电源的类型通常分为三类:数字电源,模拟电源和备用电源。

数字电源:VDD也是主电源,主要用于数字部分。

模拟电源:VDDA用于模拟部分(例如ADC)的电源,因此它可以分别过滤和屏蔽PCB上的噪声。

备用电源:VBAT用于备用区域的电源,例如RTC,备用SRAM等。

一旦断开主电源,VBAT即可为这些区域供电。

▲STM32F4备用域3.稳压器大多数STM32都有一个功率调节器(某些型号没有),它为除备用域和备用电路以外的所有数字电路供电。

稳压器的输出电压约为1.2V。

工作模式:稳压器向1.2 V域(内核,存储器和数字外设)提供全部电源。

停止模式:稳压器为1.2 V域提供低功率,并保留寄存器和内部SRAM的内容。

待机模式:稳压器已断电。

除备用电路和备用域外,寄存器和SRAM的内容都将丢失。

嵌入式第2列STM32的低功耗模式STM32的工作模式通常可以分为4类:运行模式,睡眠模式,停止模式,待机模式。

根据STM32类型的不同,可以进一步划分工作模式。

例如,在STM32L低功耗系列中,睡眠模式可以进一步分为:正常睡眠模式和低功率睡眠模式。

以ST M32F4为例:运行模式:默认进入该模式;睡眠模式:内核停止,外设保持运行停止模式:所有时钟停止待机模式:1.2 V域断电▲STM32睡眠/停止/待机模式图形嵌入式Column 3 STM32低功耗设计要点STM32低功耗设计通常结合了项目的实际情况和针对性设计的应用场景。

这里有一些例子可以说明。

情况1:一些工程师提到:STM32F103进入STOP模式后不能通过串口唤醒吗?分析原因:工程师对低功耗唤醒机制有误解:STM32不能在进入STOP模式后被UART等中断外设直接唤醒,而只能由EXTI外部中断模式唤醒。

解决方案:我们可以在MCU进入STOP模式之前将RX引脚设置为EXTI模式,并启用相应的中断来实现此目的。

情况2:一些工程师提到:STM32F051进入低功耗状态后,实际功耗远远大于理想功耗。

分析原因:问题的原因可能是工程师通过直接调用“停止模式”进入了低功耗状态,但是某些IO具有外部上拉电阻,并且在进入低功耗状态之前尚未对其进行调整,导致功耗过大。

解决方案:输入低功耗之前,请调整已用和未用IO的状态。

例如,有一个外部上拉电路,可以将其配置为模拟输入。

情况3:提到了一些工程师:按下按钮唤醒STM32F103时,串行端口不能正常工作吗?原因分析:经过分析,发现开发者进入的低功耗模式为待机模式。

唤醒后,串行端口外围设备未初始化,导致串行端口无法正常工作。

在待机模式下,所有外围设备均已关闭,这意味着所有外围设备配置均为默认值。

解决方案:唤醒STM32后,重新初始化串行端口(以及所有使用的外围设备)。

免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!