历史上的今天
返回首页

历史上的今天

今天是:2026年03月03日(星期二)

正在发生

2023年03月03日 | STM32G0技术详解 _ PWR

2023-03-03 来源:zhihu

这篇文章来简单介绍一下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,以便执行安全关闭任务(如刹车输入)。


推荐阅读

史海拾趣

ANSHAN [Anshan Suly Electronics]公司的发展小趣事

在快速发展的过程中,ANSHAN公司始终把人才队伍建设放在首位。公司注重引进和培养高素质的技术人才和管理人才,为他们提供广阔的发展空间和良好的工作环境。同时,公司还建立了完善的培训体系和激励机制,鼓励员工不断学习新知识、掌握新技能。这些举措不仅提升了员工的综合素质和能力水平,也为公司的长远发展提供了有力的人才保障。

Amphenol Aerospace公司的发展小趣事

ANSHAN公司成立于上世纪末,当时正值电子行业的蓬勃发展期。创始人李先生凭借对电子技术的深厚理解和敏锐的市场洞察力,决定投身于这个充满机遇的领域。初创时期的ANSHAN面临资金短缺、人才匮乏和技术壁垒等多重挑战。然而,李先生带领团队日夜兼程,不断研发新产品,拓展市场渠道。他们坚持自主创新,不断攻克技术难题,逐渐在电子行业中崭露头角。

ALLTHREAD公司的发展小趣事

ALLTHREAD公司最初由一群对螺纹轧制技术充满热情的工程师创立。他们看到了电子行业对高精度螺栓的迫切需求,于是决定专注于这一领域。经过不断的研发和创新,ALLTHREAD成功推出了首款高精度、高可靠性的螺纹轧制螺栓,迅速在市场上获得了认可。

台湾固锝(GD)公司的发展小趣事
根据输入信号的类型(如模拟信号、数字信号等)选择合适的放大器芯片和电路结构。
泽耀科技(Ashining)公司的发展小趣事

随着企业规模的扩大和影响力的提升,泽耀科技(Ashining)开始积极承担社会责任,推动可持续发展。公司注重环保和节能技术的应用,致力于生产环保型电子产品,减少生产过程中的能源消耗和环境污染。同时,泽耀科技还积极参与社会公益事业,为社会的发展贡献自己的力量。

这些故事展示了泽耀科技(Ashining)在电子行业中的发展历程和取得的成就,也体现了公司不断创新、追求卓越的精神。未来,泽耀科技将继续秉持这一精神,为电子行业的发展贡献更多的力量。

CDE [ CORNELL DUBILIER ELECTRONICS ]公司的发展小趣事

近年来,随着新能源市场的蓬勃发展,CDE公司敏锐地抓住了这一机遇。公司积极参与军事和能源应用的高压直流链路电容器市场,并成功推出了针对EV快速充电的高压直流链路电容器。这一产品的推出不仅满足了市场对高效、可靠电容器的需求,也为CDE在新能源领域的发展奠定了坚实基础。

问答坊 | AI 解惑

28335控制板ADDA的奇怪问题

最近一直都在调试我的控制板上外扩的ADDA,但是遇到了一个非常让人不爽的问题:同一个程序在不同的电脑上现象不同,在我的笔记本上ADDA都能调通,但是在实验室的电脑死活不行。前一段时间CCS3.3不知道为什么老出问题,我卸了好几次,昨天重装了一遍 ...…

查看全部问答>

单片机与TCP/IP网络(接口电路图详解(1))

----89c52单片机部分——ISA接口的A,B部分.这是RTL8019网卡ISA的前半部分A1--A31(1...31),B1--B31(32...62)共62个引脚. DATA0--DATA7是网卡的8位数据总线,接单片机的P0口. RESDRV(33脚)(RESET)接单片机的T0(P3.4),单片机用P3.4来复位网卡。 IRQ9 ...…

查看全部问答>

关于扫描无线网络channel的问题

利用WINCE开发一个无线网络监控程序,希望能扫描得到当前可用的无线资源(这已实现)。 有个问题是,能不能指定扫描的channel呢?就是说,假设有11个CHANNEL可以用,但是我在扫描的时候只想扫描1、3、6号channel,如何在程序中设置呢? 哪位大侠能 ...…

查看全部问答>

求 基于44B0 裸机程序

写了几天都没写出来,还是请教各位大虾吧 基于44B0 的按键中断LED 裸机程序啊?发个给我好吗? 谢谢了 249191508@qq.com …

查看全部问答>

飞思卡尔下一代医疗电子MCU

这是昨天上海FTF2010的一个技术研讨会的ppt,传上来,大家可以看看…

查看全部问答>

[诚寻] DSP开发 DSP测试 RF测试工程师 上海 15-22万 非诚勿扰

请自荐或是推荐的朋友发送简历到以下邮箱: Jerome.zhang@focu-search.com   QQ:727190736 申请职位请务必在邮件中注明所申请职位的名称、目前的薪酬大致情况和期望、您目前的工作地点。 谢谢! 统招本科 硕士优先(本科3年左右 硕士2 ...…

查看全部问答>

脉冲序列

如何产生这样的脉冲组,它有高电平时间,低电平时间,脉冲组间隔,循环次数。这组脉冲的四个量均为上位机输入,且多个这样的脉冲组串联,间隔有可能为0。该时序为产品工作时序,实际最长时间为8000秒(单脉冲)整个脉冲组有可能到10000小时。Fpga新手,望回复 ...…

查看全部问答>

基于串口的数字万用表创意进度帖+RL78G14开发环境的安装

有朋友问我怎么安装开发环境,过程中遇到了一些问题,特别是注册那个激活码。 我这里重新搞一遍,与大家分享一下经验 如图,建议把所带光盘使用UltraISO软碟通将光盘制作成ISO文件,然后加载到虚拟光驱,这样运行速度更快.安装更省时. 然后运行根目 ...…

查看全部问答>

学模拟+《运放噪声优化》4 4.11离散噪声源构成的运放噪声模型

shiyongzhu  网友问我图4.11对应的噪声电压源和电流源,从那下载?我开始理解错了,刚才看了一下才知道。在TI官网上找到了,有点不太好找,为方便大家学习特此上传,希望有用,附图: …

查看全部问答>

【转】HPS典型的启动流程与BOOT ROM执行流程的应用笔记

HPS典型的启动流程与BOOT ROM执行流程的应用笔记 HPS作为一个SoC器件,所有执行程序都要遵循严格的启动流程,本文针对对于HPS的启动引导流程不曾关注过或者不是十分清楚的开发人员。HPS的启动是多阶段的流程,每一个阶段都会完成自己相应的工作并把 ...…

查看全部问答>