这期主要了解一下STM32实现超低功耗的机制以及实测一下STM32U5各种低功耗模式低功耗数据。
一、STM32U5A5官方功耗数据
STM32U5A5是一款超低功耗的Cortex-M33内核的MCU,属于STM32U5系列;STM32U5系列是新一代超低功耗MCU,并且也是设计最为复杂的低功耗MCU。
官方给出的功耗数据如图:停止模式都在微安级别;待机和关断模式都达到了nA级别;
二、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根据板子创建工程
2)不配置外设
最后产生工程即可
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
1)运行模式
16MHz运行模式 2.1mA;
160MHz 运行模式 7.4mA
2)休眠模式 1.9mA 和16M的运行模式差不多
3)停止模式
模式0和模式1功耗一致: 49.4uA;
模式2::20.5uA;
模式3:7.2uA;
4)待机模式 0.6uA
5)关断模式 0.5uA
总结,从数据来看,STM32U5A5的低功耗模式下电流是很小的,在一些应用上可以做到很省电,不得不说,国内还没有哪家可以做到这么低了。
工程文件:
(下载次数: 4, 2024-3-14 13:18 上传)