[原创] 【ST NUCLEO-U5A5ZJ-Q开发板测评】06 STM32U5系列的低功耗有多强

怀揣少年梦   2024-3-13 10:11 楼主

这期主要了解一下STM32实现超低功耗的机制以及实测一下STM32U5各种低功耗模式低功耗数据。

一、STM32U5A5官方功耗数据

        STM32U5A5是一款超低功耗的Cortex-M33内核的MCU,属于STM32U5系列;STM32U5系列是新一代超低功耗MCU,并且也是设计最为复杂的低功耗MCU。

官方给出的功耗数据如图:停止模式都在微安级别;待机和关断模式都达到了nA级别;

image-20240313100800-1.png  

二、STM32U5系列实现超功耗的原因

        1、支持SMPS;

        STM32U5系列MCU支持在运行和低功耗模式下使用内部 SMPS,从而能够设计出非常高效的低功耗应用。注意带有“Q”后缀的 STM32U5系列器件(例如 STM32U5xxxxQ),低功耗设计可应用于工业智能流量计、健康及健身类穿戴产品、医疗监护设备、POS支付终端等对于功耗和安全性同时有高要求的场景。

        2、40nm先进工艺

        我们知道越先进的工艺代表着功耗性能越好,之前的STM32采用90nm工艺制程,而STM32U5采用更先进40nm工艺,那功耗必然会降低,并同时改善了漏电流和动态电流。

        3、优化功耗管理

        STM32U5改善了功耗管理模式,增加了低功耗后台自主模式(LPBAM,Low Power Background Autonomous Mode),和一些可以在低功耗下运行的外设和功能。STM32U5中有16kB SRAM作为低功耗后台的自主模式的存储空间,可以在CPU休眠的情况下,将I2C、SPI、串口、ADC等外设数据通过LPDMA传送至其中,然后当数据累积到一定数量时再唤醒CPU进行一次性批处理。通过避免频繁唤醒CPU,从而达到节省功耗的目的。

        4、集成了高频率的DC/DC以及LDO。

        通过集成高频率DC/DC,可减少VDD至内核供电的转换损耗,实现最优化的动态功耗和最快速的动态响应。而通过LDO,则可解决DC/DC启动时间较慢的弊端

        5、分区FLASH和SRAM

        类似LPRAM,提供分区的FLASH和SRAM,用户可以根据应用场景,将不常用的Flash关闭并按需开启,又或者通过降低FLASH读取速度降低功耗

三、低功耗模式有哪些

        1、睡眠模式

        CPU 时钟关闭,包括 Cortex-M33 内核(例如 NVIC、SysTick 等)在内的所有外设都可以运行,并在发生中断或事件时唤醒 CPU。

        2、停机模式

        停机模式基于 Cortex-M33 深度睡眠模式与外设时钟门控的组合。核心域中的所有时钟均停止。禁用 PLL、MSIS、MSIK、HSI16 和 HSE 振荡器,如果外设请求,则可以在停机 0、停机 1、或停机 2 模式下启用 MSIS、MSIK、HSI16。

        低功耗后台自主模式(LPBAM)

        一些外设是自主的,可以在需要时通过请求其内核时钟(最高 24MHz 的 MSIK,或 HSI16)及其总线(APB 或AHB)而在停机 0、停机 1、或停机 2 模式下运行,以便与 DMA(GPDMA1 或 LPDMA1,取决于外设和功耗模式)传输数据。

        3、 待机模式

        待机模式实现在保留欠压复位功能时的最低功耗:关闭内部调压器,从而关闭核心域。PLL、MSI(MSIS 和MSIK)RC、HSI16 RC 和 HSE 晶振也会关闭。RTC 可保持激活状态。可选择保留 8、56 或 64 KB 的 SRAM2。可以施加内部上拉或下拉来保持 I/O 电平。唤醒后的系统时钟为 MSIS,最高 4MHz。

        4、关断模式

        关断模式下功耗达到最低。该模式基于深度睡眠模式,其中调压器被禁用。因此核心域断电。通过关闭内部稳压器,以及禁用耗电监控,该模式可实现最低电流消耗。借助某一个(共五个)唤醒引脚或复位引脚,能够从该模式唤醒。由低速外部振荡器(LSE)定时的 RTC 在此模式下也是起作用的,具有唤醒功能模式。

四、实测功耗数据

        1、配置工程

        1)直接使用STM32CubeMX根据板子创建工程

image-20240313100800-2.png  

        2)不配置外设

image-20240313100800-3.png  

        最后产生工程即可

        3)在main函数里面添加如下代码

  HAL_Delay(5000);
	//HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);

	//HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI);

	//HAL_PWREx_EnterSTOP1Mode(PWR_STOPENTRY_WFI);

	 //HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);

	//HAL_PWREx_EnterSTOP3Mode(PWR_STOPENTRY_WFI);

	//HAL_PWR_EnterSTANDBYMode();

	//HAL_PWREx_EnterSHUTDOWNMode();

2、实测数据

默认时钟频率是16M

image-20240313100800-4.png  

1)运行模式

16MHz运行模式 2.1mA;

image-20240313100800-5.png  

160MHz 运行模式 7.4mA

image-20240313100800-6.png  

2)休眠模式 1.9mA 和16M的运行模式差不多

image-20240313100800-7.png  

3)停止模式

模式0和模式1功耗一致: 49.4uA;

image-20240313100800-8.png  

模式2::20.5uA;

image-20240313100800-9.png  

模式3:7.2uA;

image-20240313100800-10.png  

4)待机模式 0.6uA

image-20240313100800-11.png  

5)关断模式 0.5uA

image-20240313100800-12.png  

总结,从数据来看,STM32U5A5的低功耗模式下电流是很小的,在一些应用上可以做到很省电,不得不说,国内还没有哪家可以做到这么低了。

工程文件:

LowPowerTest.zip (15.17 MB)
(下载次数: 4, 2024-3-14 13:18 上传)
本帖最后由 怀揣少年梦 于 2024-3-14 13:18 编辑

回复评论 (2)

全是英文完全看不懂版主厉害

要是可以吧英文知识复制到我大脑就好了

点赞  2024-3-13 11:20
引用: 小生意 发表于 2024-3-13 11:20 全是英文完全看不懂版主厉害 要是可以吧英文知识复制到我大脑就好了

借助翻译软件,基本上还是可以看懂的

点赞  2024-3-13 13:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复