浅谈低功耗设计
2018-09-10周光森史欢欢张若南
周光森 史欢欢 张若南
摘要:电路里的大电流会使产品的寿命和可靠性降低,电源的动态压降严重的时候还会造成失效。很多电子产品如智能手表等都是锂电池供电,如果采用同样容量大小的锂电池进行测试,不难发现电子产品低功耗做的好的,工作时间越长。因此,低功耗设计在电子产品设计中占据重要地位。
关键词:电池;低功耗器件;电路设计;程序设计
一、电池供电
在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式、移动设备、无线类仪表的产品中去,而这些产品往往是靠电池来供电,所以电池的选择尤为重要。电池供电应该根据具体项目需求,选用可充电性电池或者是一次性电池,还要考虑其容量;体积、耐温性能、自放电率、安全性等等。
二、低功耗器件
随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,而功耗增加又将导致芯片发热量的增大和可靠性的下降。因此,功耗已经成为集成电路设计中的一个重要考虑因素。为了使产品更具竞争力,工业界对芯片设计的要求已从单纯追求高性能、小面积转为对性能、面积、功耗的综合要求。而微处理器作为数字系统的核心部件,其低功耗设计对降低整个系统的功耗具有重要的意义。由于电子电路集成化的最大优点是能使复杂电路小型轻便,所以随着便携式仪器应用范围的扩大,选择器件时应注意以下几点:
①选用具有低功耗特性的单片机可以大大降低系统功耗。可以从供电电压、单片机内部结构设计、系统时钟设计和低功耗模式等几方面考察一款单片机的低功耗特性。
②系统中单片机以外的其他电路器件尽可能选择静态功耗低的器件;
③设计外部器件的电源控制电路,使外部器件或设备在不工作时关断供电,减少无效功耗。
三、电路设计
想要延长设备的电池寿命,电路的合理设计也是重要的环节。设计者至少需要掌握利用低功耗微控制器、传感器、无线电和高功率电源等组件进行设计的技巧。特别是当设计越来越趋向小型和轻量化时,运用高效电源管理技巧來平衡电池的容量与尺寸也是至关重要的。此外,当电池电压下降到较低水平时,选择正确的升压转换器,输出电压高于源电压的DC-DC转换器可有效延长电池寿命。想要确保为电池供电设计选择正确的升压转换器,需要考虑以下因素:
①静态电流:越低的静态电流越有利于延长系统待机模式下的电池寿命;
②真关断模式:关断时将电流输出与输入阻塞,提高效率、延长产品保存期限;
③输入电压范围:允许利用几乎耗尽的电池进行工作;
④效率:测量VIN、VOUT和IOUT,百分比越高,越有利于延长电池寿命。
此外,核心CPU低功耗性能直接影响着产品的最终性能,CPU晶振的工作频率与功耗成正比,在满足系统需求的情况下,尽可能降低晶振的频率会大幅降低功耗。
四、程序设计
软件对于低功耗系统的重要性常常被人们忽略。许多技术可以降低系统的功耗,通过合理的软件程序设计。最常用的是Sleep模式。程序执行一条Sleep指令,便进入了休眠(Sleep)模式。在Sleep模式下,晶振停止振荡,而此时CPU在3V电源条件下,只有1μA的电流。系统工作时,可以采用看门狗或外部事件周期性地唤醒CPU,从而达到降低功耗的目的。利用程序合理控制电路的工作流程,关断一切可以关断的芯片电源,以减少系统待机功耗,延长电池使用时间。对于CPU未使用的GPIO而言,应该将其设置为固定状态,给出固定电平,且不可放任不管。更细致地降低功耗的软件设计,可采取如下方法:
①用“中断”代替“查询”,使用中断方式,CPU可以什么都不做,甚至可以进入等待模式或停止模式,而查询方式下,CPU必须不停地访问1/0寄存器,这会带来很多额外的功耗;
②用“宏”代替“子程序”,宏会在编译时展开,CPU只是顺序执行指令,避免了调用子程序。因为CPU进入子程序时,会首先将当前CPU寄存器推人堆栈(RAM),在离开时又将CPU寄存器弹出堆栈,这样至少带来两次对RAM的操作;
③尽量减少CPU的运算量,用查表的方法替代实时的计算,减少CPU的运算工作量,可以有效地降低CPU的功耗;
④让1/0模块间歇运行,不用的1/0模块或间歇使用的1/0模块要及时关掉,以节省电能,比如不用的控制外围芯片可以关掉使能引脚。
五、结束语
一个成功的低功耗设计应该是硬件设计和软件设计的结合。从硬件设计开始,就应该充分意识到低功耗应用的特性,选择一款合适的单片机,设计系统方案;在软件设计上,要考虑到低功耗编程的特殊性,并尽量使用单片机的低功耗模式。掌握了低功耗的设计,对设计产品有重大意义。