STM32G0技术详解 _ PWR

2023-03-03  

这篇文章来简单介绍一下STM32G0的POWER部分。

说到POWER,首先会想到跟低功耗相关的一些内容,所以可以把GO和L4系列做一个对比。


L系列也就是LOW POWER系列,它的低功耗模式是非常多的,一个好的低功耗产品有别于普通的MCU产品,一定是说它有不同的低功耗模式可供选配。

L4有一个stop 2模式,在所有STM32的产品中stop模式基本上基本上都是功耗最低的,执行到stop唤醒之后程序还可以进行下去,其他比stop模式功耗更低的模式,在程序唤醒之后就是reset,不可以再继续往下走。

Stop里面也根据有哪些外设是可以使用的、哪些外设不可以使用分为stop 0、stop 1、stop 2,在L4里有stop 2模式,在STM32里stop 2的功耗除了stop模式,还有standby模式,standby模式比stop模式的功耗更低,但是系统从standby模式唤醒后,整个系统要reset,不会继续执行代码。Standby模式下有一个小的SRAM,可以做数据的保持,在L4的SRAM比较大,它是把SRAM划分成几个SRAM,几个不同的SRAM中只有SRAM2可以做数据的保持,而在G0中所有的SRAM都可以做数据的保持。

PVD和BOR是做电压的检测,BOR是欠压检测,欠压检测就是如果没达到阈值电压的时候,是不能上电的,不能reset;掉电的时候也是这样,掉到阈值电压以下就reset,这是让整个系统更加稳定的功能。PVD就是可编程电压的检测器,可编程的电压不会产生reset,它是产生一个中断,另外可编程就意味着阈值电压是可以遍进去的,所以这是一个比较方便的外设。在L4中,下降和上升阈值必须一起配置,而在G0中,下降和上升阈值可以各自配置。

BOR和PDR周期采样是在G0中才存在的功能。

电源设计


从电源设计的角度,我们看任何一个MCU,都要看它的电源是怎么设计的,尤其是低功耗的时候电源也很重要。

对于这个电源来说,进来的电是VDD,VDD进来之后一部分给数字供电,一部分给模拟供电

,数字部分给数字外设供电,外设供电之后数字有一部分通过电压调节器分出来内核的电压,内核的电压是可以去调节的,其实电压调节器也分好几种——主电压调节器、低功耗电压调节器,不同的电压调节器本质上是说输出给内核的电压是不同的,有可能全输的时候是1.2V的,有可能半输的时候是1.0V的,也有可能低功耗的时候比1.0V还低,电压和整个MCU跑的频率是成正比的,电压越大,MCU整个主频跑的越快;电压越低,主频越小。数字部分还有standby电路的电压,有一个备份域,我们可以看到VBAT,这个的意思就是说可以接电池去给它供电,如果整个系统VDD是有电的话,那就自动通过VDD来供电,当系统的VDD没有电了,这时候有电池,VBAT这个引脚接了电池,就转为电池供电。

G0的模拟比较好的是它有一个VREF buffer,这个buffer的意思是它提供两个内部的参考电压源,这两个参考电压源很精准,一个是2.5V,一个2.48V,可以用做内部模拟器件的参考电压,而且还可以输出用做外部的参考电压。

VDD供电范围是1.7V~3.6V(最低可1.6V,低于该值则会产生Power-down),在存在其他独立电源供电时,VDD必须提供。

VDD供电范围是1.62~3.6V,当使用ADC或COMP时,VDDA的最小供电电压为1.62V;当使用DAC时,VDDA的最小供电电压为1.8V;当时用VREFBUF时,VDDA的最小供电电压为2.4V。

当VDDA<2V时,VREF+=VDDA;当VDDA>2V时,2VVBAT的电压范围为1.55~3.6V,供电范围包括RTC和128字节备份寄存器。

VREF+:ADC和DAC的参考电压,该电压可以由外部参考电压或者内部的电压参考buffer提供,在低引脚数量的封装上不提供VREF+引脚和内部参考电压,此时VREF+与VDDA内部连接到VDD,内部电压参考buffer保持禁用状态。

电源稳压器

对于GO来说,稳压器是由两个部分组成的,一个是主稳压器,另一个是低功耗稳压器。

主稳压器有2个电压范围(Range 1:1.2V,Range 2:1.0V),用于状态电压调整,用在RUN、Sleep和stop 0模式下。

低功耗稳压器用在LP Run、LP Sleep和带SRAM内容保留的stop 1模式。


G0的不同功耗模式


低功耗模式状态机


主要特性

7种低功耗模式带快速唤醒,低至33nA(Shutdown)仍可用I/O唤醒,低至870nA(standby)仍可有36KB RAM保留能力,很多种外设可以从低功耗模式下唤醒MCU。

在运行模式下低至98.3µA/MHz。

VBAT模式依旧可以保持RTC和备份寄存器的内容。

运用优势

高度灵活度使用户可以选择多个低功耗模式,这取决于需要激活哪些外设,性能要求以唤醒源。

增加了电池使用寿命。

由于只有一对VDD/VSS电源对,从而降低了BOM成本。

RUN和LP RUN模式

每一个外设的时钟可以配置为开启ON或关闭OFF,复位后,除了FLASH所有的外设时钟都是关闭的;在RUN模式下,SRAM时钟总是ON开启的。

当从SRAM启动(在RUN或LP RUN 模式下),FLASH闪存可以处于Power-down模式(仅限Low-Power run);FLASH闪存时钟可以关闭;中断向量必须被重映射到SRAM。

Sleep和LP Sleep模式


内核停止,每个外设的时钟可以被打开或关闭。

通过执行WFI(等待中断)或WFE(等待事件)进入该模式。

2种机制进入该模式:Sleep Now:一旦执行了WFI/WFE事件后,MCU就立刻进入Sleep模式;

Sleep on Exit:一旦退出了最低优先级ISR,MCU就立刻进入Sleep模式,在进入Sleep模式前,栈没有被弹出,在下个中断产生时也不会被压栈,节省运行时间。

由内核Cortex-M0+系统控制寄存器[SLEEPONEXIT]。

Sleep模式:Range 1


LP Sleep



Stop模式

SRAM和所有的外设寄存器保留。

所有的高速时钟停止。

LSE(32.768KHz外部时钟)和LSI(32KHz内部时钟)可以使能。

一些外设能够被激活并且用于从stop模式唤醒。

系统时钟唤醒后是HSI16(2µs唤醒时钟从SRAM启动,5.6µs从FLASH启动)。

Stop 1和stop 2在主稳压器关闭的情况下是等同的,会有一个更小的功耗但是更长的唤醒时间。

Stop 0模式



Stop 1模式



Stop模式对比



Stop 0和stop 1模式最明显的区别就是稳压器不同,也就导致两种模式的功耗有很大区别。

Standby模式


SRAM和寄存器内容默认不会保存(电源稳压器为关闭),但20字节备份寄存器总是保存的。

可以设置为保存36K字节SRAM的内容(默认不保留SRAM的内容,但可配置)。

超低功耗BOR/PDR配置:忽略下降VDD斜率,采用ULP模式周期性监控VDD电压从而降低功耗。

每个I/O口可配置为上拉/下拉,利用PWR_PUCRx/PWR_PDCRx寄存器(x=A,B,……H),当PWR_CR3寄存器中的APC=1时,允许去控制外部器件的输入状态。

唤醒引脚:每个唤醒引脚的极性可配置。

唤醒时钟是HSI16为16MHz。

Standby模式下带SRAM



Standby模式不带SRAM



Shutdown模式

Shutdown模式和standby模式类似,但是没有电源监控,即没有BOR和PDR,供电不能切换到VBAT,如果电压的供电低于1.6V产品的状态不能得到保证,并不能自动切换到VBAT;

没有LSI,没有IWDG。

当从shutdown模式跳出来将产生BOR复位,除了那些在备份域之外的所有的寄存器被复位,产生复位信号。

20字节的备份寄存器。

唤醒源:5个唤醒引脚,RTC。

唤醒时钟为16MHz的HSI。

Shutdown模式


低功耗模式总结


VBAT备份域

备份域包含:RTC由32.768KHz LSE提供,包含2个入侵引脚(tamper pins);

20字节备份寄存器;

RCC_BDCR寄存器。

当VDD电源关闭和开启时,内部会在VBAT和VDD之间自动切换。

内部连接到ADC通道用于检测电压(VBAT/3)。

VBAT充电:当VDD存在时,允许通过内部电阻对VBAT上的超级电容充电。


VBAT模式


电源监控

除了shutdown模式,在所有的模式下POR和PDR总是使能的,在stop 0/1和standby模式下,它只能在ULPEN比特位设置后周期性的工作。

当BOR_EN选项位使能后,除了shutdown模式,在所有的模式下BOR总是使能的,无论VDD斜率如何,只要MCU供电电压降到所选的阈值以下就能复位,可以通过选项字节BORR_LEV[1:0]和BORF_LEV[1:0]分别对上升沿和下降沿选择4种阈值。

除了standby和shutdown模式,在所有的模式下PVD总是使能的,7个阈值+PVD_IN(Vrefint),对于上升沿或下降沿可独立配置。

PVD的上升阈值PVDRT可以选择使用内部连接的Vrefint,此时PVDFT无效。

欠压BOR复位

与STM32F0相比,G0的POR/PDR之外还存在着一个BOR。

BOR将器件保持在复位状态,直到达到所需的电源电压。

4个BOR阈值,可以独立的配置上升沿和下降沿,为用户提供滞后的灵活性。


电源电压检测

与STM32F0相比,G0的PVD允许用户分别设置上升沿和下降沿的电压阈值,PVD仍然连接到极性可配的EXTI Line,以便执行安全关闭任务(如刹车输入)。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。