优化面向超低功耗设计的微控制器功效
不论是消费、工业还是医疗应用,功耗优化一般都是通过缩短有效处理时间以及延长处理器睡眠模式时间来实现的。不过,随着超低功率应用的出现,这种方法已然无法满足要求。单电池工作、接近电池阈值的充放电,电机和/或高亮LED的控制需求,以及减小器件外形尺寸并降低成本,种种趋势已经改变了开发人员的功耗优化方式。
对于电动牙刷、PMP、遥控器、无线传感器以及其它便携和手持式设备来说,必须将功率管理贯穿于系统的各个层面。通过高效单电池电压转换优化功耗、利用多种电流模式、引入智能电池管理、在应用级采用节能技术,便可以在整个系统范围实现功耗调节。
高效的电压转换
许多超低功率应用都在向单电池架构方向发展,以降低器件成本,减小尺寸和重量。这三个要素也是决定电池供电便携式应用产品成功与否的关键。很多时候,电池甚至比其它所有元器件加上PCB还要重。此外,标准AA或AAA电池通常是PCB上最大的组件。将电源精简为单个电池的方案颇具吸引力,因为其能够简化电池座设计,并使产品的整体结构变得更轻巧。
不过,单电池电源的设计也给设计人员带来了各种新的挑战。虽然当完全充满电后,单电池的电压范围通常在1.2V-1.5V,但实际上即便电池电压降至1V以下,仍有相当多的能量可供使用。电源电压为1.8V的MCU需要至少两个电池串联工作。而有些应用,比如利用很大的正向电压驱动高亮度LED,更是需要4个电池之多。为了通过单电池来驱动电机、LED甚至是处理器本身,必须利用一个调节器,把现有电压提升到合适的水平。然而升压调节器的成本几乎就相当于一个MCU,而且还需要占用很多PCB空间。此外,有些调节器还必须通过MCU来控制,从而进一步增加了设计的复杂性。
MCU内的集成自管理升压调节器的无缝工作,不仅可以避免由外部调节器带来的大多数成本和空间问题,而且相比采用外部DC-DC转换器,其MCU还能提供更高的功效。例如,集成式调节器ATTIny43U(见图1)就能够提升低至0.7V的电压,较之由其它类型实现方案支持的技术更能在接近电池储量的极限下放电。一个集成式调节器还可实现相当小的无功电流(ATTIny43U的典型值是1uA),而且一旦有足够电压,就能够自动启动(1.2V表示满电池或接近充电完成)。
图1. 集成一个升压调节器使ATTIny43U能够在电压低至0.7 V的单电池下工作,有效驱动高达10mA的负载电流。而且,相比其它类型的实现方案,它更允许放电更接近电池储量的极限。
除此之外,这种调节器还支持所有的电池技术,赋予设计人员充分自由来选择针对某种特定应用的最佳电池。电池电压范围为0.7V-1.8V,开发人员可以使用1.6V碱性电池或氧化银电池、1.5V锂电池、1.4V锌空气电池(Zinc-Air),以及1.2V镍氢和镍镉电池等。
升压及低电流模式
对许多应用而言,无外部驱动电路的大电流能力也十分重要。ATTIny43U的升压调节器具有高达30mA的电流驱动能力,能够直接控制高亮LED和小型电机。由于该调节器是MCU的一个集成部分,所以可针对架构进行优化,最大限度提高效率。例如,图2就显示了ATtiny43U对基于剩余电荷的特定负载电流的转换效率。
图2. 一个集成式升压调节器针对其MCU架构而优化,使不同负载和电源电压下的转换效率最大化。由于无需外部调节器,集成式调节器还能减小板上空间要求,降低总体系统成本。
如图所示,相比电流较小的工作,大电流工作的效率更低。不过,大部分大电流应用并不需要在大电流模式下连续工作。譬如,电动牙刷或相机只是偶尔才启动电机工作。如果其架构被锁定在大电流模式,即使在只需要很小耗电量的情况下,这些设备的工作效率也很低;这就是说,调节器将以大电流工作条件下的低效率特性来提供低电流。
要维持效率的话,MCU便必须能够支持多种工作模式。于是,当设备需要大电流和严格调节的Vcc时,MCU和调节器便会在调节模式(Regulated Mode)下工作。另一方面,当电机或其它外设闲置,且负载电流降至0.6mA以下时,调节器则自动切换到低电流模式(Low Current Mode),更有效地调节功耗。
图3. 本图所示为一个升压转换器在不同负载下的典型输出电压曲线。在轻载或空载时(绿色曲线),测得的转换时间(上升电压)为数百微秒,而闲置时间(下降电压)为数秒。要注意的是这种变化是发生在MCU处于省电模式或功耗极小时。在主要工作模式,即有源调节模式下,输出电压仍保持稳定(3V +/- 100mV)(红色曲线)。
此外,在轻载或空载时,调节模式下的转换器将周期性达到它的占空比低限。通过自动切换到低电流模式,转换器便停止转换,耗电量被降至最小,但同时仍然保持有源状态(见图3)。当MCU处于断电或功耗极小时,输出电压便会出现这种变化。而在主要工作模式,即有源调节模式(Active Regulated Mode)下,输出电压仍保持稳定(3V +/- 100mV)。另外需注意的是,典型转换电压会随电池能量的消耗而变化(见图4)。调节器是一个独立的子系统,无需MCU的主动管理。不过,对于那些需要更直接地控制升压调节器的设计人员而言,某些特性可利用软件来加以控制。
由于实际效率取决于应用,故集成所有与功率调节相关的无源器件毫无意义。例如,成本是某些市场的主导因素,而在另一些市场,最重要的推动力却可能是使用寿命。与其被迫采用针对其它市场而优化的无源器件,或所有应用都还算满意但非最佳的产品,开发人员还不如选择能够给自己的应用提供最佳平衡的的无源元件。而这只需区区几个元件就可以做到(即一个电感、两个旁路电容和一个肖特基二极管)。
智能电池管理
准确估算剩余能量,是最大化电视电量使用率的重要因素。譬如,充电电池需要在设置范围内进行严密监控和充电控制,以确保电池的安全使用,并获得尽可能长的使用寿命。剩余电荷的估算越准确,电池就越能够接近极限容量来安全充放电,而不必担心因充放电过度对电池造成损害。
虽然更精密的电池充放电控制意味着电池有更多可用能量,从而使用时间更长,但这种控制方式缺乏灵活性,而且可能严重限制处理器能够支持的电池技术。例如,不同化学性质的电池具有不同的安全充放电电压阈值,如果MCU有固定阈值或在阈值配置方式上有所限制,那么其就会成为MCU有效管理的电池技术方面的障碍。因此,开发人员可能会被迫根据所选用的MCU来使用特定电池,而不是选择最适合的电池技术。
对于必须替换电池的应用,支持充电电池的灵活性至关重要。充电电池的阈值相比一次性电池大为不同,如果消耗过度,可能会损害其总体充电容量。由此造成的使用时间缩短,极可能被归类为设备故障而不是电池故障。ATtiny43U的固件能够利用内建ADC来监控电池电压,并决定什么时候让设备进入停机模式(Stop Mode),从而彻底消耗一次性电池的电量,同时确保充电电池在多个充电周期上都能够获得最长的使用时间。
虽然自动关断处理器可以保护充电电池,但是从应用的角度来看,突然断电可能是不可接受的。例如,突然关断相机会致使镜头暴露在外,令镜头容易受损。因此,设计人员可以通过一个重要的功率管理元件来准确估算剩余的能量。比如,利用ATtiny43U的10位ADC每隔一定时间对电池电压进行测量,就可以达到前述目的。采用这种方法,就有机会在设备关断之前,让各个器件进入安全配置。
在应用级实现高功效
许多应用都会加入一个MCU作为主机处理器的辅助处理器,用于卸载显示器刷新、键盘监控、小型电机工作以及智能电池管理等任务。采用辅助处理器的优势在于,MCU能够以高于应用处理器的功效来执行这些功能。譬如,一个监控键盘的应用处理器必须被频繁唤醒来执行任务。而因为MCU在工作模式下的功耗小于应用处理器,所以采用MCU来监控键盘及更新显示器便可以使应用处理器更长时间地连续处于睡眠状态,从而节省可观的能量。
当然,处理效率也对功效有重大影响,因为MCU每个周期能执行的工作越多,它进入睡眠模式的速度也就越快。而提高时钟频率会增加功耗,故效率更高的MCU架构能够支持在单个周期内一个动态工作频率和执行指令,并执行外设自动化管理。
超低功耗MCU还需要多种睡眠模式。例如,一个传感器应用可以监控温度,直到它超过阈值。如果在监控期间整个MCU处于工作模式的话,所消耗的能量会比实际需要的更多。支持不同的睡眠模式,允许开发人员关断设备的不同部分,实现更佳的节能效果(见表1)。
表1. 超低功耗MCU具有多种睡眠模式,因此在仅需有限功能而无需整个MCU以大功率工作模式工作的时候,开发人员可在不同的低功耗闲置模式下配置一个超低功耗MCU。
ATtiny43U架构中有数种架构创新技术,可供开发人员用于提高工作模式和睡眠模式下的功效:
精确的电源电压:虽然MCU可以接受单电压电源,但在架构上它可能有多个不同的内部电压。这样的设计方法带来了低功效,因为动态功率高于预期。若所有模拟外设、闪存、EEPROM及RAM都工作在同一个电压下时,设备的总体功耗便会降低。
泄漏电流最小化:温度、电源电压和工艺技术都会影响泄漏电流。超低功耗MCU不是对现有架构进行修改,使其能够在更低电压之下工作,而是必须以功效为理念从头开始设计,而爱特梅尔的picoPower AVR微控制器系列就是一个示例。
低功率欠压检测(Brown-Out Detection, BOD):虽然零功率欠压检测器不会消耗功率,但它们的响应速度也很慢,可能需要足足一毫秒的时间来检测阈值以下的电压,这就给MCU带来了风险。相反地,“睡眠BOD”却能够在2微秒内检测出欠压情况,而耗电量只有20uA。由于MCU在深睡眠模式下无需欠压保护,这时可关断睡眠BOD,并达致零功耗。采用这种方法,开发人员便能够同时实现低功耗和快速响应。
数字输入中断寄存器(DIDR): 外设(比如ADC)的多路输入,可以提高小引脚数目器件的设计灵活性。不过,在加载Vcc/2范围内的电压时,含有输入缓冲器的晶体管将出现电流泄漏。这时,若使用专门的输入中断寄存器,在每一个模拟输入中加入一个禁止位,开发人员便可以单独禁止输入缓冲器,避免泄漏的发生。
时钟门控:时钟门控技术可以降低任何时钟域的切换频率。任何没有使用的时钟都可以进行门控,从而避免无谓的功耗。
省电寄存器:虽然多种睡眠模式可简化功率管理,但它们往往只能够启动或关断整个外设部分。这样,即使只使用一个外设,其它的外设也必须处于工作状态下。省电寄存器(Power Reduction Register)可让开发人员能够完全单独控制各个外设模块的开关。在工作模式下禁用某个外设模块可以降低5-10%的总功耗;在闲置模式下则可节省10-20%。
闪存采样:传统的闪存设计是要在工作模式下维持激活状态。然而,在时钟速率较低时,闪存读取时间将小于时钟周期。闪存采样技术就是让闪存以10ns数量级的速度对阵列内容进行采样,然后立即禁用,从而降低平均功耗。
快速唤醒:如果系统被唤醒速度很慢,就不得不以更长时间处于工作模式下,以适应更长的延时,防止实时事件处理的中断。换言之,MCU被唤醒的速度越快,它停留在睡眠模式下的时间就越长。
如何选择超低功耗/超低电压MCU
在评估不同的超低功率MCU规格时,开发人员必须头脑清醒,从而确保等效测量结果的比较。例如,应该考虑到:
? 某个范围内的效率:效率规格通常是根据MCU的最佳测量(最佳点)结果而不是负载电流电压上的结果给出。某个应用的典型工作范围可能使其位于较低效率的曲线上。此外,效率必须在电池的整个电压降范围上进行估算。
? 电池的安全工作范围:虽然MCU的耗电量也许相当小,但如果无法足够精确地测量电压和温度,那么电池限值就可能被超过,导致电池受损及使用时间缩短。在确定设备可安全使用的电池能量时,精度是一个关键因素。
? 调节器低效:无升压调节器的MCU有更高的效率规格,因为转换损耗隐藏在外部调节器中。此外,在单电池设计中,如果MCU没有集成调节器,切记把外部升压调节器的成本和设计复杂性考虑在内。
? 设备整个使用范围内的效率:在驱动大电流时,MCU的效率可能很高,但除非它有多个工作模式,否则在驱动低电流时,它的效率会很低。因此,如果应用并非经常需要大电流能力,总体效率便会降低。
? 规格是利用单个还是多个电池测得:某些MCU规格会随着所用电池的数量而改变。例如,如果有多个电池,便可以避过使用内部升压调节器,从而提高效率。反之,在只使用单个电池时,利用多个电池获得的各种规格(比如唤醒时间)可能会降低。
? 开发环境的成熟度:实现超低功率需要架构层的创新。基于全新架构的超低功率MCU常常最多只能提供仍在开发中的有限设计工具。由于软件开发是最重要的成本因素之一,设计工具的稳定性、完整性和功能性,在帮助开发人员有效地管理功耗,以及快速把产品推向市场时发挥了举足轻重的作用。
图5. 利用STK600和ATtinyx3U顶层模块等演示工具套件,开发人员可测量实际工作条件下的功效。这些工具套件让开发人员能够全面使用ATtiny43U的功能和Ateml丰富成熟的开发工具套件来测试单电池工作,获得高亮度LED的功率曲线,调节功率阈值,从而在安全范围内充分利用电池的最大容量。
确定MCU功耗如何“超低”的方法之一,是自己对其进行测量。演示工具套件(Demo Kits)为测试MCU在实际工作条件下的效率以及利用其功能集提供了行之有效的手段。例如,只要把ATtinyx3U顶层模块(top module) 连接在STK600开发板上,开发人员便能够全面使用ATtiny43U的功能和Atmel全面的开发工具套件(见图5)。利用该模块,开发人员可以测试单电池工作的限值,在直接驱动高亮LED的同时设定功耗轮廓,以及驱动集成式升压调节器的自动关断和上电功能,以调节功率阈值,在安全范围内充分利用电池的最大容量。
小结
单电池设计无需备用电池载荷,而备用电池往往正是超低功率系统中最重和体积最大的组件。集成了片上调节器并具有可配置模式的MCU ,可以有效弥补MCU的极小电源电压和标准单电池技术的典型输出电压之间的差距,使开发人员得以把已有负载条件及电池电压下的功耗降至最小。只需一个电池,无需外部调节器,凭借低至0.7V的电池耗电能力,以及用于LED和小型电机的大电流能力,设计人员便能够以最低的成本、绝对超低的功耗设计出紧凑型的电池供电设备。