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

利用 STM32L4 系列微控制器优化功耗和性能

[复制链接]
STMCU小助手 发布时间:2022-7-13 10:25
前言
  J1 O$ F9 \6 eSTM32L4 系列的微控制器采用新型结构制造,得益于其高度灵活性和高级外设集,实现了一流的超低功耗性能。 STM32L4 系列产品的性能为应用提供最佳能量效率,在超低功耗领域首屈一指。
" W, ^2 H0 N6 [STM32L4xx 器件基于 Cortex®-M4,具有 FPU 内核。它们的工作频率可达 80 MHz,并实现了在 80 MHz 频率下具有 100 DMIPS 的性能,由于集成了 ART Accelerator™,还能同时保持尽可能小的动态功耗。6 k! V+ _' ^) a  y) V
STM32L4 系列产品具有 FlexPowerControl,它提高了功耗模式管理上的灵活性,同时降低了应用的总体功耗。! ~0 O; v; P, _) j# M) T8 w' @3 j8 l
为了能最大限度地使用电池并 / 或降低其成本,处理器工作模式的选择是很重要的。除了功耗考虑,还必须考虑应用约束条件。因此,微控制器需要能提供多种工作模式,以支持所有的应用,同时要使功耗性能始终接近最佳。7 q6 L( q- p; y& u. O
在许多超低功耗应用中,微控制器长期处于睡眠中,随后有很短时间的密集工作。6 F% ?0 b# \& I) S
本应用笔记提供了定性和定量信息,以便能在开始实现和优化应用之前配置每个工作点 (频率、范围、低功耗模式 ……)。
- R0 `5 ]/ K. a本应用笔记采用了来自 EEMBC 工业标准的 ULPBench™ 基准作为参考实例,将计算和仿真与测量结果关联起来。& r4 e& V& E* Q2 H. `7 T

6 O9 u& R: W7 e7 z
0 T( t. O. V& X$ i
1低功耗应用简介7 c4 [  Q  @- }. w& D' e- O
在关注电池寿命的应用中,必须优化系统,以在最小功耗下提供最大性能和反应性。
" y  o. r( }# ?# O) }这类应用通常包括两个不同阶段:) M3 f) u3 _" M9 ^5 `$ D! j1 o
PROCESS 阶段,其中,在规定时间间隔 (RTC)或外部事件 (GPIO,中断 ……)下,需要处理一些传感器或无线电信息。6 ^. \' _6 R* L0 S9 S+ M
INACTIVE 阶段,其中,系统处于睡眠,并等待 RTC 或 GPIO 唤醒。
. z; a( H, ]1 Q* j
% k7 o% z% b  b; H
{Z}ZA~SD6RPP}C41EGP][`J.png # P% s' u5 I# ~" Z/ |

2 f  L% _: q4 v1 w* y
, Z! G* {7 G% X9 N
1.1 要考虑的关键参数+ h6 T& P# I0 o
两个阶段具有不同的性能标准 (除了功耗以外):
. \! s2 C- `0 LPROCESS 阶段要求在给定时间帧内执行一定数量的指令。" O3 L6 A% ?+ w! t) S: u7 ~7 t) V
INACTIVE 阶段要求能保持一定的最少内容 (数据 RAM 保持)和唤醒能力 (外设,GPIO, RTC……),同时使功耗尽可能低。
  L" O9 q1 ~2 |, `7 i4 u3 x8 L而且,两个阶段之间的转换须支持不同的约束条件:
& w, z4 @; @8 n睡眠到运行的转换要求在转换时具有快速唤醒时间且峰值电流 (也称为浪涌电流)最小,以便能够设置外部电源。
, P! d0 P. c$ M( g2 T运行到睡眠的转换不太关心其时间,但需要进行优化以节约能源。: `- o' L: s" K, F( w; G% ]8 ~

* J8 r2 D' `, r$ Q" G3 Y" _当面临这样突发型操作时,需要考虑四个参数:( z+ k) ~+ w' c4 }: m
平均功耗。该参数 (Pavg,以 µW 表示)决定了电池大小,以支持所预期的自主性。5 ]/ o8 h$ Z! w( j6 Y
最大峰值电流。该参数 (Ipeak,以 µA 表示)决定了可用的电池类型,以及需添加到板上的外部元件的数量和尺寸 (去耦电容)。. o) h6 n; R) w# h9 t7 i
PROCESS 阶段的处理性能。该参数以 DMIPS 表示,它与 CPU 频率 (Freq)成比例。5 k+ a) N# Y0 W
反应时间。它是唤醒信号源激活和第一条指令执行之间的时间,通常在中断服务程序(ISR)内、上下文被恢复后 (Power,数据空间上下文,时钟 ……)。
, u$ l' s" ~2 G$ ~) u1 s' r& e% g6 D# X
1.2 ULPBench™ 说明& d% e- P( h8 j
EEMBC ULPBench™ 基准非常适合用来评估超低功耗性能。它是一种标准化测试,支持任何 8 位、 16 位和 32 位微控制器的特性。
: u" C. B! O2 @% Y至今,只有 CoreProfile 已经标准化。它支持对下列资源的能效进行评估:
+ ]" M+ Y1 r2 u" i! h6 a# }( Y" OCPU, RAM 和闪存
0 n' m, w/ y& Z; mRTC 定时器和唤醒机制
- V+ b$ u4 @6 D32 kHz LSE3 @# P' `8 E  j/ m5 v5 j7 l8 y
电源管理电路) h2 s% ?7 ]0 P7 m% H+ x' y
PROCESS 阶段中, EEMBC ULPBench™ CoreProfile 实现:. M6 H% \) S! p. v) V. n: }3 h! m
数据数组操作,包括置换和排序  N" _0 b# U& E3 k5 ?
利用 8 位和 16 位数学计算进行简单滤波9 \4 J4 A9 U2 l! s! A. e3 x5 `
简单状态机. Q9 |. t  \" n! O4 ?* ]% K; ?
简化的 RTOS,称为 TES,能够测试实时事件。
  r' [; i2 ?3 y% u+ \* z* N# z$ }+ }用来比较不同的微控制器时, ULPBench™ 结果以得分表示,它由平均功耗 (以 µW 表示)除以 1000 得到。
: F. A3 D7 f- r: a 6 o! G) Z% t8 Q9 \9 {' M) H2 S
T{)[FO)J`{~FGDLHLQ4E.png ; b+ {& O! b  r- Y% k

% g% A/ S; J) @' Z, s9 Z2 e其中 Avg_current (µA)是电流消耗 IDD ,在 VDD = 3.0 V 时测得。
4 r8 `/ M) S" Q6 I$ c0 D# D6 X: Z5 X* u3 i8 Q; x0 r
2 STM32L4 系列产品低功耗特性6 L" I$ f* @# ?$ n, w
2.1 多种低功耗模式/ m' k- U, A9 a; S; V
STM32L4 系列的微控制器可实现多种不同的功耗模式,其中 7 种是低功耗的。( b# T4 H+ U5 \4 m; O
除了这些模式,通过选择不同的时钟源和频率,以及关闭不用的外设的时钟,可调节功耗。+ N) A+ z* G+ h9 x, V
在所有这些方法中,除了关机之外,安全功率监测欠压复位 (BOR)和 IWDG 可保持激活,以保证能够安全运行。8 G5 m# r& m9 p! {  s/ X) b6 M
AN4621 中提供了更多详细内容。; z* ]9 h2 I2 \, E) X$ Q& p: Y

+ Q7 N5 C7 y4 o5 ~1 k
2.1.1 低功耗运行和低功耗睡眠模式: N1 W( S* ?+ @/ K" \  R
除了那些能在 STM32Fx 系列产品上实现的模式 (睡眠,停止和待机)外,有两种低功耗活动模式可在 STM32L4 系列产品上使用,它们是低功耗运行和低功耗睡眠。+ ]: b$ K7 r* A( _4 }
它们为应用提供了具有极低电流消耗的运行和睡眠模式功能,这种情形下一些外设不能关闭,或者 CPU 持续低速工作以使电流变化最小。
0 g2 z% J# o7 T+ g) L+ r* g已经实现了多种功能来降低电流消耗:7 ^/ U) J" r0 y9 v
内核逻辑由低功耗稳压器供电,以降低静态电流;2 m! B. ^" ?7 k2 J; N
在低功耗睡眠模式下,可关闭闪存 (掉电模式和时钟门控)。当处理器从 SRAM1 或SRAM2 执行时,它还可在低功耗运行模式下关闭;
: x$ v7 R1 V9 d# w6 ^0 C7 t3 @系统时钟频率最大限于 2 MHz。可选择 MSI 内部 RC 振荡器,因为它支持多种频率范围,低功耗睡眠闪存关闭时 MCU 总消耗很小,在 100 kHz 可低至 18 µA。
* C$ D+ ^" ^# q: Q+ J1 b- N" p3 F6 D2 A
批采集子模式 (BAM
. G. A3 p3 l1 X- I( c+ c' O; aSTM32L4 微控制器支持功率高效批采集子模式 (BAM),其中数据利用通信外设传输,器5 K' C! ^4 t/ m( Q0 j, H" I6 ]
件其他部分处于低功耗模式。4 z8 S) d7 L) k
这可通过利用以下配置进入睡眠或低功耗睡眠模式来实现:
+ U3 l$ K& D' n( {• 睡眠 (或低功耗睡眠)模式下,仅 DMA、通信外设和 SRAM1 或 SRAM2 时钟使能;- ?, I( |4 p7 q+ u. t5 b8 y0 Q
• 睡眠 (或低功耗睡眠)模式下闪存关闭:闪存掉电,且闪存时钟门控关闭;
/ w3 `5 O& k5 F• 如果系统时钟可限制于 2 MHz 内,则主稳压器关闭 (以进入低功耗睡眠)。
( x  x/ e5 A# X4 X3 |0 }0 K低功耗睡眠模式下, I2C 和 USART/LPUART 外设仍然可由 16 MHz HSI 提供时钟。这允许支持 BAM,且 I2C 或 USART 速度可达 1 Mbps。/ I# _2 ~' C" o) g1 v: ?/ Z* Z  ?

& X) Q/ i9 t% y; {* r: ~2 {
2.1.2 停止模式
& z& a3 s. B, |9 Q/ c7 |STM32L4 系列产品实现了两个停止模式,具有完全 SRAM 和外设保持能力,并且由于使用了高达 48 MHz 的 MSI,能够在 4 µs 内唤醒。
3 v% C. E$ B' b* V在这些停止模式下,所有高速振荡器 (HSE, MSI, HSI)都停止,而低速振荡器 (LSE,LSI)可保持活动。外设可设置为活动的,需要时可使用 HSI 时钟,能够在一些特定事件(如 UART 字符接收或 I2C 地址识别)下唤醒设备。, |  j- A1 ]9 R$ [
Stop2 模式可实现专门机制,使保持电流尽可能低,同时允许非常快速的唤醒,从 SRAM 唤醒需要 5 µs,或从闪存唤醒需要 8 µs。; s" U5 m8 R) Z5 {
2 E, z# y# J  u' M( }
2.1.3 待机模式
1 A) `) i4 A# {' A! p5 |* R! k待机模式下, BOR 始终使能,这保证了在供电电压低于所选功能阈值时器件处于复位。默认待机模式下 SRAM 内容丢失。但是,可以保持 SRAM2 的内容 (有 230 nA 的额外电流消耗)。  L% c/ I6 i* P0 M1 k1 R
在待机模式下可在每个 I/O 上独立地施加上拉和下拉,这能够保持外部器件配置。
; Y9 j9 x% l2 s/ E, z2 ~借助某一个 (共五个)唤醒引脚、复位引脚或独立看门狗,能够从该模式唤醒。由低速振荡器 (LSE 或 LSI)定时的 RTC 在此模式下也是起作用的,具有唤醒功能。$ j# J9 v8 o4 v8 f  G% n

# }! S, W& ^) w* h

9 P1 U# V# r5 U2.1.4 关机模式+ w! }- @, p5 H) V5 f+ D  Q, v
在 STM32L4xx 器件上实现了新的关机模式,以延长电池供电应用中的电池寿命。
! f0 F8 b  @. s3 h- t* Q& }通过关闭内部稳压器,以及禁用耗电监控,该模式可实现最低电流消耗 (3 V 时消耗为 60 nA)。借助某一个 (共五个)唤醒引脚或复位引脚,能够从该模式唤醒。由低速外部振荡器(LSE)定时的 RTC 在此模式下也是起作用的,具有唤醒功能。9 |, O# T) t, [8 Q& N! n

5 S$ M( a2 p; C. }0 N$ l+ S完整版请查看:附件3 V4 m; a& |' Q" U5 Y0 u

DM00216518_ZHV1.pdf

下载

608.71 KB, 下载次数: 0

收藏 评论0 发布时间:2022-7-13 10:25

举报

0个回答

所属标签

相似分享

官网相关资源

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