在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 3213|回复: 4

提高便携嵌入式系统的电池寿命

[复制链接]
发表于 2004-12-1 16:16:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

  如今,越来越多的电子设备实现了便携化,并相应的采用电池供电。电池也在不断变小,变轻,人们期望便携式电子系统的设计者们利用这一点,不断提高系统的性能,增加其功能。有鉴于此,本文将对多种低功耗设计技术进行一个简要评述。
  
  电池技术及寿命
  
  影响一个电池寿命的因素有多种,其中最重要的一种是电池的自放电速率,其定义是在满足电路最小Vdd要求和带特定负载条件下的“安培·小时”数。
  
  某些类型的电池,如锂电池,有比较平坦的放电曲线,其输出电压在使用了容量的90%时只下降10%。然而,常用的AAA到D型的碱性电池在用完约90%的总容量时,电压要下降40%(从1.50V到0.9V)。
  
   EnergizerAA锂电池的典型自放电曲线,从中可以看出,温度对自放电有很大影响。因此在确定总的电池额定容量时,应该根据所预计的高温状态工作小时数对其进行修正。
  
  由于使用温度、最小Vdd电压、工作电流和负载循环对电池技术提出了不同要求,在试图提高电池寿命时,查阅电池厂商的数据表就非常重要。
  
   ●*一般持续最长时间2秒;
  
   ●**在21oC贮藏条件下;
  
   ●要获得关于电池技术的更多信息,请参阅www.energizer.com
  
  平均电流消耗
  
  电流消耗的估计是便携式系统设计的第一步。大多数用电池供电的系统都具备休眠模式,休眠时电流消耗减至mA级或更低。若系统集成有实时(real-time)时钟,其在系统休眠时也会消耗电流。平均消耗电流按如下公式计算:
  
  电流=工作时间百分比×工作电流消耗+休眠时间百分比×休眠电流消耗+时钟电流消耗
  
  因此如果一个轮胎压力传感器休眠时间为1分钟,消耗电流0.1mA,而敏感和发送压力信息所花时间为100ms,消耗电流100mA,则总电流消耗应为:
  
   (0.1/60)×0.01+(59.9/60)×0.0000001=16.76mA.
  
  在这个例子中,工作状态时的发射所需电流是主导因素,因此减小工作时间而增加休眠时间或减小工作电流将大大改变总的功耗。
  
   MCU的节电功能
  
  现代的低功耗CMOS微控制器,具备多项降耗功能,这些功能有助于改善系统总的电池寿命,如PIC16F8778-bit(PIC系列是MicrochipTechnologyInc.的产品)闪存微控制器。
  
  休眠和待机模式
  
  当系统无需执行指令时可以进入休眠模式。此时外部振荡器连同程序寄存器的敏感放大器一起关闭。处理器的RAM保持状态不变。按键、总线传输、实时时钟、边沿触发中断或看门狗电路都能用来唤醒系统,由于处理器的状态得以保持,系统将继续运行。
  
  振荡器的类型与系统脱离休眠模式时的唤醒时间有很大关系。成本较低(精度也较差)的RC振荡器起振迅速,消除了命令执行的延迟。高频晶体振荡器需要数百ms的时间,使用低频手表晶体时则要数百ms。这一延迟,尽管在某些应用中是可以接受的,却会给许多其他应用带来麻烦。要注意的是,振荡器在起振阶段要消耗大量的能量。在某些应用中,这一过程消耗的电流要高于MCU运行时消耗的。
  
  待机模式则是在关闭MCU核心运行的同时,依旧让外振荡器和外设工作。这种模式还可以快速唤醒,因为振荡器一直在运行。然而由于振荡器电流通常占到总工作电流消耗的20~40%,这种模式节约的功耗有限。
  
  看门狗定时器
  
  如果设计需要具备休眠模式,但要定期启动,一个低功耗的、基于RC振荡器的内置监视定时器将是一个不错的选择。低功耗MCU,如PIC16F87X系列,提供了由一个内置低功耗RC振荡器驱动的内部看门狗定时器,其唤醒间隔从18ms~3s,可通过编程控制。如果要求更长的唤醒间隔,只需再采用一个增量计数器。通过它来设定更长的时间间隔计数,如果时间间隔还未结束,就让系统保持休眠:
  
   sleep_count=0;//重置休眠计数器
  
   While(sleep_count++<20)
  
   Sleep();
  
   //从该点开始继续-执行指令
  
  实时时钟振荡器
  
  某些应用要求掌握日期和年份信息,或者其他精确的时间标记。由于系统振荡器在休眠时关闭,需要用另一个低频振荡器维持时间基准。PIC16F877的TMR1和TMR3外设提供了一个单独的基于32768Hz手表晶振的低功耗振荡定时器。处理器由定时器的溢出唤醒,从而能精确地按时间工作。这一定时器可提供30ms到16s的定时。在进入休眠模式时只消耗1_25mA的电流。
  
  唤醒技术
  
  既然大多数低功耗应用会利用休眠技术,大部分微控制器提供了多种不同的唤醒方法。典型的边沿触发中断、从通信、有效定时器溢出、看门狗和I/O引脚变化都能用于唤醒微控制器。
  
  晶体振荡器的选择性、RC和晶体
  
  振荡器的比较
  
  由于电容开关损耗是现代CMOS微控制器功耗的主要来源,电流消耗直接与工作频率和电压成正比。如果应用无需快速执行指令,选用低频晶振或RC振荡器均可。一般为了减小功耗和电磁干扰,最好选用频率最低的振荡器。
  
  不过,晶振在从休眠唤醒过程中还有一段长短不一的等待期。在等待晶振的频率稳定过程中,微控制器在没有完成任何操作的情况下也会消耗其相当一部分有效功率。因此若工作频率足够低而要求定期唤醒的话,则休眠模式未必有利。
  
   RC振荡器可以瞬时起振并消除了唤醒等待期,故能大大降低功耗。RC振荡器的不利之处在于无法达到晶体或陶瓷谐振器的精度。一些厂商可以将内置的RC振荡器校准到1_10%的精度,以便提高这些低成本振荡器的可用性。使用低频率的“实时时钟振荡器”时还可以利用振荡器提供的时标对器件工作频率进行校准。
  
  指令计数=0;//每秒将(指令数/While循环增量时间)置零
  
   While(TMR1H_MSb);//等待,直到TMR1MSB为高
  
   While(!TMR1H_MSb);//等待,直到TMR1MSB为低,Low->High
  
   While(TMR1H_MSb)
  
  指令计数++;
  
  在本例中,TMR1是一个16位的定时器,与一个32768Hz晶振相连。由于没有预定标器,最高位TMR1H_MSb将每秒改变状态。首先,在等到该位从低变到高时,指令计数在该位保持高的状态下增加。1秒后,该位切换为低,指令计数将工作频率/#指令循环置零以结束While/imcrement循环。
  
  由于电流I=C(dV/dT),电容性开关电流消耗与电源电压成正比,功耗等于V×I,因此如果电源电压减少一半(5V-2.5V),电流消耗就减小约一半,功耗减小为1/4,因此较低的电压可以大大减小系统的总功耗。
  
  外设的功耗管理
  
  振荡器的选择已经完成且工作频率、电压和休眠模式已经优化之后,就应该考虑对内部的外设功耗进行管理。很多嵌入式微控制器集成了A/D转换器,降耗重置,电压比较器和基准源。这些模块在启用时均消耗电流,故一旦不使用,就应将其关闭。在采用休眠模式时这一点很重要,既然处理器已经休眠,就没有必要让无用的模块消耗电流。
  
  某些微控制器,如PIC16F877,可以吸纳和输出高达25mA的电流。这样就可以直接将其尚未使用的I/O引脚与LCD显示器、运算放大器、D/A和A/D转换器的Vdd端相连,进行功耗管理。如果要求更大的电源电流,可以将同一端口的多根I/O引脚捆绑在一起。如果要求使用电压调节器,务必选用低静态电流器件,如TC54,这样,在微控制器进入休眠模式时,可以维持很低的电流消耗。
  
  切勿将不用的I/O引脚浮置。应该让所有未使用的引脚定义为数字信号输出状态或将不用的输入端之接地。浮置的数字输入端会不时的发生莫名其妙的振荡,消耗数百mA的电流。
  
  结语
  
  当代微控制器具备优异的低功耗性能,这要感谢先进的低功耗CMOS工艺技术。使用电源开关的时代已经为采用休眠模式和基于固件的自动关机时代所取代。集成的实时时钟已经使得嵌入式应用能给各种事件打上时间标记,从而定期启动并维持一个实时时钟。随着功耗的不断降低,电池将变得更小,工作时间会更长
 楼主| 发表于 2004-12-3 14:44:36 | 显示全部楼层

提高便携嵌入式系统的电池寿命

廉价的低功耗控制器的应用
作者:Peter Woytowitz
胜出者是……
        在Microchip Technology公司的赞助下,《Portable Design》杂志在最近举办了“低功耗设计竞赛”。我们请读者回顾一下在过去用Microchip公司最新的毫微瓦微控制器完成的设计。我们请参赛者着重介绍低功耗的效果,把设计转入制造的可行性,关于这方面的项目,要求介绍清楚,在技术上是完整的。
        根据这几条标准,胜出者是Peter Woytowitz。他的项目是控制灌溉的低功耗控制器。用一只价钱便宜的电池时,这个控制器可以工作十多年。
        围绕廉价的控制器进行的简单设计。
        在很多需要灌溉的地方,缺乏交流电源。在这些地方需要水、但又缺乏电力供给用于灌溉的普通控制器使用。这些地方包括乡村和农业区,向四周伸展出去的建筑工地。
        用于灌溉、由电池供电的控制器中有一个功率极小的开关电源,可以在这些地方用于控制灌溉。这个设备是用一节尺寸只有普通电池一半的氯化亚硫酰锂电池供电,每天进行两次灌溉,至少可以用十年。灌溉控制器的设计可以用于控制更多的泵站或者按更加复杂的方式进行灌溉。
        灌溉控制器上的电源可以工作这么长的时间,它还有其他的益处。因为十年不需要更换电池,可以节省大量劳力。此外,还可以把它当作一次性使用的设备。因为边远地区往往容易受到破坏,可以把电池供电的灌溉控制器安装在阀旁边的盒子中,埋在地下,防止它遭受破坏。
灌溉控制器的核心是一只PIC16LF819微控制器。32 kHz的石英晶振与Timer1一起组成时基信号产生器。内部的RC振荡器用于产生时间短的周期信号,用于执行程序,并且用于串行端口的通讯(图1)。

图1 用于控制灌溉的控制器每隔四秒钟就出现一次溢出,把控制器从睡眠状态唤醒。控制器醒过来之后,检查串行通讯线路,并将时间更新。

        灌溉控制器必须定期地醒过来,并且送一个电脉冲到直流栓锁螺线管上。螺线管控制着阀,因而控制着阀中流过的水。为了把阀打开让水流过,加一个5.5 V的脉冲,延续时间是30 ms。加一个极性相反的脉冲便把阀关闭,水就不能流过。
        这种有两条引出线的螺线管的电阻是5欧姆至10欧姆。由于把阀打开/关闭需要比较大的脉冲电流,而且保持这个电流的效率比较低,在这个设计中,需要对一个很大的电解电容器(4700μF)充电到5.5 V,然后,把电容器上的电能送往螺线管。
        灌溉控制器中的氯化亚硫酰锂电池的电压一般是3.6V,在电池工作期间维持在这个电压。PIC16LF819传送一个信号告诉U3──Microchip公司的充电泵型DC-DC转换器──将电容器C6充电到5.5 V。
        因为在这个器件中U3在关机时电流不可忽视,因而使用P沟道MOSFET Q2。微控制器用它的一个输入──信号Vsense──监视C6上的电压,当C6上的电压上升到5.5 V时,停止充电(图2)。此时,D2导通,C6 慢慢通过R9及R10放电。在出现明显下降之前,微控制器通过两只MOSFET、U4及U5组成的H型桥路,为螺线管提供所需极性的脉冲。

图2 图中是用于控制灌溉的控制器,其中使用一只Microchip公司的PIC16LF819微控制器。
        用脉冲RB4 和RA1进行充电,在P沟道FET上形成一个负电压VGS,当C6放电并且源极电压接近大地电位时,进行充电。当把C6充电到5.5 V时,控制灌溉的RA2成为高电平,同时把脉冲送到RB4。这个过程大约需要100 ms,之后,C6中的大部分能量送到螺线管。为了停止灌溉,用RB3和RA1完成同样的过程。R19是在源极电路中,作为限流元件。在螺线管出现短路时,这个电阻便进行限流。
电源
        用户可以把灌溉运作的安排输入到这项设备中,这是通过接到电脑或者接在J3的其他终端设备上的串行接口进行的。电脑或者其他终端设备是接到J3上的。用简单的手写语言来安排灌溉的运作和开始时间,以及一星期中哪些天进行灌溉。由于看不到用户界面,可防止设备遭受破坏。
        当J3接到一个串行端口上时,控制器消耗的全部功率来自交换信号的线路。控制器需要的功率由它里面的开关电源供给,这时它把交换器堵塞。为串行设备供电的VDD大约是4 V。当串行装置接到J3时,RB0就会把它敏感出来。
        只要连接没有中断,它就处于工作状态,等待着进行串行通讯。虽然控制器、Q3、Q4、D5等使用的电路是通过串行端口进行通讯的,它产生的信号并不是真正的RS-232信号,它可以在不长的电缆中传送低速的数据。
        灌溉控制器的供电电源是用2.1 V形成的,从氯化亚硫酰锂电池吸取的电流平均为2μA至8μA。供电电源由U1、Q1、D1以及有关的无源元件组成,以满足对电流的要求。这个电路是一个工作在不连续状态的简单降压转换器,频率低于1 Hz。
        电压检测器TC54的静态电流在1μA的范围。因为电流是从开关的输出端流过来的,电源输入端的静态电流不到1μA。
        现在我们来分析电路的运作过程,它可以分为下面几步:
        1.   首先,假定VDD低于电压检测器U1的阈电压,它的漏极     输出是低电平,于是P沟道MOSFET Q1导通。
        2.   在Q1导通时,电流开始在L1中流过,C2开始充电,于是VDD上升。
        3.    U1存在滞环。当VDD高于U1的“低转高”阈电压(VDET+) 时,U1的漏极输出切断,R1把Q1栅极拉到高电平,于是Q1截止。
        4.   当Q1截止时,储存在L1中的电荷通过D1流到电容器C2上,在C2上累积更多能量,这个过程直到L1上的能量耗尽为止。这就是说,它是工作在不连续状态下。
        5.    C2把功率送给电路。
        6.    经过几秒时间之后,C2放电到VDD又一次低于U1的“高转低”阈电压(VDET),接着又重复上述过程。
在输入电压低于1.4 V时,电压检测器的输出是不确定的,用开关SW1让电路开始进行切换。
        在分析了这台设备上使用的元件数值(L1 = 100 mH、C2 = 100μF、U1滞环大约是 105 mV)之后,你会看到,第1步至第3步是在几毫秒内完成的,而第5步和第 6步要用几秒完成。换句话说,这个电路在几毫秒里把一定数量的能量送到C2上,但是这点能量足够电路使用几秒钟。
        VDD存在一些脉动,脉动的大小大致上等于U1的滞环。请注意,工作在不连续状态的开关电源有许多问题要注意,例如元件能够承受的电压,但是这些对于这个电路并不适用,因为它的电流很小,运作很慢,而且电感器L1的直流电阻有点大。
        但是,在为灌溉控制器选择无源元件时,有一些重要的特性要考虑到,主要是泄漏电流。由于从电源输出端吸取的电流很小(不超过10μA),D1和C2必须选用泄漏电流相当小的元件。在温度为25℃时的泄漏电流为1 mA的普通的1N5818二极管不适合在这里使用。
        如果需要,微控制器用一个优先信号让Q1进入导通状态,它的电源电压为3.6 V。非常重要的一点是,RA4是微控制器上唯一可以执行这项功能的引脚。这是因为,这个引脚是漏极输出,正电源上没有箝位二极管。在对螺线管进行激磁时,便在这个方式下工作。因为电源电压必须升高到足以让U4和U5中的MOSFET进入导通状态(VGS 的阈值最大为3 V)。
固件
        因为灌溉控制器的工作是按分钟进行的,必须将Timer1预置。工作在32.768 kHz时,每隔两秒钟就溢出,并且产生中断信号,中断信号把控制器从睡眠状态唤醒。
        控制器醒过来之后,便把时间更新。如果过了一分钟,便根据开始时间来确定是否应该开始进行灌溉,灌溉进行时,时间计时器开始减少。
微控制器上的固件有四种工作方式:
        方式 1─睡眠,而Timer1振荡器仍然工作。
        方式 2─Timer1的中断信号将它唤醒。工作在这个方式时,时间计数增加,并检查灌溉开始时间。
        方式 3─控制器醒了并且进行灌溉或停止灌溉。工作在这个方式时,电源线上的电压改变为3.6 V,外设电路可以工作。
        方式4─控制器醒了,并且通过串行接口电路交换数据。工作在这个方式时,串行器件为它供电,电源线上的电压大约是4 V。
功耗的计算
        有必要知道每种工作方式的平均电流,并且根据每种方式的循环工作时间的长短计算出总的平均电流(不必考虑方式4,因为工作在这个方式时是由串行端口供电的):
        方式 1─睡眠处于Timer1工作在32 kHz。Timer1工作在32 kHz (在室温,VDD = 2.1 V)时,工作电流一般在2.7μA左右。把这个电流与关机电流(0.2 μA)加起来,便得到这个工作方式的总电流是2.9 μA。因为Timer1一直在工作,这个方式的循环工作时间是 100%。
        方式 2─唤醒控制器,更新时间。这时,主系统时钟是从4 MHz的INTRC振荡器得到的。在这个方式时,吸收的电流大约是300 μA(在室温下,电压为2.1 V)。 假定这个工作方式是每隔2 s出现一次(Timer1中断),唤醒控制器和更新时间可以用100条指令做到,那么这个方式的循环工作时间是:
循环工作时间 = (100×1μs)/(2 s) = 0.005%
平均工作电流 = 0.005% ×300μA = 0.015μA
        方式 3─控制器醒了并且控制螺线管中的电流。假定灌溉控制器每天进行供水/停水两次,天天如此,那么电路在一天之内必须对储能电容器C6充电四次──每次供水/停水时充电两次。假定C6是以恒定的50 mA电流充电,大约500 ms后C6上的电压达到5.5 V(4700μF×5.5 V/50 mA)。DC-DC转换器的耗电及D2中的损失将把时间降为1 s。于是,如果每天充电四次,那么循环工作时间及平均电流分别是:
循环工作时间 = (4 ×1 s)/(1天) = 0.00444%
        平均电流 = 0.00444% ×50 mA = 2.22 μA礎
        请注意,C6并不是以恒定电流充电的。充电泵集成电路对C6的充电的运作过程的实际分析是很复杂的。这是因为C6是动态负载,而充电泵集成电路在充电过程中的效率是变化着的。所以,在用恒定电流充电的假定下,我们可把它作为一个起点,在效率方面,用有点保守的方法,得到近似的、但是够准确的结果。
关于功耗的结论
        在计算灌溉控制器的耗电时,我们考虑到,方式1和方式2是使用开关式稳压器供电。即使 TC54吸收静态电流,初步实验表明,这个稳压器的效率为70%至80%。
        这里使用的电池是Tadiran TL2150,这是一只1安时、1/2 AA电池。在各种不同温度的情况下、在输出的电流较低时,电池的可用容量大约是0.6 安时。那么,可以预计电池的寿命是0.6 安时/4.542μA = 132,100 小时 = 15.07 年。
        出现短路时,这个电阻便进行限流。


发表于 2012-7-14 15:31:16 | 显示全部楼层
关注中
发表于 2013-12-8 15:11:33 | 显示全部楼层
看看,学习一下
发表于 2013-12-8 21:00:54 | 显示全部楼层
使用睡眠模式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-16 20:28 , Processed in 0.021424 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表