低功耗MCU的选择方法
嵌入式微控制器 (MCU)的功耗在当今电池供电应用中正变得越来越举足轻重。大多 MCU 芯片厂商都提供低功耗产品,但是选择一款最适合您自己应用的产品并非易事,并不像对比数据表前面的数据那么简单。我们必须详细对比 MCU 功能,以便找到功耗最低的产品,这些功能包括:
- 断电模式
- 定时系统
- 事件驱动功能
- 片上外设
- 掉电检测与保护
- 漏电流
- 处理效率
----在低功耗设计中,平均电流消耗往往决定电池寿命。例如,如果某个应用采用额定电流为 400mAh 的 Eveready 高电量 9V 1222 型电池的话,要提供一年的电池寿命其平均电流消耗必须低于 400mAh/8760h,即45.7uA。图 1 说明:应用消耗的电流越大,所提供的寿命越短,同时仍然保持较低的平均电流消耗。
![](../img/eep/emb/emb-2984fctot2ng1a5.jpg)
图 1
----在使 MCU 能够达到电流预算的所有功能中,断电模式最重要。低功耗 MCU 具有可提供不同级别功能的断电模式。例如,TI 超低功耗 MCU MSP430 系列产品可以提供 5 种断电模式。低功耗模式 0 (LPM0) 会关闭 CPU,但是保持其他功能正常运转。LPM1 与 LPM2 模式在禁用功能列表中增加了各种时钟功能。LPM3 是最常用的低功耗模式,只保持低频率时钟振荡器以及采用该时钟的外设运行。LPM3 通常称为实时时钟模式,因为它允许定时器采用低功耗 32768Hz 时钟源运行,电流消耗低于 1uA,同时还可定期激活系统。最后,LPM4 完全关闭器件上的包括 RAM 存储在内的所有功能,电流消耗仅 100 毫微安。
----时钟系统是MCU功耗的关键。应用可以每秒多次或几百次进入与退出各种低功耗模式。进入或退出低功耗模式以及快速处理数据的功能极为重要,因为 CPU会在等待时钟稳定下来期间浪费电流。大多低功耗 MCU 都具有即时启动时钟,其可以在不到 10~20us 时间内为 CPU 准备就绪。但是,重要的是要明白哪些时钟是即时启动、哪些非即时启动的。某些 MCU 具有双级时钟激活功能,该功能在高频时钟稳定化过程中提供一个低频时钟(通常为32768Hz),其可以达到 1 毫秒。CPU 在大约 15us 时间内正常运行,但是运行频率较低,效率也较低。如果 CPU 只需要执行数量较少的指令的话,如:25 条,其需要 763us。CPU 低频比高频时消耗更少的电流,但是并不足于弥补处理时间的差异。相比而言,某些 MCU 在 6 微秒时间内就可以为 CPU 提供高速时钟,处理相同的 25 条指令仅需要大约 9us(6us 激活+25 条指令′0.125us指令速率),而且可以实现即时启动的高速串行通信。图 2说明即时启动的 8Mhz时钟启动的例子,其达到完全稳定状态仅需要 292us。
![](../img/eep/emb/emb-2985tqfozyuukn2.jpg)
图 2
----另外,如果 MCU 时钟系统为外设提供多个时钟源的话,当 CPU 处于睡眠状态时外设仍然可以运行。例如,一次 A/D 转换可能需要一个高速时钟。如果 MCU 时钟系统提供独立于 CPU 的高速时钟,CPU 就可以在 A/D 转换器运行情况下进入睡眠状态,从而节省 CPU 耗流量。
----事件驱动功能与时钟系统的灵活性并存。中断会使 MCU 退出低功耗模式,因此,MCU 的中断越多,其防止浪费电流的 CPU 轮询与降低功耗的灵活性就越大。轮询意味着进行与不进行功耗预算之间存在差异,因为它在等待出现事件时会浪费CPU 带宽并需要额外电流。一个好的低功耗 MCU 应具有充分的中断功能,为其所有外设提供中断,同时为外部事件提供众多外部中断。
----按钮或键盘应用可以证明外部中断的优势。如果不具备中断功能,MCU 必须频繁轮询键盘或按钮,以确定其是否被按下。不仅轮询自身会消耗功率,而且控制轮询间隔也需要定时器,其会消耗附加电流。相比而言,在具备中断情况下,CPU 可以在整个过程中保持睡眠状态,只有按下按钮时才激活。
----在选择低功率 MCU 时,还需要考虑外设功耗与电源管理。某些低功率 MCU 仅仅是设计时不具备低利率功能的旧架构的改进版本。而有些 MCU 在设计时即具备低功耗特性,并在其外设中内置了低功耗功能。一种特性是在需要时单独启动或关闭外设的能力,换言之,更重要的是自动启动或关闭外设的能力。 A/D 转换器就是一个例子,其在完成一次转换后可以自动关闭。另外,某些 MCU 正在引入直接存储器存取功能,其可以在无需 CPU 干预情况下自动处理数据。
----大多 MCU 具有集成的掉电保护功能,当电源低于正常操作范围时其可以复位 MCU。通常会提供启动或关闭掉电保护以节省功耗的功能,但是必须在整个过程中都使掉电保护功能置于可用状态,因为掉电是不可预测的。某些 MCU 需要70uA 的电流来实现掉电保护。在只需要 45uA 平均电流的应用实例中很明显可以不考虑这些 MCU。
----在选择低功耗 MCU 期间有
- 基于FPGA的DSP设计方法(08-26)
- 专家指导:Linux操作系统密码恢复方法(05-16)
- 基于多核DSP Bootload代码加载方法研究(01-16)
- 基于DSP 的大容量无线传输技术中高性能的启动方法(03-16)
- 多核调试新方法探讨(10-22)
- 有备无患Linux操作系统备份方法介绍(06-06)