当 MCU 功耗刚开始成为重中之重时,设计人员可以简单地查看数据表来比较有功功率,希望它们都处于相同的频率,并据此做出判断。比较睡眠模式下的功耗并不是那么困难,尽管您必须确保它们都指定 RTC 开启、其他时钟停止、数据保留、其他外设处于三态或关闭状态等等。即便如此,随着 MCU 供应商在几何曲线上遵循摩尔定律,有功功率的节省被增加的漏电所抵消,这使得睡眠模式变得越来越没有完全关闭芯片部分的吸引力。
今天,比较不同 MCU 之间的功率规格变得更加复杂,因为供应商已经实施了可能无法直接比较的各种低功耗模式。由于大多数应用中的 MCU 通常将大部分时间花在一种或多种睡眠模式中,因此问题就变成了 MCU 能否从这些模式中的每一种足够快地返回到运行模式以完成手头的任务。本文将探讨唤醒时间作为评估给定断电模式是否适合给定应用的重要变量。因此,唤醒时间已成为一项重要的低功耗规范。
醒来!
最新一代的 MCU 具有多种睡眠模式,每种模式都涉及关闭越来越多的功能。瑞萨电子 RX111具有三种掉电模式:休眠、深度休眠和软件待机,如图 1 所示。
图 1:瑞萨电子 RX111 功耗和唤醒时间(瑞萨电子提供)。
RX111 有多种运行速度,睡眠和深度睡眠模式下的功耗取决于外设时钟的速度,因为 I/O 引脚和高速片上振荡器 (HS OCO) 保持活动状态即使 CPU 时钟已关闭。
在睡眠模式下,CPU 停止并保留数据。32 MHz 睡眠模式下的功耗通常为 6.4 mA,返回运行模式需要 0.21 μs。
在深度睡眠模式下,CPU、RAM 和闪存停止并保留数据,但多个外设保持活动状态。在 32 MHz 时,RX111 消耗 4.6 mA 电流,需要 2.24 μs 唤醒并进入运行模式。
在软件待机模式下,PLL 和除副时钟和 IWDT 之外的所有振荡器都停止;几乎所有模块都被关闭,但数据被保留。此模式下的电流消耗从 350 到 790 nA 不等,具体取决于是否使用 LVD 和 RTC 功能。在 32 MHz 时,CPU 需要 40 μs 才能返回运行模式。
关闭的功能越多,芯片消耗的功率就越少,但唤醒并执行有意义的工作所需的时间就越长。如果唤醒到慢速运行模式,唤醒时间可以大大缩短。例如,如果 CPU 以 4 MHz 运行,RX111 需要从软件待机跳转到运行模式所需的 40 μs 缩短到 4.8 μs,这可能足够快,可以定期检查传感器数据。
唤醒时间通常是决定设计人员在应用程序的任何给定点可以使用哪种断电模式的限制因素。监控电池电压的 RX111 应用程序(例如掉电检测器)可能以 1 MHz 运行,大部分时间处于软件待机模式(消耗 0.9 mA)并在 15.8 μs 内唤醒。另一方面,不断轮询的高速数据处理应用程序可能只能断电进入睡眠模式(32 MHz 时为 6.4 mA),以便足够快(在 0.21 μs 内)唤醒以解析标头并确认收到。
快速低功耗 32 位 MCU
选择最适合给定应用的低功耗 MCU 始终涉及“四个 P”:功耗、性能、价格和外设。假设外围设备足够且价格可以接受,明智地调整唤醒时间可以减轻功耗和性能之间的权衡。结果将是特定于应用程序的,但非常值得追求。它还涉及大量研究数据表和用户手册,或者在最坏的情况下,在评估板上分析您的代码,因为通常不容易找到唤醒时间。下面的简短调查省略了大部分细节,以便尽可能对一些领先的低功耗 32 位 MCU 进行比较。指示的最低功耗模式是数据保留和 RTC 开启。
恩智浦的 LPC110/04是一款低成本、50 MHz、32 位基于 ARM® Cortex™-M0 的 MCU,具有 32 KB 闪存、8 KB 数据存储器和 11 个 GPIO 引脚。LPC1102 具有活动、睡眠和深度睡眠模式。它可以在 56 μs 内从深度睡眠模式 (220 nA) 唤醒。主动模式功耗约为 140 μA/MHz。
飞思卡尔的 KineTIs KL05是一款基于 48 MHz ARM Cortex-M0+ 的 MCU,具有高达 32 KB 的程序闪存和 4 KB 的 RAM。KL05 MCU 提供了相当大的灵活性,具有九种低功耗模式和一个异步低泄漏唤醒控制器,可根据应用要求实现功耗优化。有功功耗约为 89 μA/MHz,在最低功耗模式下降至 0.96 μA。从前一个模式唤醒的时间为 96 μs。
意法半导体‘ STM32L151C6U6是一款基于 32 MHz ARM Cortex-M3 的 MCU,具有高达 128 KB 的闪存、16 KB 的 RAM 和 93 个快速 I/O。运行模式下的功耗为 214 μA/MHz。在其最低功耗模式下,它消耗 0.9 μA 电流,并且可以在不到 8 μs 的时间内唤醒。
Silicon Labs 的 EFM32G210 MCU(之前的 Energy Micro Gecko)具有 32 MHz ARM Cortex-M3 内核,在运行模式下消耗 180 μA/MHz。EFM32 有四种低能耗模式(图 2);软件启动从活动模式 (EM0) 到低功耗模式的转换,并中断触发转换回 EM0。在其最低功耗模式下,EFM32G210 消耗 0.9 μA 电流,并可在 2 μs 内唤醒。
图 2:Silicon Labs EFM32G210 能量模式转换(由 Silicon Labs 提供)。
图 3 总结了上面给出的信息。它应该被视为具有指导意义,但不是确定性的,因为每个芯片都有多种具有不同唤醒时间的断电模式,每种模式都可能适用于应用程序的不同点。目前,需要大量挖掘数据表和硬件手册才能找到除最低功耗睡眠模式之外的所有模式的唤醒时间,如果速度足够快,甚至可能出现在产品手册中。设计工程师应该鼓励半导体供应商分解这些信息并使其更容易获得;因为它是低功耗设计中的一个重要标准。
图 3:32 位 MCU 睡眠模式和唤醒时间的比较。
从纸到实践
显然,您需要查看预期应用的功率曲线,以便准确评估给定的 MCU 是否能够满足您的功率目标,这通常归结为便携式应用中可接受的电池寿命。为了准确地做到这一点,您需要在围绕目标处理器构建的评估板上编译、下载和运行您的代码。如果您的供应商的 IDE 包含电源分析器,请查看您的应用程序在每种断电模式下花费了多少时间;如果没有,请在调试器中设置断点并自行查找。查看是否没有可以在较低时钟速率下运行的代码段;如果您要使用低功耗睡眠模式,还要检查 CPU 是否可以足够快地唤醒。更多的选择带来更多的复杂性,
总结
当有多种 MCU 掉电模式可用时,每种模式的唤醒延迟将决定其对给定功能的适用性;只有确定了这一点,您才能开始比较不同 MCU 的功率曲线。哪种 MCU 最适合特定设计最终将由应用程序驱动。有关此处讨论的 MCU 的更多信息,请使用提供的链接访问 Digi-Key 网站上的产品页面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)