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

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

[复制链接]
马晓天 发布时间:2024-6-19 14:37
    STM32U08系列采用Arm Cortex®-M0+内核,这是一个专为低功耗和成本敏感型应用设计的32位内核。运行频率:STM32U08系列MCU的运行频率高达56 MHz,这为其提供了足够的处理能力来执行各种嵌入式应。6 ~; O) G7 |! a& I) _# f' C
STM32U083x系列提供高达256 KB的Flash存储器和高达40 KB的SRAM,具有八种封装方式,包括32至81引脚的UFQFPN、WLCSP、LQFP和UFBGA封装。 ( ~- X  ^: _7 I- _+ r
STM32U083x资源:
  Y9 H% D6 g+ f6 Z' l# v& N. z一个12位ADC,两个内置的轨到轨模拟比较器,一个运算放大器! c* ^$ t- a& S* Z; U
一个低功耗RTC,一个通用32位定时器,一个专门用于电机控制的16位PWM定时器,三个通用16位定时器以及三个16位低功耗定时器。
0 A* @8 H( P/ R0 P  h" a5 a多达21个电容感应通道' _7 P2 L# _& ?! Q2 \) a
三个I2C、两个SPI、四个USART和两个低功耗UART,以及一个支持设备模式的无晶振USB2.0。
9 [2 d1 h9 j8 d/ o一个带内部升压转换器的LCD控制器,可以驱动8x48或4x52个段码。
' T7 _# j2 S0 R& A  xSTM32U083xC器件内置了一个AES硬件加速器。
5 [# c6 }: k2 |5 I! z低功耗特性:/ c; h3 H* a/ Z! ^1 d
根据规格书STM32U0 :
$ S* c7 D8 y4 H8 d% l3 Y" q*1.71 V至3.6 V电源
" X( |- g( T9 M  i: t1 l" Q*-40°C至85/125°C的温度范围* G# O1 y5 J! F! ]- ~! n' `; |
*VBAT模式:130 nA(带RTC和9个32位备份寄存器)6 R( k4 \4 G" H
*关机模式(6个唤醒引脚):
/ p" ]9 f; R! l) `+ t; G  [*16nA待机模式(6个唤醒引脚):
- l1 _: J" U6 C' \( z' F0 s*带RTC的160 nA,不带RTC的30 nA
* m  _1 P+ O' q7 o& k$ z. G# D! u+ y*Stop 2模式:带RTC的825 nA,不带RTC的695 nA/ {3 N" B7 L. t
*运行Mode(LDHmode):52uA/MHZ
7 x) J6 q9 \' u" z*批量采集模式1 m# G) G# d$ S) w! h$ E! {
*4uA从停止模式唤醒用户$ u5 Y+ t: W# J$ Y; Y% p; z
*断电复位$ Y0 L4 S0 ^8 u/ K8 |+ c# Q
CubeMX  需要升级到6.11以上才可以对STM32U0支持。7 ?' ^; |! E" K8 {* N
   STM32U0的低功耗编程主要涉及配置微控制器进入不同的低功耗模式,以及管理这些模式的进入和退出条件。
3 {' r% _$ d  g. }+ p; u; Z1). 选择合适的低功耗模式
  Y" L7 ]! r: BSTM32U0支持多种低功耗模式,包括睡眠模式、停止模式和待机模式。根据应用的需求,选择合适的模式非常重要。
; A/ a6 x& G0 w( w% h$ P睡眠模式:CPU停止工作,但外设时钟保持开启。这种模式适用于外设需要持续运行但CPU不需要处理任务的场景。( _+ A! M4 n7 J5 u' |
停止模式:所有时钟都停止,但SRAM和寄存器内容保持不变。这种模式适用于需要快速唤醒的场景。
- j2 Y7 r3 j* W( G4 Z; @5 I待机模式:功耗最低,关闭了1.8V的内核电源。这种模式适用于长时间不需要工作的场景。
5 |, D% b; w8 `1 B2). 配置外设
/ B* B6 x; y2 a/ k: L2 i0 M在进入低功耗模式之前,需要配置好外设的行为。例如,如果使用了外部中断来唤醒微控制器,那么需要配置相应的中断引脚,并设置中断优先级和触发条件。
5 z: G/ {/ U- I( M3). 配置时钟系统
' [# A5 t: N4 S! E7 p$ N0 _进入低功耗模式时,需要关闭不必要的时钟信号以降低功耗。这包括CPU时钟、外设时钟等。根据选择的低功耗模式,合理配置时钟系统是关键。' v0 ?. s' |  b5 ], Q3 I+ F, p
1.jpg
8 C8 L- v; v; ]1 a" p
; M# M- ^1 R. _9 M4 I& P' v2 ]- ~& k( x1 n
   在STM32微控制器家族中,MSI指的是Multi-Speed Internal Oscillator(多速内部振荡器)。对于STM32U0系列来说,MSI是一种灵活的内置低功耗振荡器,它可以生成多种频率的时钟信号,无需外部晶振或陶瓷谐振器。STM32U0系列中的MSI时钟源可以在一定范围内调整其输出频率,这样设计人员可以根据系统需求选择合适的时钟速度,既可以满足性能要求,也能优化功耗。在STM32U0系列中,MSI时钟源支持多个预定义的频率输出级别,这对于在低功耗模式下操作特别有用,因为它可以在不增加外部组件成本的同时提供稳定的时钟信号,从而简化系统设计并降低成本。此外,由于它是内部振荡器,因此不受外部环境温度和电压波动的影响,提高了系统的稳定性和可靠性。/ R1 S1 I; m$ z& a$ [+ \0 t5 ?- H* J
LED初始化
) g9 S8 L  w0 c8 X0 r' H
  1. static void MX_GPIO_Init(void)2 w- ?. `! o  P9 O# n' w3 x  Z
  2. {& z, Q, N3 K7 H1 i: N. q1 v
  3.   GPIO_InitTypeDef GPIO_InitStruct = {0};
    0 O& D4 r; x# V
  4. /* USER CODE BEGIN MX_GPIO_Init_1 */
    . ~! W4 a6 \$ a  ]* L5 y& C
  5. /* USER CODE END MX_GPIO_Init_1 */
    , ?4 @. o/ Q* l* }6 J

  6. . f' G% o, N6 }$ k0 p/ t( |' k0 q
  7.   /* GPIO Ports Clock Enable */
    ) w, ~8 p. ]% p8 ~) J* M& z
  8.   __HAL_RCC_GPIOA_CLK_ENABLE();, _8 b! |& E" D; a3 _- u0 z

  9. " ]& T' C( s9 B4 h; l! Z" E0 U
  10.   /*Configure GPIO pin Output Level */) |" r; R3 _4 y- @5 w* @
  11.   HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);1 K2 C# o2 }% n! o- L& ~& F- q" M
  12. 3 I$ o5 t: h, l6 i0 d
  13.   /*Configure GPIO pin : LED0_Pin */4 }/ L2 p8 J1 z& I
  14.   GPIO_InitStruct.Pin = LED0_Pin;* l1 a$ H; U) w
  15.   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    8 q$ x, D5 [9 h% ^* c) k- t0 o4 D
  16.   GPIO_InitStruct.Pull = GPIO_NOPULL;
    $ u- m/ u* p$ I, {& `( ~
  17.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    8 w; X, j8 v0 J
  18.   HAL_GPIO_Init(LED0_GPIO_Port, &GPIO_InitStruct);% a  z$ D3 p0 l# J. ?* W6 B
  19. 5 t- D) s' Q4 l7 w& N/ m( Z4 V7 H
  20. /* USER CODE BEGIN MX_GPIO_Init_2 */
    ' e. y7 ]. n! m! j9 \2 v
  21. /* USER CODE END MX_GPIO_Init_2 */
    8 W- l4 [) d& l* r3 W) c
  22. }
复制代码

" ]4 n! L0 r0 ?1 }: s. N# s; t5 y+ L) B
' e' U% A' o2 Q0 Y5 e$ l* a
3.jpg
5 m8 T: ~8 i% o$ W
& A4 b$ F0 O6 \$ {
# [! y' Y9 `( h- K! N! yRCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11; RCC_MSIRANGE_11 是STM32微控制器中的一个宏定义,它通常用于配置MSI(Multi-Speed Internal)时钟的范围。MSI是STM32微控制器内部的一个时钟源,它可以提供不同的频率范围。通过JP5测试功耗:48M满速跑仅仅4.23 MA。RCC_MSIRANGE_1; 电流: 132uA。
# n# S$ m2 g) g2 h0 Z4 H' z5 e6 x' e. U& D
. t8 @9 Z# n4 F4 c* V; S1 E' G
; \3 @# }( y0 V0 t# G7 a# P
4.jpg
/ f# T1 u! S; D' P) B! L. i* i# V+ s; ^$ m! `
, @9 M8 Q; g/ x* ]( ]$ ^- t

& G  z7 I2 s' `/ y1 {2 ?小结:; y, O" {8 }$ H  }" ^. |: d
    MSI(Multi-Speed Internal)是STM32系列微控制器内置的一种可调节频率的内部RC振荡器,其特点是能够在多个预定义的频率之间切换,以便优化系统的性能与功耗之间的平衡。通过测试发现MSI时钟频率对功耗很大。; {+ s2 X0 {" }# f( k/ d
时钟速度与功耗的关系:一般来说,时钟频率越高,MCU消耗的功率也就越大,因为更高的时钟速度意味着更快的运算速度和更多的开关动作,这些都会增加动态功耗。当降低MSI时钟频率时,由于内部电路的工作频率降低,动态功耗会随之减少。
7 c/ I! `% G; b. c) K* v
/ @/ Y1 ?  d& l
1 o5 Q0 S1 U% P! z) c1 L4 e: r1 H0 ?6 [
收藏 评论0 发布时间:2024-6-19 14:37

举报

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