首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年8月19日星期一
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
选择低功耗 MCU

Choosing a Low Power MCU

德州仪器公司 Mike Mitchell

嵌入式微控制器 (MCU)的功耗在当今电池供电应用中正变得越来越举足轻重。大多 MCU 芯片厂商都提供低功耗产品,但是选择一款适合自己应用的产品并非易事,并不像对比数据表前面的数据那么简单。用户必须详细对比 MCU 功能,以便找到功耗最低的产品,这些功能包括:

·断电模式
·定时系统
·事件驱动功能
·片上外设
·掉电检测与保护
·漏电流
·处理效率

在低功耗设计中,平均电流消耗往往决定电池寿命。例如,如果某个应用采用额定电流为400mAh的高电量9V电池的话,要提供一年的电池寿命其平均电流消耗必须低于 400mAh/8760h,即45.7uA。图 1 说明:应用消耗的电流越大,所提供的寿命越短,同时仍然保持较低的平均电流消耗。

图 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。

图 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 需要70 A 的电流来实现掉电保护。在只需要 45 A 平均电流的应用实例中很明显可以不考虑这些 MCU。

在选择低功耗 MCU 期间有时会忽视漏电流,但是,在最苛刻的低功耗应用中则必须考虑到漏电流。大多改进后的低功耗 MCU 都具有 1 A 的限定输入漏电流。在 20 输入器件中,它可能会消耗 20 A!针对低功耗设计的最新 MCU 具有最高50nA 的漏电流。

最后,用户常常会误解 MCU 处理效率。大家通常会认为 16 位 MCU 需要两倍于 8 位 MCU 的内存,但是一个 16 位架构实际上需要比 8 位架构要少一些的代码,而 16 位 MCU 一般会更快速地执行任务。例如,8 位 MCU 需要 CPU 开销来管理具有 10 位 A/D 转换数据或需要 16 位计算的应用中的数据。而且当今许多MCU 产品都具有单个工作文件或累加器,其数据必须进行传输,以便处理,因此,与基于寄存器的架构相比需要额外的 CPU 开销。表 1 说明在 16 位现代架构与8 位 8051 架构上传输 10 位 A/D 数据的指令。在采用 1Mhz 时钟情况下,16 位器件需要 6 s 进行传输,而 8 位器件则需要 24 s。

选择低功率 MCU 是一项耗时、棘手的工作。如果花费一些时间来了解可用产品选项的架构特性,就能够开发出能满足最苛刻功率预算的设计。

表1:16位与8位MCU代码要求(略)

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com