STM32单片机:电源管理(三)(STM32L4xx)

  • 电压稳压器

除了待机电路和备份域外,两个内置的嵌入式线性稳压器为所有数字电路供电。主稳压器输出电压(VCORE)可以通过软件编程到2个不同的电压范围,通过寄存器(PWR_CR1)中的(VOS)位选择电压范围。以根据系统的最大工作频率优化功耗。

复位后,电压稳压器始终处于启用状态。根据应用模式,VCORE电源由主稳压器(MR)或低功率稳压器(LPR)提供。

  • 在运行、睡眠和停止0模式下,两个稳压器都启用,主稳压器(MR)为VCORE域(内核、存储器和数字外设)提供全功率。
  • 在低功耗运行和低功耗睡眠模式下,主稳压器(MR)关闭,低功率稳压器(LPR)向VCORE域提供低功率电源,用于保留寄存器,SRAM1和SRAM2的内容。
  • 在停止1和停止2模式下,主稳压器(MR)关闭,低功率稳压器(LPR)向VCORE域提供低功率电源,用于保留寄存器,SRAM1和SRAM2的内容。
  • 在待机模式下(保留SRAM2内容):寄存器(PWR_CR3)(RRS=1),主稳压器(MR)关闭,低功率稳压器(LPR)仅向SRAM2供电。内核、数字外设(待机电路和备份域除外)和SRAM1均已断电。

    

  • 在待机模式下(不保留SRAM2内容),两个稳压器均断电。寄存器,SRAM1和SRAM2的内容丢失,待机电路和备份域除外。
  • 在关机模式下,两个稳压器均断电。退出关机模式时,会产生开机复位。因此,寄存器,SRAM1和SRAM2的内容丢失,备份域除外。

  • VDD12供电域

VDD12在具有外部SMPS(开关模式电源)选项时存在,在运行、睡眠和停止0模式下给VCORE提供电源。

VDD12引脚是为内核、存储器和外设的数字部分供电的内部VCORE提供电源。利用SMPS的性能将功耗降低了50%或更多。

功耗降低主要发生在运行和睡眠模式下,而在停止0模式下,降低不太显著。

下面的示意图,用于理解当提供外部电压VDD12时,内部稳压器如何停止供应VCORE。

VDD12与内部稳压器输出(VDD12I)共用相同的引脚,在VDD12上施加的电压稍高于内部稳压器的输出电压(VDD12I),通常为+50mV或更多,内部主稳压器(MR)则会自动关闭,使用外部输入的VDD12供电。

由GPIO控制的一个开关放在SMPS输出和VDD12之间:

开关闭合:SMPS输出为VDD12供电。

开关断开:SMPS输出与VDD12的连接断开。

需要通过GPIO进行软件控制,以启用/禁用SMPS并通过开关连接/断开SMPS,需符合以下规则,以避免数字部件或内部稳压器的损坏或不稳定:

  • 给芯片上电时,必须断开SMPS。用户必须确保开关断开,直到SMPS输出电压稳定。
  • VDD12必须在VDD和内部LDO准备就绪后才能连接。
  • 在运行、睡眠和停止0模式下,SMPS输出可以连接到VDD12,应遵守:

       VDD12 < 1.32v 

       VDD12 >= VCORE + 50mV

             电压范围1:如  VCORE = 1.2V    那么  VDD12 >= 1.25V

             电压范围2:如  VCORE = 1.0V    那么  VDD12 >= 1.05V

       当系统时钟频率SYSCLK >= 26MHz 时,VDD12 >= 1.08V

  • SMPS只能在运行、睡眠或stop0模式下连接,并且只有当VDD12比主稳压器输出电压至少高50mV时才能连接。在所有其他模式下,即:低功耗运行、低功耗睡眠、Stop1、Stop2、Standby和Shutdown模式,VDD12必须与SMPS输出断开连接:
  •   只有当系统时钟频率SYSCLK <= 26MHz时,才允许SMPS输出与VDD12从连接到断开的转换,以避免切换时主稳压器侧的电压降过大。

  • 动态电压管理

动态电压是一种电源管理技术,它根据应用系统性能和功耗需求增加或减少用于数字外设(VCORE)的电压。

动态电压调整以增加VCORE,它可以提高设备性能。

动态电压调整以降低VCORE,执行此操作是为了节省电力,特别是在笔记本电脑和其他移动设备中,这些设备的能量来自电池,因此功耗受到限制。

  • 范围1:高性能模式

主稳压器提供1.2V的典型输出电压。系统时钟频率可以高达80MHz。读取、写入和擦除的闪存访问时间最短。

  • 范围2:低功耗模式

主稳压器提供1.0V的典型输出电压。系统时钟频率可达26MHz。与范围1相比,读取闪存的访问时间增加了;写入和擦除闪存的操作也是可以实现的。

通过寄存器(PWR_CR1)中的(VOS)位选择电压范围。

 

从范围1到范围2的操作顺序是:

1、将系统频率降低到低于26MHz。

2、根据范围2中的新频率目标,设置寄存器(FLASH_ACR)(LATENCY)来调整等待状态的数量。

3、设置寄存器(PWR_CR1)中的(VOS=10)

从范围2到范围1的操作顺序是:

1、设置寄存器(PWR_CR1)中的(VOS=01)

2、等待寄存器(PWR_SR2)寄存器中的(VOSF)标志被清除。

3、根据范围1中的新频率目标,设置寄存器(FLASH_ACR)(LATENCY)来调整等待状态的数量。

4、提高系统时钟频率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

btzhy

您的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值