水表集抄系统的低功耗设计
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 系统软件的低功耗设计
一个低耗系统,仅仅依靠硬件设计技术还不够,必须有相应软件措施配合才能达到最佳效果。对于水表集抄系统,需要考虑以下几个方面:充分利用MCU各个工作模式的特点,进行合理切换;对各外围模块的供电进行管理;因为系统动态功耗正比于CPU的工作时间,所以在软件设计时设法缩短CPU的运行时间。相应的措施是:
(1)由于系统对脉冲信号的采样是定时进行的,并且确定一个脉冲、脉冲个数计量、用水量折算等都需要在多次采样的基础上完成,每次执行之间间隔时间很长,又因为这些操作任务可由高速运行的微控制器瞬间完成,从而形成了MCU在有效运行后,长期处于无谓等待状态。针对水表采集系统的这些特点,可在采样完成后转入Watch模式,由TimerA或按键定时唤醒,从而极大降低系统无谓等待时的功耗,做到系统在有效运行及电路动态运行时才消耗功耗,成为一个零功耗系统。
(2)应注意对电源的监视和控制,根据电源状况迅速切换工作模式。同时根据功能需要,接通相应模块的电源。
(3)充分利用片内的定时器实现按键、显示程序所需的延时,避免使用软件指令循环延时。
(4)需要CPU踏步等待一段时间或循环检查条件满足后才去干正事的程序尽可能纳入到各种中断的断服务程序。例如编写串行通信程序采取串行中断方式;在定时采样用的定时中断服务子程序中实现脉冲记录、判断通信超时、确定已经显示时间,通过相应标志位的设定,在主程序中进行处理。
(5)采用自动“掉电”方式。利用实时时钟,显示一定时间后若无按键操作,自动转入Watch模式。
采取了上述措施的主程序流程如图3所示。
5 低功耗设计效果测试
低功耗究其本质就是降低电路的静态功耗和动态功耗,在软、硬件等各个方面予以细致地考虑。为证明低功耗设计的效果,对采集终端的功耗进行了测试。结果表明:在工作电压为5V,主振作为时钟源,以Active模式高速运行的状态下,系统总电流为20~30mA;在工作电压为3.3V,副振作为时间源,以Subactive模式低速运行的状态下,系统总工作电流为30~40μA。后者的功耗降低至0.09%。使用一节6安时电池,就可使系统连续工作近十年。经过长期的测试研究和实地运行,证明这是一个行之有效的低功耗系统,而且已作为产品投入实际使用,取得了良好的效果。