微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32L系列低功耗

STM32L系列低功耗

时间:11-13 来源:互联网 点击:
在stop模式下,所有Vcore(稳压器输出电压)域时钟停止,PLL、MSI、HSI、HSE都被停止。RAM和寄存器中的值保留。

在stop模式下,稳压器为 Vcore(稳压器输出电压)域提供低功耗电压,用来保持寄存器和内部RAM中的数据。

为了最大程度降低功耗,在进入stop模式之前,VREFINT、BOR、PVD、和温度传感器可以被关闭,退出stop模式后,可以用PWR_UltraLowPowerCmd()打开他们。
PWR_UltraLowPowerCmd(ENABLE);//使能超低功耗模式;

内部参考电压的功耗也不是微不足道的,尤其在stop模式和standby模式。为了减小功耗,用这个函数设置PWR_CR的ULP位来关闭内部参考电压,然而,在这种情况下从stop模式或standby模式退出时,在内部参考电压启动时间内(3ms),通过内部参考电压管理那些功能是不可靠的。为了缩短唤醒时间,在进入stop模式或者standby模式之前,调用PWR_FastWakeUpCmd()函数(设置PWR_CR的FWU位),CPU就可以从stop模式或者standby模式唤醒而不用等待内部参考电压的启动。

if ULP=0(参考电压在低功耗模式下打开),FWU位被忽略。

if ULP=1(参考电压在低功耗模式下关闭),FWU=1:当从低功耗模式退出时,忽略参考电压的启动时间。

if ULP=1(参考电压在低功耗模式下关闭),FWU=0:CPU只有等到参考电压准备好才会从低功耗模式退出。

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);//进入stop模式;设置PWR_CR寄存器的PDDS和LPSDSR位。PDDS:进入stop模式。

稳压器:

一个嵌入式的、线性的稳压器给除了待机电路外的所有数字电路供电。稳压器的输出电压在1.2~1.8V范围内,软件可配。

稳压器在系统复位后总是被使能。稳压器根据CPU应用模式不同,工作在三种不同的模式:主模式(MR),低功耗模式(LPR),掉电模式。

1、CPU工作在运行模式下时,稳压器工作在主模式并且为Vcore domain提供全部电量(包括核、寄存器、数字电路)

2、CPU工作再低功耗运行模式,稳压器工作再低功耗模式并且为Vcore domain提供低电量,以保存寄存器和内部RAM中的内容。

3、CPU工作再睡眠模式,稳压器工作在主模式并且为Vcore domain提供全部电量,以保存寄存器和内部RAM中的内容。

4、CPU工作再stop模式,稳压器工作再低功耗模式并且为Vcore domain提供低电量,以保存寄存器和内部RAM中的内容。

5、CPU工作在Standby模式,稳压器工作在掉电模式,除了standby电路外,寄存器和内部RAM中的内容都将丢失。

内部参考电压:

通过内部参考电压管理的功能有(BOR)欠压复位、可编程电压检测、ADC、LCD、比较器。内部参考电压总是使能的。

内部参考电压的功耗是不能被忽略的,尤其是在stop模式和standby模式。为了减少功耗,可以将PWR_CR寄存器的ULP(Ultra low power)位置位来关闭内部参考电压,然而在这种情况下,当从stop/standby模式退出时,通过内部参考电压管理的功能在内部参考电压启动时(3ms)是不可靠的。为了减少唤醒时间,CPU可以从stop/standby模式退出时不等待内部参考电压的启动。在进入stop/standby模式之前,将PWR_CR寄存器的FWU(Fast wakeup)置位可以实现。

无论FWU的值是多少,如果ULP位被置位,在进入stop/standby模式之前使能的以上这些功能,在进入stop/standby模式之后这些功能被禁止,并且当内部参考电压的启动结束后这些功能再次使能(通过做PVD的测试,好像并没有像手册说的那样再次使能,而是每次唤醒后要重新手动使能PVD)。在PWR_CSR寄存器的VREFINTRDYF 位表示内部参考电压是否准备好。

从stop模式唤醒后,系统时钟默认为MSI时钟,需要重新配置系统时钟。
任何的EXTI Line(内部的或外部的)中断或事件都能是CPU从stop模式唤醒。

CPU的低功耗特性只是做低功耗产品的开发的一部分,外围器件的功耗同样起决定作用。要想达到理想的功耗,CPU和外围器件必须能够完美的结合。在低功耗产品研发中,可能是我第一次接触此类产品的研发,功耗问题花费了我大量的时间,CPU在没有外部器件的情况下功耗是理想的,基本上与数据手册描述的一样,所选的外围器件的功耗也很低,但是CPU与外围器件连起来时功耗就很高。

下面我分享下我在做STM32L151低功耗(stop模式)研发中的一些经验:

1.外部器件能用IO口供电的就尽量用IO口供电,在stop模式下,CPU的IO口的状态是保持的,这样外围器件的供电开关很容易控制。像外部存储芯片可以用IO口供电。有些外围芯片不适合用IO口供电的,像有些射频芯片,因为这些射频芯片上电启动要相当长的时间。

2.最好别用standby模式。虽然standby模式对CPU来说功耗最低,但是standby模式有很多缺

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top