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

评估 STM32L1 系列电流消耗

[复制链接]
STMCU小助手 发布时间:2022-7-14 18:00
前言
9 V0 @2 Y  T4 g& d* w意法半导体基于 ARM® Cortex™-M3 的 STM32 L1 系列采用意法半导体专有的超低泄漏处理技术,具有创新型自主动态电压调节功能和 5 种低功耗模式,为各种应用提供了无与伦比的平台灵活性。 STM32L1 系列产品在不影响性能的情况下扩展了超低功耗概念。) z9 L2 z7 [: @/ k( X# [& p
这种复杂的架构意味着配置设置和操作模式具有更多选择。本应用笔记描述了如何配置您的STM32L1 器件来实现低功耗功能的目标,以及如何配置该系列产品的运行模式。它提供了经过验证的、现成可用的代码示例,能够快速评估您的探索板或其他平台上的电流消耗。6 r8 R7 }1 Z0 W& U. L
本文档不提供针对器件特性的任何配置设置。所附 STSW-STM32146 固件仅作指导。 请参考相关的数据手册来获取有效的最新特性数据。  _& N! ?# k, y4 H/ Y

7 m4 w" p0 n# s& |3 ]% h( x; D2 T
PGS6IMWK5@Y(ZR`A6IABDXY.png 2 `8 m! b# c9 X' L& i

. G3 ^# w2 ~4 e5 d6 r# |8 f1 固件架构
# h# ]) {& Q9 g4 u* ?1 H3 N9 {7 I本应用笔记和相关固件定义了器件的基本配置,该配置对于实现最优化电流消耗的目标是必要的。它提供了一种清晰且有启发意义的方法,使您能够利用多种最优化低功耗模式的优势。固件的架构如图 1:固件架构中所述。

8 v7 g1 m0 e# Y4 Q- g

0 w) A$ m* F0 y$ n4 t" U KWH{D4%GG$Z2IFI{XSC7M.png
* C3 Z5 k5 t8 x; C, ~& ]3 f
. j* G# N8 L; R7 U: \/ L' y. Q% `

$ q0 v- N  w7 G1 |$ w2 a该固件选用基于多项目工作空间的方式。每个项目指向激活的或器件可用的某一种低功耗模式。它们被配置为最简单的用例。 main.h 文件包含了一系列 “#define”,使您可以对更多定制化的测试进行微调 (您可从表 2:编译选项或代码本身的注释中获取更多详细信息)。每个项目的目标设置允许使用不同的时钟配置,这使得在评估阶段中重现精确的应用实例成为可能。
3 q( R! h# q2 t6 B. `在 IDE 工具的配置向导中,时钟频率或振荡器范围须根据您的需要来定义。

! i9 V. Q7 D% ^3 U8 O% k- ^2 t. z4 t4 Z3 G3 Y
1.1 运行模式! \3 J! z8 `* Y# l/ G  b: w
器件的运行功耗通过在器件中运行不同类型的代码来进行评估。请参考表 2 来获取更多关于编译选项的详细信息。
* k; m; b; R( d2 i9 u' [" `4 J- T 2 N$ q: q4 ~0 [  y/ E! q: C
1.1.1 仿真整数运算循环5 P  h6 d" u& y! N; F6 ?
器件的运行功耗通过在闪存中运行一个指令循环来进行评估。该代码设计成可得到近似等于Dhrystone 基准的电流消耗,但是用汇编语言编写。这种方法的优点是能够使代码不依赖于编译器设置。

* i8 q8 q" \& A0 |( r* ^. E2 b5 M
RAM 执行和 DMIPS/mA/ A5 ?* C0 S" s7 r  ^9 i2 a
为检测应用代码从内部 Flash 或内部 RAM 中执行时电流消耗中的不同,您必须在编译器、IDE 的选项中指定文件 dhrystone_like.c 映射到何处。由于可关闭 Flash,因此从 RAM 执行的电流消耗更低,这使得 DMIPS/mA 速率明显增高。

2 I) C7 @# D+ `* d, j  J( I3 C. h# t' I8 x
1.1.2 CoreMark 代码) b% t& y2 r" S8 ?3 H0 a7 G
可评估实际 CoreMark® 代码的消耗。电流消耗可能依赖于编译器和优化设置。进行CoreMark 评分 (Timer, USART……)测量的必要配置都被禁用,以便仅测量 CPU 消耗。

5 O% g: c5 f) j  |8 |6 D* W1 p8 B, H4 f% p# B5 e
1.1.3 Dhrystone 代码! N. E$ y7 F7 }$ @- k! h
运行该测试时,请注意禁用编译器内联选项来使其符合整数运算的要求。关于如何实现,更多信息请参考 C 编译器文档。3 P- z+ e6 h% q4 H9 L- |& L
1.1.4 Fibonacci 代码
, u9 |- n( U# p' j2 x# n$ G8 G* [
此代码执行对 Fibonacci 数列前 46 个数项的计算。 46 次迭代后,32 位结果溢出。也可以从内部 RAM 存储器中执行该代码,且 Flash 置于掉电模式以实现更低的电流消耗和更高的性能。
7 z! `9 ^0 \1 R( Q% P
3 |+ G3 i0 N* l' H% t  e5 @+ Z; n8 F4 x* y
1.1.5 c 语言中的无限循环:while (1) ; C1 |8 O  y; D$ L+ Q: L
为了比较执行复杂计算和基本循环时的内核功耗,向用户提供了此选项。也可以在 RAM 存储器中执行它 (Flash 关断)。; P  |0 C- c6 o% r7 f: L
注意:
8 e$ g4 l+ \" }1 P请注意,仅从闪存执行且预取和 64 位访问使能时,“c while(1); routine” 可能在器件上产生不同的电流消耗。如果在无限分支之前的指令是一个 32 位指令,则分支指令从 Flash 访问。
7 l5 w" O' C$ e# @1 ]' o另一方面,如果分支指令在一个 16 位指令之后,则它可以完全从预读取结果访问,会产生更小的电流消耗。
8 \5 I; ~0 [$ ^6 G6 W该特点重点说明了内存加速随内存中代码不同队列的运行。

' A6 [3 }! T% z1 c8 ~0 O6 S' o. N$ g  Y$ z) f; ]: Y+ Q
1.2 低功耗运行模式* A3 q5 \; f, y3 w; V& n0 K! h+ i  {
运行模式和低功耗运行模式之间的区别在于内部 Vcore 域调压器的状态。 Vcore 域电压转到2 - 1.5 V 范围内,调压器置于低功耗模式。因此系统最大频率为 121 kHz。结果是为外设和内核供电的电量受到限制。高速的系统时钟配置不再可能。请注意,此限制仅对 Vcore 域有影响,其他域不受影响。该项目中执行的代码是类整数运算循环。
0 f' G+ b" t9 b

- N9 S$ D7 C) _) J
1.3 , {9 O9 n4 |+ ^4 X/ H
睡眠模式
: Q, S1 N+ g1 p6 W, H* \该模式下, ARM® Cortex™-M3 内核的时钟被禁用,如参考手册的第 4.3.5 节 “ 睡眠模式 ” 所述。代码示例中,当没有外设被提供时钟时,闪存被配置为低功耗模式。
! d( @& y. d3 P8 s% r: y4 w- I* A
6 M, }' C# y! `  ]  }/ j# h
1.4 停止模式
' N) d+ K  I1 M* V; J1 B该模式可在调压器 ON 或处于低功耗模式时被访问。后者可实现更低的电流消耗,但是会增加唤醒时间。您可以运行 RTC 以及 LSE 振荡器和看门狗,能够看到实际用例中它们的 (电流)消耗。

2 y: z+ e5 r3 d" O( q. q) x' X1.5 待机模式
" ]1 R3 n/ [& c, E这种配置下,您能够得到可能的最低电流消耗 (可用于 STM32L1 器件)。 Vcore 域切换为OFF,会降低泄漏,但是该域的寄存器内容会丢失,包括内部 RAM。备份域仍然是加电的,提供了 IWDG、 RTC 和低速时钟。系统由内部或外部源产生的复位来唤醒,包括 WKUP 脚上升沿、 RTC 闹钟 (闹钟 A 和闹钟 B)、 RTC 唤醒、入侵事件、时间戳事件、 NRST 脚的外部复位和 IWDG 复位。DocID024793 Rev 1 [
3 Y8 F( y  U4 x
5 w% ~2 w0 J& L) D7 C9 Z& [* Q8 x/ V1 S

DM00087687_ZHV1.pdf

下载

253.42 KB, 下载次数: 0

赞 收藏 评论0 发布时间:2022-7-14 18:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版