设计低功耗 MCU 并不容易,为您的特定嵌入式设计选择合适的 MCU 也不是一件容易的事。许多应用特定的考虑因素使比较 MCU 规格表具有挑战性。本文分析了在分析竞争性 MCU 替代品的电源效率时应考虑的关键因素。
节约能源对环境有益,也更省钱。提高能源效率的诸多好处已得到充分证明:降低消费者的电费、减少公用事业的负担、降低电子产品的拥有成本以及减少在垃圾填埋场丢弃的废旧电池。
随着电子设备的使用几乎渗透到我们生活的方方面面,降低功耗必须从半导体层面开始。在芯片级设计的节能技术影响深远。对于作为当今大多数电子设备背后的智能引擎的微控制器 (MCU) 而言尤其如此。
从系统架构的角度来看,识别哪些 MCU 真正是“低功耗”的挑战要求设计人员通过各种半导体供应商提出的无数声明进行导航。由于供应商使用的指标不同(并且经常令人困惑),这不是一项简单的任务。
让我们仔细看看在分析竞争性 MCU 替代品的电源效率时应考虑的关键因素。
在基本层面上,MCU 功耗可以定义为以下各项的总和:
总功耗 = 活动模式功耗 + 待机(睡眠)模式功耗
但是,要记住的另一个重要指标是MCU 从待机状态转换到活动状态。由于 MCU 在所有数字和模拟组件完全稳定并运行之前无法进行任何有用的处理,因此在计算总功耗时添加这个(浪费的)功率很重要:
总功耗 = 活动模式功率 + 待机(睡眠) 模式功率+唤醒功率
因为每个应用程序都是不同的,系统设计人员倾向于将其中一些元素的权重超过其他元素。例如,水表等一些应用程序大部分时间都处于待机状态,因此很明显,它们的长占空比需要非常低的待机功耗。其他应用(例如数据记录器)经常进入和退出活动状态,因此限制在唤醒转换模式中花费的时间至关重要。但是,开发引人注目的 MCU 解决方案的供应商不会试图猜测这些指标中的哪一个最重要,而是会从头开始设计一个解决方案,专注于最小化这个等式的每个部分。要实现这一点,需要强大的混合信号专业知识来解决架构级和电路级挑战,以最大限度地降低模拟和数字域的功耗。对每个变量的简短讨论将有助于突出系统设计人员在尝试为其应用选择最佳 MCU 解决方案时需要注意的问题类型。
主动模式电流
对于 CMOS 逻辑门,动态功耗可以用以下众所周知的公式重写:
主动模式功率 = C x V2 xf
其中 C 是负载电容,V 是电源电压,f 是开关频率。
电容项是所使用的设计和处理技术的函数,频率项是应用程序处理要求的函数。但是,从前面的等式可以看出,电源电压对 MCU 消耗的总功率有不成比例的影响。因此,在 MCU 设计中添加电压调节可以通过为 MCU 电路提供低得多的稳定电源电压来显着节省有源模式的功耗。开关型转换器可能是一种可能的解决方案,但它们最适合需要大电压转换比的稳压器环境。但是,对于平均电压转换比很小(在电池寿命结束时接近 1:1)的电池类型应用,
为了说明使用 LDO 稳压器的好处,重述 CMOS 动态功率方程会很有帮助:
有源模式功率= C x V2 xf
= V x (C x V xf)
= V x I,其中动态电流 I = C x V xf
通常将动态电流标准化为 1MHz 的频率和特定的电源电压。例如,最近推出的一款超低功耗 MCU 在 1.8 V 时的动态电流消耗为 160 µA/MHz。如果没有电源调节,该指标将增加到 (160) x (3.2/1.8) = 284 µA/MHz,当电源电压为 3.2 V。使用 LDO,电池电流将在整个电源范围内保持固定在 160 µA/MHz。
可以看出,这种先进的电源架构可用于在整个工作电压范围内保持恒定的有源电流,并可帮助系统设计人员显着降低功耗。因此,从系统设计人员的角度来看,确定在整个工作电压范围内工作时的 MCU 电流消耗非常重要——而不仅仅是在 MCU 供应商通常引用的 1.8 V 最小工作条件下。引用一个过于乐观的电流数字,假设任何电压都低于典型的电压供应,并不能准确地反映应用程序在现实世界中的使用方式。例如,在 2 x AA/AAA 和纽扣电池应用中,电池最常在其 3 V 初始电压附近运行,因此引用的 1.8 V 规格可能具有欺骗性,因为,
此外,由于功耗与开关频率成正比,因此系统设计人员必须将引用的电流数字标准化为电流/MHz 为基础。通过结合这两个因素,可以根据以下指标对 MCU 进行并排比较:
电流消耗/MHz @ 3 V
当真正有意义的值是指令时钟速度时,一些供应商会试图通过将“MHz”等同于系统时钟速度来混淆这个问题。这是具有欺骗性的,因为系统时钟速度可以以两倍(或更多)的实际指令速度运行,从而使其有效功耗增加一倍(或更多)。因此,确保一切都按照指令时钟速度标准化很重要。通过这样做,并通过使用典型的电源电压,可以正确得出实际的活动模式电流消耗预算。
待机(睡眠)电流
实现最大能效(和电池寿命)意味着确保每个 MCU 任务在尽可能短的持续时间内以尽可能低的电压消耗尽可能少的电流,从而使设备大部分时间都处于非常低功耗的睡眠模式。在某些应用中,睡眠模式电流是对整体能耗最有影响的参数。然而,经常被忽视的是,MCU 可实现的绝对最小睡眠电流主要受其漏电流的限制。例如,输入漏电流规格为 100 nA 的 20 输入设备在睡眠模式下可能消耗高达 2 µA 的功率。
泄漏电流受许多因素影响,但最重要的因素是所使用的底层工艺技术。在某些情况下,供应商会选择使用 0.25 或 0.35 微米的工艺技术来降低泄漏引起的休眠电流,但这种选择是以更高的有源电流为代价的。在其他情况下,MCU 供应商选择使用 0.18 微米或更小的工艺技术来降低主动模式电流,但这是以更高的泄漏电流为代价的。解决这一困境的一个独特解决方案是应用混合信号专业知识来实施一个高级电源管理单元 (PMU),该单元专为限制泄漏和实现超低睡眠电流而设计,无论使用何种底层工艺技术。
当使用 0.25 微米或更小的工艺技术时,最小化睡眠模式电流需要切断数字内核的电源。在睡眠模式下运行的模块,例如电源管理电路、I/O 焊盘单元和 RTC,必须在未稳压的电源下运行,以避免在 LDO 中燃烧额外的电流。切断数字核心逻辑的电源还可以防止其关闭状态泄漏对睡眠模式电流产生影响;但是,MCU 必须在睡眠模式下保留 RAM 内容和所有寄存器的状态,以便代码执行可以从中断的地方恢复。这种保存可以通过一些非常低的电流、睡眠模式、锁存器偏置方案来执行,或者通过使用可以在睡眠模式下保持状态而没有明显泄漏的特殊保持锁存器来执行。
因此,从系统设计人员的角度来看,检查底层漏电流规范以确定哪些 MCU 供应商已应用其混合信号专业知识来解决这一复杂问题非常重要。设计人员还应考虑大多数供应商提供许多不同的待机电流选项这一事实。大多数供应商会强调其绝对最低的睡眠模式电流,这通常对应于禁用实时时钟和掉电检测器时消耗的电流。一些供应商会更进一步,并引用不保留内存且需要复位才能唤醒的关断模式电流,这通常不是一种非常实用的模式。因此,由于大多数应用程序需要完整的 RAM 和寄存器保留,
待机/睡眠模式电流,实时时钟和掉电禁用(RAM 保留)
禁用实时时钟和启用掉电的待机/睡眠模式电流
启用实时时钟和掉电的待机/睡眠模式电流
然后,系统设计人员可以在根据其应用的占空比计算整体待机模式功率预算时使用正确的值。
唤醒能量
如前所述,在使用睡眠模式的系统中,可能会浪费大量功率来唤醒 MCU 并使其准备好获取或处理数据。事实上,在某些应用中,MCU 在脱离待机状态时通常可以使用与设备完全处理数据时一样多的能量。因此,重要的是设计一个 MCU 以在极短的时间内唤醒和稳定,以最大限度地减少在能源浪费状态下花费的时间。
MCU 应该能够从外部触发事件或内部定时器退出睡眠模式。最灵活的周期性唤醒源是实时时钟,它能够从外部晶体振荡器(适用于需要精确定时的应用)或低频内部振荡器运行,从而在低精度应用中无需晶体。 避免对高速系统时钟使用慢启动晶振;准确、快速启动的片上振荡器是更好的选择。
此外,由于许多产品会定期唤醒以使用片上 ADC 对输入进行采样,因此为数字电路的唤醒和模拟电路的稳定留出足够的时间以开始进行有效测量非常重要。模拟模块的启动行为可能会对在活动模式下花费的时间量产生重大影响;使用外部去耦电容的稳压器或基准电压可能需要几毫秒才能稳定下来。有时,MCU 供应商只会引用数字电路的唤醒时间,而忽略模拟电路稳定所需的时间。因此,系统设计人员必须分析数字和模拟电路的整体唤醒和稳定时间,以考虑这种浪费能源的真实成本。
其他注意事项
当然还有其他方法可以进一步降低系统中的功率。例如,通常使用 2 节 AA/AAA 电池配置,因为 MCU 通常可以在低至 1.8 V 的电压下运行,即便如此,有时也只能降低功能(无 ADC;降低指令时钟速度)。降低功耗(和环境影响)的一种创新方法是将设计转换为单电池配置,在这种配置中,电池可以一直运行到其使用寿命结束(0.9 V)。为此,MCU 必须集成一个高度优化的 DC-DC 转换器,该转换器可以在电池的最低可用电压下工作,在碱性化学物质的情况下为 0.9 V。这种方法还可以节省供应商和/或消费者的电池成本。
另一种降低功耗的方法是使用高度集成的 MCU,包括 ADC、DAC 和其他外围设备,因为 MCU 可以根据应用程序的需要控制启用和禁用这些外围设备。例如,一些 MCU 提供具有突发模式的专用低功耗 ADC,可以在 CPU 关闭时进行模拟测量,以进一步降低功耗。
总结
分析 MCU 供应商提出的各种相互矛盾的声明是一项挑战。然而,对于大多数应用,最好简单地恢复到基本功耗方程以消除混乱:
总功耗 = 活动模式功率 + 待机(睡眠)模式功率 + 唤醒功率
由于每个应用都会受到待机功耗、活动模式功耗和唤醒功耗的组合影响,因此系统设计人员可以通过系统地将功耗数字分解为上面显示的部分来简单地开始任何分析,这可能会有所帮助。一旦得出这些数字,系统设计人员就可以考虑应用程序的占空比——应用程序预计在待机、活动和唤醒模式下花费的时间量——来计算总体平均功耗数字。结果值应为系统设计人员提供一个接近的近似值,可用于客观地评估和比较 MCU 替代方案,以实现尽可能低的系统级功耗。
评论
查看更多