评估stm32l1系列电流消耗

上传人:子 文档编号:47261777 上传时间:2018-07-01 格式:PDF 页数:10 大小:253.42KB
返回 下载 相关 举报
评估stm32l1系列电流消耗_第1页
第1页 / 共10页
评估stm32l1系列电流消耗_第2页
第2页 / 共10页
评估stm32l1系列电流消耗_第3页
第3页 / 共10页
评估stm32l1系列电流消耗_第4页
第4页 / 共10页
评估stm32l1系列电流消耗_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《评估stm32l1系列电流消耗》由会员分享,可在线阅读,更多相关《评估stm32l1系列电流消耗(10页珍藏版)》请在金锄头文库上搜索。

1、2015 年 12 月DocID024793 Rev 1 English Rev 11/1010AN4311 应用笔记应用笔记 评估 STM32L1 系列电流消耗前言前言意法半导体基于 ARM Cortex-M3 的 STM32 L1 系列采用意法半导体专有的超低泄漏处理 技术,具有创新型自主动态电压调节功能和 5 种低功耗模式,为各种应用提供了无与伦比的 平台灵活性。 STM32L1 系列产品在不影响性能的情况下扩展了超低功耗概念。这种复杂的架构意味着配置设置和操作模式具有更多选择。本应用笔记描述了如何配置您的 STM32L1 器件来实现低功耗功能的目标,以及如何配置该系列产品的运行模式。它

2、提供了 经过验证的、现成可用的代码示例,能够快速评估您的探索板或其他平台上的电流消耗。本文档不提供针对器件特性的任何配置设置。所附 STSW-STM32146 固件仅作指导。 请参 考相关的数据手册来获取有效的最新特性数据。表表 1. 可用产品、工具和固件可用产品、工具和固件类型料号和产品类别类型料号和产品类别评估工具STM32L-DISCOVERY固件STSW-STMAN43112/10DocID024793 Rev 1 English Rev 1目录目录1固件架构固件架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3、. . . . . . . . . . . . . . . . . . . . . . 31.1运行模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.1仿真整数运算循环 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2CoreMark 代码 . . . . . . . . . . . . . .

4、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.3Dhrystone 代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4Fibonacci 代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.5c 语言中的无限循环:while

5、 (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2低功耗运行模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3睡眠模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4停止模式 . . . . .

6、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5待机模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62硬件描述硬件描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7、 . . . . . . . . 73总结总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84版本历史版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9DocID024793 Rev 1 English Rev 13/10AN4311固件架构固件架构101

8、 固件架构固件架构本应用笔记和相关固件定义了器件的基本配置,该配置对于实现最优化电流消耗的目标是必 要的。它提供了一种清晰且有启发意义的方法,使您能够利用多种最优化低功耗模式的优 势。固件的架构如图1: 固件架构中所述。图图 1. 固件架构固件架构该固件选用基于多项目工作空间的方式。每个项目指向激活的或器件可用的某一种低功耗模 式。它们被配置为最简单的用例。 main.h 文件包含了一系列 “#define”,使您可以对更多定 制化的测试进行微调 (您可从表2:编译选项或代码本身的注释中获取更多详细信息) 。每 个项目的目标设置允许使用不同的时钟配置,这使得在评估阶段中重现精确的应用实例成为

9、可能。在 IDE 工具的配置向导中,时钟频率或振荡器范围须根据您的需要来定义。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?AN43114/10DocID024793 Rev 1 English Rev 11.1 运行模式运行模式器件的运行功耗通过在器件中运行不同类型的代码来进行评估。请参考表2 来获取更多关于 编译选项的详细信息。1.1.1 仿真整数运算循环仿真整数运算循环器件的运行功耗通过在闪存中运行一个指令循环来进行评估。该代码设计成可得到近似等于 Dhrystone 基准的电流消耗,但是用汇编语言编写。这种方法的优点是能够使代码不依赖于 编译器设置。RAM

10、执行和执行和 DMIPS/mA为检测应用代码从内部 Flash 或内部 RAM 中执行时电流消耗中的不同,您必须在编译器、 IDE 的选项中指定文件 dhrystone_like.c 映射到何处。由于可关闭 Flash,因此从 RAM 执行 的电流消耗更低,这使得 DMIPS/mA 速率明显增高。1.1.2 CoreMark 代码代码可评估实际 CoreMark代码的消耗。电流消耗可能依赖于编译器和优化设置。进行 CoreMark 评分 (Timer, USART)测量的必要配置都被禁用,以便仅测量 CPU 消耗。1.1.3 Dhrystone 代码代码运行该测试时,请注意禁用编译器内联选项来

11、使其符合整数运算的要求。关于如何实现,更 多信息请参考 C 编译器文档。1.1.4 Fibonacci 代码代码此代码执行对 Fibonacci 数列前 46 个数项的计算。46 次迭代后,32 位结果溢出。也可以从 内部 RAM 存储器中执行该代码,且 Flash 置于掉电模式以实现更低的电流消耗和更高的性 能。表表 2. 编译选项编译选项定义说明定义说明ENABLE_DEBUG允许您保留 I/O 配置,以通过调试工具来进行通信。ENABLE_RTC停止和待机模式下, RTC 是使能的。ENABLE_IWDG停止和待机模式下, IWDG 是使能的。ENABLE_LCD停止模式下, LCD 是

12、使能的。ENABLE_PERIPHERAL_CLOCK运行和睡眠模式下,所有外设时钟是使能或禁止的。RUN_MODE允许您选择运行模式中运行的代码。CODE_LOCATION允许您选择在哪个存储器中运行代码。DocID024793 Rev 1 English Rev 15/10AN4311固件架构固件架构101.1.5 c 语言中的无限循环:语言中的无限循环:while (1) 为了比较执行复杂计算和基本循环时的内核功耗,向用户提供了此选项。也可以在 RAM 存 储器中执行它 (Flash 关断) 。注意:注意:请注意,仅从闪存执行且预取和 64 位访问使能时,“c while(1); rou

13、tine” 可能在器件上产生不 同的电流消耗。如果在无限分支之前的指令是一个 32 位指令,则分支指令从 Flash 访问。 另一方面,如果分支指令在一个 16 位指令之后,则它可以完全从预读取结果访问,会产生 更小的电流消耗。该特点重点说明了内存加速随内存中代码不同队列的运行。1.2 低功耗运行模式低功耗运行模式运行模式和低功耗运行模式之间的区别在于内部 Vcore 域调压器的状态。 Vcore 域电压转到 2 - 1.5 V 范围内,调压器置于低功耗模式。因此系统最大频率为 121 kHz。结果是为外设和 内核供电的电量受到限制。高速的系统时钟配置不再可能。请注意,此限制仅对 Vcore

14、域有 影响,其他域不受影响。该项目中执行的代码是类整数运算循环。1.3 睡眠模式睡眠模式该模式下, ARM Cortex-M3 内核的时钟被禁用,如参考手册的第 4.3.5 节 “ 睡眠模式 ” 所 述。代码示例中,当没有外设被提供时钟时,闪存被配置为低功耗模式。1.4 停止模式停止模式该模式可在调压器 ON 或处于低功耗模式时被访问。后者可实现更低的电流消耗,但是会增 加唤醒时间。您可以运行 RTC 以及 LSE 振荡器和看门狗,能够看到实际用例中它们的 (电 流)消耗。AN43116/10DocID024793 Rev 1 English Rev 11.5 待机模式待机模式这种配置下,您能

15、够得到可能的最低电流消耗 (可用于 STM32L1 器件) 。 Vcore 域切换为 OFF,会降低泄漏,但是该域的寄存器内容会丢失,包括内部 RAM。备份域仍然是加电的, 提供了 IWDG、 RTC 和低速时钟。系统由内部或外部源产生的复位来唤醒,包括 WKUP 脚 上升沿、 RTC 闹钟 (闹钟 A 和闹钟 B) 、 RTC 唤醒、入侵事件、时间戳事件、 NRST 脚的 外部复位和 IWDG 复位。DocID024793 Rev 1 English Rev 17/10AN4311硬件说明硬件说明102 硬件说明硬件说明探索板的测量探索板的测量针对测量推荐使用的硬件是 STM32L 探索板, STM32L-DISCOVERY,它具有 STM32L152xxB 器件,一个超低功耗 ARM Cortex-M3 MCU。可以在其他的 STM32L1 平台上使用它。不过,用户应当 (对它)进行以下改变:项目中的启动文件必须根据所选器件而改变,同时必须更新相关预处理程序 #define。用户须根据所选封装来添加或移除 GPIO 定义。用户须重新配置 LCD 引脚 (封装中不可用) 。须用电流消耗测量工具 (为了获得更高精度,应配置为平均模式)来替代跳线 JP1。 I/O 无 需处于特定状态;它们将被内部配置为模拟输入,由于施密特触发器断电,因此会有最小的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号