STM32U08系列采用Arm Cortex®-M0+内核,这是一个专为低功耗和成本敏感型应用设计的32位内核。运行频率:STM32U08系列MCU的运行频率高达56 MHz,这为其提供了足够的处理能力来执行各种嵌入式应。 STM32U083x系列提供高达256 KB的Flash存储器和高达40 KB的SRAM,具有八种封装方式,包括32至81引脚的UFQFPN、WLCSP、LQFP和UFBGA封装。 STM32U083x资源:+ ] e, r4 z& v- z 一个12位ADC,两个内置的轨到轨模拟比较器,一个运算放大器 一个低功耗RTC,一个通用32位定时器,一个专门用于电机控制的16位PWM定时器,三个通用16位定时器以及三个16位低功耗定时器。 多达21个电容感应通道 三个I2C、两个SPI、四个USART和两个低功耗UART,以及一个支持设备模式的无晶振USB2.0。 一个带内部升压转换器的LCD控制器,可以驱动8x48或4x52个段码。 STM32U083xC器件内置了一个AES硬件加速器。; V& W- X; g' v+ p4 h% g6 h& Y" s 低功耗特性:& w2 e2 `8 N' m# U7 b+ |1 E9 _* G 根据规格书STM32U0 :! p( Z3 k; f, r' U |+ } *1.71 V至3.6 V电源3 Q% c8 [: k- c" B) Z *-40°C至85/125°C的温度范围- z$ B8 S/ J, B6 ^+ G3 X2 @- u2 w *VBAT模式:130 nA(带RTC和9个32位备份寄存器) *关机模式(6个唤醒引脚): *16nA待机模式(6个唤醒引脚):! s% m; n9 y" p: F& c8 u. H *带RTC的160 nA,不带RTC的30 nA# u( ~$ S/ E# |( s; m5 S *Stop 2模式:带RTC的825 nA,不带RTC的695 nA2 N; \$ a8 B; E *运行Mode(LDHmode):52uA/MHZ! @4 @3 [; @* Q2 y3 _6 |- I0 C' Y5 L *批量采集模式 *4uA从停止模式唤醒用户 *断电复位 CubeMX 需要升级到6.11以上才可以对STM32U0支持。 STM32U0的低功耗编程主要涉及配置微控制器进入不同的低功耗模式,以及管理这些模式的进入和退出条件。 1). 选择合适的低功耗模式0 M6 k' u0 q' n/ u r5 z STM32U0支持多种低功耗模式,包括睡眠模式、停止模式和待机模式。根据应用的需求,选择合适的模式非常重要。! j3 }- S: O- ^" J; V 睡眠模式:CPU停止工作,但外设时钟保持开启。这种模式适用于外设需要持续运行但CPU不需要处理任务的场景。/ U; {, ^8 `+ R8 i- z; C$ m1 o 停止模式:所有时钟都停止,但SRAM和寄存器内容保持不变。这种模式适用于需要快速唤醒的场景。# ]( i$ F; {+ V; F2 B+ A, N 待机模式:功耗最低,关闭了1.8V的内核电源。这种模式适用于长时间不需要工作的场景。& S: } {" t, H. ?) Y 2). 配置外设 在进入低功耗模式之前,需要配置好外设的行为。例如,如果使用了外部中断来唤醒微控制器,那么需要配置相应的中断引脚,并设置中断优先级和触发条件。9 d7 x( B$ p8 _0 ?3 _3 _ 3). 配置时钟系统0 l0 ^) l+ q' B 进入低功耗模式时,需要关闭不必要的时钟信号以降低功耗。这包括CPU时钟、外设时钟等。根据选择的低功耗模式,合理配置时钟系统是关键。 8 k" y- @. q( g% W# D: V 0 [0 i8 N+ I9 d$ z7 o 在STM32微控制器家族中,MSI指的是Multi-Speed Internal Oscillator(多速内部振荡器)。对于STM32U0系列来说,MSI是一种灵活的内置低功耗振荡器,它可以生成多种频率的时钟信号,无需外部晶振或陶瓷谐振器。STM32U0系列中的MSI时钟源可以在一定范围内调整其输出频率,这样设计人员可以根据系统需求选择合适的时钟速度,既可以满足性能要求,也能优化功耗。在STM32U0系列中,MSI时钟源支持多个预定义的频率输出级别,这对于在低功耗模式下操作特别有用,因为它可以在不增加外部组件成本的同时提供稳定的时钟信号,从而简化系统设计并降低成本。此外,由于它是内部振荡器,因此不受外部环境温度和电压波动的影响,提高了系统的稳定性和可靠性。& b6 b$ P7 k$ U1 o% q LED初始化* @. s1 q. t- y+ ^% W
% n3 o& S5 B1 Z q( u1 _( ? A7 T0 t' W0 j6 _ y( ?- @) b # v% t' ^" ?- C" h+ P( }( W8 s 5 P/ k9 W* v' W6 Z3 q5 c* A 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 {7 v* [5 o( I! D! Y % V4 k+ }+ w! F. m" n * Q/ W, v2 O$ s" h6 c9 n9 o 3 O+ h! [& a& ` + j T' W- W: p3 j) t 小结: MSI(Multi-Speed Internal)是STM32系列微控制器内置的一种可调节频率的内部RC振荡器,其特点是能够在多个预定义的频率之间切换,以便优化系统的性能与功耗之间的平衡。通过测试发现MSI时钟频率对功耗很大。7 Z2 [! Z' I8 ?7 {- ` 时钟速度与功耗的关系:一般来说,时钟频率越高,MCU消耗的功率也就越大,因为更高的时钟速度意味着更快的运算速度和更多的开关动作,这些都会增加动态功耗。当降低MSI时钟频率时,由于内部电路的工作频率降低,动态功耗会随之减少。8 e2 i6 y4 W' F! A9 I' |. h) C ! \! h$ ]: @ P+ T4 L: R |
有奖直播 | 解析STM32U0 新一代超低功耗入门级MCU
行业应用篇 | STM32U0为水气表提供降本增效新思路
打卡学习 | 《STM32U0线上课程》上线!
【NUCLEO-U083RC评测】驱动OLED模组显示
【NUCLEO-U083RC评测】ULP uart 定时器测评
【NUCLEO-U083RC评测】+ AES加解密模块性能测试
【NUCLEO-U083RC评测】+ RNG硬件随机数模块生成彩票号码
【NUCLEO-U083RC评测】+真随机数测试
【NUCLEO-U083RC评测】+串口shell移植
【NUCLEO-U083RC评测】低功耗定时器及休眠唤醒