[原创] 【NUCLEO-H533RE开发板测评】03 高性能MCU,ST的功耗也很强

怀揣少年梦   2024-7-11 22:25 楼主

本次测评主要测量一下STM32H533进入低功耗模式的功耗情况。

一、STM32H533RE功耗模式

首先来了解一下,STM32H533有几种功耗模式。

查看数据手册和参考手册,有以下三种低功耗模式:休眠、停止、待机模式

image-20240711221546-1.png  

 

image.png  

1、休眠模式

关闭CPU时钟,中断系统和滴答时钟正常运行,并且可以被中断或者事件唤醒。

2、停止模式

这种模式能够实现最低功耗,并且SRAM内容和寄存器不变,所有的内核区域始终被停止,只有LSI和LSE晶振在运行,RTC也可以配置为运行或者关闭,其他被关闭。并且从停止模式退出后,可以在64M HSI的晶振运行。

3、待机模式

1)待机模式下,内部稳压器是关闭的,因此内核区域是下电了;

2)PLL、HSI RC、HSI48、CSI RC HSE也是被关闭的;

3)RTC可以保持活跃状态;

4)IO状态是保持与进入待机模式之前一样;

5)进入待机模式,SRAM和寄存器的数据是不保持的;除了备份寄存器

6)可以通过外部复位引脚、看门狗复位、唤醒引脚事件、RTC事件唤醒。

具体模式以及唤醒可以看下表

image.png  

二、电源管理

低功耗模式很大因素和内部电压也有关系。简单看一下,STM32H533内部电源管理

运行模式下电压范围有4种;停止模式下有3种。具体如图所示

image.png  

注意:

  • 上电复位、从停止模式或者待机模式退出后,内核电压是被设置在VOS3(也就是运行模式最低电压);具体可以根据性能要求通过调整PWR_VOSCR 寄存器的VOS bits 。
  • 进入停止模式时,必须先设置PWR_PMCR寄存器中的SVOS level 。

好了,了解完基本的信息,来看一下,各个模式下的功耗吧

三、功耗测试

1、编写代码

/* Private define ------------------------------------------------------------// USER CODE BEGIN PD /#define STOP_MODE 0#define SLEEP_MODE 0#define STANDY_MODE 1/ USER CODE END PD */

/* Private macro -------------------------------------------------------------// USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------/void SystemClock_Config(void);/ USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------// USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**

[url=home.php?mod=space&uid=159083]@brief[/url] The application entry point.
@retval int
/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/* MCU Configuration--------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */

HAL_Init();

/* USER CODE BEGIN Init // Delay 5 seconds /HAL_Delay(5000);/ USER CODE END Init */

/* Configure the system clock */

SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals /MX_GPIO_Init();MX_ICACHE_Init();/ USER CODE BEGIN 2 // Enter the CPU to SLEEP mode */

#if SLEEP_MODE

HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI) ; //PWR_MAINREGULATOR_ON这个参数是不可用于STM32H5的,主要是保持兼容其他产品

#elif STOP_MODE

/只调用这个,默认配置PMR_PMCR的SVOS为保留/

HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);//PWR_MAINREGULATOR_ON这个参数是不可用于STM32H5的,主要是保持兼容其他产品

#elif STANDY_MODE

HAL_PWR_EnterSTANDBYMode();

#endif

// HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI) ;

//HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);

/* USER CODE END 2 */

/* Infinite loop // USER CODE BEGIN WHILE /while (1){/ USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}

/* USER CODE END 3 */

}

2、测试

1)睡眠模式

image-20240711221911-1.png

1.3uA

2)停止模式

微信图片_20240711222024.jpg

万用表测不到;低于150nA

3)待机模式

微信图片_20240711222002.jpg

H533RE-LED.zip (1.31 MB)
(下载次数: 5, 2024-7-11 22:23 上传)

回复评论 (2)

开篇的这堆是啥啊

image.png  

点赞  2024-7-13 08:58
引用: Jacktang 发表于 2024-7-13 08:58 开篇的这堆是啥啊  

复制问题

点赞  2024-7-15 09:41
最新活动
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复