作者:张科帆 王曦锋 张淑华 黎英
1 基于IA4421的控制器模块低功耗设计
1.1 便携式模块节点硬件低功耗设计
(1)处理器选择
ATmega324p为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案:
①TQFP(薄塑封四角扁平封装),体积小,集成度高;
②6个可通过软件进行选择的省电模式;
③最高达到20MIPs的吞吐率(在20 MHz下)。
(2)接口电路低功耗设计
接口电路的低功耗设计,往往是容易被忽略的一个环节。在这个环节里,首先要选择低功耗的外围芯片,然后根本的方法是使接口电路的常态处于低功耗状态。另外,还要考虑以下两个因素:
①上拉电阻/下拉电阻的选取。在能够正常驱动后级的情况下,尽可能选取更大的阻值。另外,当信号在多数情况下为低时,也可以考虑用下拉电阻,以降低功耗。
②对悬空脚的处理。CMOS悬空的输入端的输入阻抗极高,很可能感应一些电荷导致器件被高压击穿,而且还会使输入端信号电平随机变化,导致CPU在休眠时不断地被唤醒,从而无法进入休眠状态,或导致其他莫名其妙的故障。所以正确的方法是,将未使用到的输入端连接到电源VCC或地。
(3)通信芯片选型
IA4421是Integration Associates公司推出的射频收发一体芯片,工作在433/868/915 MHz频段。芯片的工作电压为2.2~5.4 V,采用低功耗模式,待机电流为0.3μA,采用FSK调制模式,发射功率为5~8 dBm,接收灵敏度为-109dBm。
IA4421具有高数据传输速率,数字信号的传输速率可达115.2 kbps,模拟信号的传输速率可达256 kbps。
1.2 便携式控制器低功耗软件设计
(1)各种功耗模式转换
便携式控制器在硬件上由ATmega324p、IA4421和三星公司的LCD以及外围电路组成。把便携式控制器作为一个整体,定义了4种不同的工作模式,如表1所列。不同的工作模式,由便携式控制器上相关功能芯片的工作模式组合而定。
①ATmega 324p选择Power-save模式的理由:在Pow-er-save睡眠模式下,除了Power-down模式下的所有功能外,Timer/Counter2可以正常工作,所以在Power_save睡眠模式下,系统的实时时钟系统可以正常运行,这也给系统功耗测试中的定时无线收发提供了条件。
②基于功耗模式转换的无线收发工作过程:当便携式控制器没有接收和发送任务时,进入睡眠模式,即LCD关闭,ATmega324p处于Power-save模式,IA4421处于SLEEP模式。在实际应用中,便携式控制器处于睡眠模式的时间应该最长。
如果用户有传输数据的要求,便携式控制器可以通过按键、异步定时器2(实时时钟)以及接收到主机的信号后产生的外部中断信号(INT2)唤醒控制器,进行发送和接收的相关操作。任务完成后,再次进入睡眠模式。
(2)低功耗键盘软件设计
ATmega 324p的PortA、PortB、PortC、PortD共有32个I/O口,每个I/O口都是一个外部中断源。当端口上检测到有电平跳变时,就可以产生一个外部中断(PCINT)。这个功能使得控制器的外部中断口数量不再受到限制。3×3键盘的6个接口分别接在普通的I/O口上就能实现中断按键。中断按键在本系统中有如下优点:
①中断按键程序不需要控制器一直处于扫描运行状态,比用Polling方式下的键盘扫描程序大大地降低了功耗。
②中断按键程序能够通过按键产生中断来唤醒控制器,在不影响系统功能的前提下,方便系统进行各种模式之间的转换。详细的键盘系统软件设计流程如图1所示。
2 低功耗实验与结果分析
2.1 ATmega324p小系统的功耗实验
ATmega324p小系统包括ATmega324p单片机、三星公司的S6B0741 LCD模块以及供电电源(5 V、2.5 A电源适配器),在最小系统的功耗实验系统中没有加入无线通信芯片部分。
(1)电流消耗理论值
ATmega324p工作在8 MHz频率以及LCD(S680741)工作在开启显示(背光关闭)、睡眠模式和关闭LCD(S680741)时的电流消耗理论值如表2所列。
(2)最小系统在不同工作模式下实际电流值的测定在系统中下载C程序,分别测量系统在不同的组合模式下的电流消耗。测试环境为实验室内,温度20℃左右;使用万用表和100 Ω电阻,ICCAVR开发环境,STK500下载器下载。
在便携式控制器的总电源接口上串联一个100 Ω的电阻,在不同的系统模式下分别测量电阻上的电压值,然后计算电流值。测试值与理论值的对比结果如表3所列。
(3)实验结果分析
①LCD模块中主要包括控制芯片和LCM(显示器)。理论值中,LCD(S6B0741)的电流理论值并不包括LCM(显示器)所消耗的电流。当 LCD开启,ATmega324p在Idle模式和正常工作模式时,理论值和实际测量值之间都大约相差3 mA。可以得出,3 mA的电流就是LCM(显示器)大约消耗的电流。
②实际测量的电流值比理论值要大,这样的能耗差异主要是消耗在便携式控制器模块中外围电路上。外围电路中各个电子元器件的理论消耗电流值很难查到,在计算的时候没有加入。
③虽然测量的方法很简单,测量的只是系统电流的静态值,但是这个测量的电流值可以大体上反映出系统在不同的工作状态下的功耗趋势,对系统的低功耗研究有一定的意义和应用价值。
④在各种工作模式下的实际测试结果对比中可以看出,最小系统的最小能耗和最大能耗之间相差大约10 mA。所以,在低功耗设计中,不同功能要求下不同工作模式的转换是非常有意义的。
⑤LCD模块的背光打开和背光关闭消耗的电流差值在6 mA左右,可见LCD的背光在系统中是耗能很大的器件。所以,从节约能耗的角度考虑,一般正常情况下不开启LCD背光。
2.2 便携式控制器低功耗测试实验
为了验证便携式控制器的耗电性能,在采取了上述软硬件低功耗措施后,对便携式模块的功耗性能做了下述实验。验证结果表明,所设计的模块在功耗方面基本满足了系统的应用要求。
(1)实验内容
①用ATmega324.p的定时器2进行定时收发,每隔2.5小时发送接收1次数据,1天发送9次数据。
②在没有发送接收任务的时段,ATmega324p处于低功耗的睡眠状态Power-save,关闭LCD模块,IA4421工作在睡眠模式。从上面的小系统功耗实验中看出,这样的工作状态下整个便携式模块的耗能最低。测试的软件流程如图2所示。
③IA4421的无线通信参数为:工作频段433 MHz,数据传输率9.6 kbps,相对发射功率0 dBm,接收灵敏度-109 dBm。这样的参数选择,在满足系统收发功能正常的情况下,尽量地使用低频段、低传输率,为了满足较远距离传输并尽量地降低发送接收的功耗。
④用3节7号的南孚碱性高能电池供电,测试开始时电池电压为4.86 V。
(2)实验结果与意义
测试系统是针对便携式控制器与主机之间的点对点通信设计的。实验结果如表4所列。
每2.5小时进行1次通信,这个通信频率对用户使用本系统的频率进行了较好的模拟。实验结果可以看出,电池的寿命大概在5个半月,并且是在每天通信10次的基础上测试得到的结果。这个电池寿命的指标基本达到了系统设计的要求,也证明了上述的软硬件措施是得当有效的。
3 结 论
本文详细分析了低功耗的软硬件设计方法,在不同工作任务下选取不同的工作模式对降低功耗具有重要的意义。在使用了得当的软硬件措施后,所设计的便携式控制器模块的电池寿命达到了半年左右,满足了无线传感器网络系统的应用需要。文中的低功耗设计方法和思想对实际产品的开发具有一定的参考价值。