你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-U083RC评测】MSI功耗测评

[复制链接]
马晓天 发布时间:2024-6-19 14:37
    STM32U08系列采用Arm Cortex®-M0+内核,这是一个专为低功耗和成本敏感型应用设计的32位内核。运行频率:STM32U08系列MCU的运行频率高达56 MHz,这为其提供了足够的处理能力来执行各种嵌入式应。
STM32U083x系列提供高达256 KB的Flash存储器和高达40 KB的SRAM,具有八种封装方式,包括32至81引脚的UFQFPN、WLCSP、LQFP和UFBGA封装。 
STM32U083x资源:
一个12位ADC,两个内置的轨到轨模拟比较器,一个运算放大器
一个低功耗RTC,一个通用32位定时器,一个专门用于电机控制的16位PWM定时器,三个通用16位定时器以及三个16位低功耗定时器。
多达21个电容感应通道
三个I2C、两个SPI、四个USART和两个低功耗UART,以及一个支持设备模式的无晶振USB2.0。
一个带内部升压转换器的LCD控制器,可以驱动8x48或4x52个段码。
STM32U083xC器件内置了一个AES硬件加速器。
低功耗特性:
根据规格书STM32U0 :
*1.71 V至3.6 V电源
*-40°C至85/125°C的温度范围
*VBAT模式:130 nA(带RTC和9个32位备份寄存器)
*关机模式(6个唤醒引脚):
*16nA待机模式(6个唤醒引脚):
*带RTC的160 nA,不带RTC的30 nA
*Stop 2模式:带RTC的825 nA,不带RTC的695 nA
*运行Mode(LDHmode):52uA/MHZ
*批量采集模式
*4uA从停止模式唤醒用户
*断电复位
CubeMX  需要升级到6.11以上才可以对STM32U0支持。
   STM32U0的低功耗编程主要涉及配置微控制器进入不同的低功耗模式,以及管理这些模式的进入和退出条件。
1). 选择合适的低功耗模式
STM32U0支持多种低功耗模式,包括睡眠模式、停止模式和待机模式。根据应用的需求,选择合适的模式非常重要。
睡眠模式:CPU停止工作,但外设时钟保持开启。这种模式适用于外设需要持续运行但CPU不需要处理任务的场景。
停止模式:所有时钟都停止,但SRAM和寄存器内容保持不变。这种模式适用于需要快速唤醒的场景。
待机模式:功耗最低,关闭了1.8V的内核电源。这种模式适用于长时间不需要工作的场景。
2). 配置外设
在进入低功耗模式之前,需要配置好外设的行为。例如,如果使用了外部中断来唤醒微控制器,那么需要配置相应的中断引脚,并设置中断优先级和触发条件。
3). 配置时钟系统
进入低功耗模式时,需要关闭不必要的时钟信号以降低功耗。这包括CPU时钟、外设时钟等。根据选择的低功耗模式,合理配置时钟系统是关键。
1.jpg


   在STM32微控制器家族中,MSI指的是Multi-Speed Internal Oscillator(多速内部振荡器)。对于STM32U0系列来说,MSI是一种灵活的内置低功耗振荡器,它可以生成多种频率的时钟信号,无需外部晶振或陶瓷谐振器。STM32U0系列中的MSI时钟源可以在一定范围内调整其输出频率,这样设计人员可以根据系统需求选择合适的时钟速度,既可以满足性能要求,也能优化功耗。在STM32U0系列中,MSI时钟源支持多个预定义的频率输出级别,这对于在低功耗模式下操作特别有用,因为它可以在不增加外部组件成本的同时提供稳定的时钟信号,从而简化系统设计并降低成本。此外,由于它是内部振荡器,因此不受外部环境温度和电压波动的影响,提高了系统的稳定性和可靠性。
LED初始化
  1. static void MX_GPIO_Init(void)
  2. {
  3.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  4. /* USER CODE BEGIN MX_GPIO_Init_1 */
  5. /* USER CODE END MX_GPIO_Init_1 */

  6.   /* GPIO Ports Clock Enable */
  7.   __HAL_RCC_GPIOA_CLK_ENABLE();

  8.   /*Configure GPIO pin Output Level */
  9.   HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);

  10.   /*Configure GPIO pin : LED0_Pin */
  11.   GPIO_InitStruct.Pin = LED0_Pin;
  12.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  13.   GPIO_InitStruct.Pull = GPIO_NOPULL;
  14.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  15.   HAL_GPIO_Init(LED0_GPIO_Port, &GPIO_InitStruct);

  16. /* USER CODE BEGIN MX_GPIO_Init_2 */
  17. /* USER CODE END MX_GPIO_Init_2 */
  18. }
复制代码



3.jpg


RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11; RCC_MSIRANGE_11 是STM32微控制器中的一个宏定义,它通常用于配置MSI(Multi-Speed Internal)时钟的范围。MSI是STM32微控制器内部的一个时钟源,它可以提供不同的频率范围。通过JP5测试功耗:48M满速跑仅仅4.23 MA。RCC_MSIRANGE_1; 电流: 132uA。



4.jpg



小结:
    MSI(Multi-Speed Internal)是STM32系列微控制器内置的一种可调节频率的内部RC振荡器,其特点是能够在多个预定义的频率之间切换,以便优化系统的性能与功耗之间的平衡。通过测试发现MSI时钟频率对功耗很大。
时钟速度与功耗的关系:一般来说,时钟频率越高,MCU消耗的功率也就越大,因为更高的时钟速度意味着更快的运算速度和更多的开关动作,这些都会增加动态功耗。当降低MSI时钟频率时,由于内部电路的工作频率降低,动态功耗会随之减少。



收藏 评论0 发布时间:2024-6-19 14:37

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版