无线传感器网络的节能
自动配置的无线传感器网络在民用和军用方面具有极高的价值,可以在大范围内用于收集、处理和发布复杂的环境数据。无线传感器网络中的节点一般采用电池供电,可以使用的电量非常有限,而且对于有成千上万节点的无线传感器网络来说,对电池的更换是非常困难的甚至是不可能的。但是无线传感器网络的生存时间却要求长达数月甚至数年,因此,如何在不影响功能的前提下,尽可能节约无线传感器网络的电池能量成为无线传感器网络软硬件设计中的核心问题,也是当前国内外研究机构关注的焦点。
1 节点组成及能耗分析
规范的无线传感器节点结构如图1所示。节点由四部分组成:(1)由微处理器或微控制器构成的计算子系统;(2)用于无线通信的短距离无线收发电路,即通信子系统;(3)将节点与物理世界联系起来,由一组传感器和激励装置构成的传感子系统;(4)能量供应子系统,包括电池和AC-DC转换器。
图1 无线传感器节点结构
1) 计算子系统
微处理器(MicroController Unit, MCU)负责控制传感器、执行通信协议和处理传感数据的算法。MCU的选择会对节点的电池消耗带来很大的影响,比如,Intel的StrongARM常用于高端领域,在执行指令时功耗达到400mW,而ATmega103L AVR的功耗就只有16.5 mW,不过提供的性能也要弱的多。出于电源管理的目的,MCU通常有活跃、空闲和睡眠等多种操作模式,每种模式有不同的电源消耗。比如,StrongARM在空闲模式功耗为50 mW,而在睡眠模式时只有0.16 mW。在不同操作模式之间切换也有电源和延迟开销,因此,不同的操作模式、模式之间的切换和MCU在每种模式的时长对整个节点的能量消耗有很大的影响。
2) 通信子系统
影响无线收发电路功耗的因素很多,包括节点采用的调制模式、数据率、发射功率和操作周期等。通常,无线收发电路可以工作在四种状态,即发送、接收、空闲和睡眠状态。空闲状态也具有很高的功耗,几乎与接收模式不相上下,所以在无线收发电路处于空闲状态时,应该尽可能将其关闭(即置于睡眠状态)。
3) 传感子系统
包括一组传感和激励装置,将周围环境的物理现象转换成电信号,根据输出可以分为模拟和数字两类。在无线传感器中,能量消耗来自多个部分,包括(1)信号采样以及物理信号到电信号的转换 (2)信号调制(3)信号的模-数转换。
4) 无线传感器网络节点能耗分析
现在分析无线传感器节点的能耗。表1是Rockwell的WINS项目中无线传感器节点的能耗数据,表2是MEDUSA-II项目中节点的能耗数据,从中可以看出:
采用低功耗模块、在性能与耗电量之间进行折中对系统整体功耗影响巨大。
节点的能耗在很大程度上取决于各个组成部分的工作状态。
由于传输距离很短,接收时的能耗可能比发送时还大。
无线收发电路在空闲状态和接收状态时的耗电量相差无几。 表1 WINS项目中无线传感器节点的能耗数据 MCU模式 | 传感器模式 | 无线收发电路状态 | 功耗(mW) | 活跃 | 开启 | 发送(功耗:36.3mW) | 1080.5 | 发送(功耗:19.1mW) | 986.0 | 发送(功耗:13.8mW) | 942.6 | 发送(功耗:3.47mW) | 815.5 | 发送(功耗:2.51mW) | 807.5 | 发送(功耗:0.96mW) | 787.5 | 发送(功耗:0.30mW) | 773.9 | 发送(功耗:0.12mW) | 771.1 | 活跃 | 开启 | 接收 | 751.6 | 活跃 | 开启 | 空闲 | 727.5 | 活跃 | 开启 | 睡眠 | 416.3 | 活跃 | 开启 | 移除 | 383.3 | 睡眠 | 开启 | 移除 | 64.0 | 活跃 | 移除 | 移除 | 360.0 |
表2 MEDUSA-II项目中无线传感器节点的能耗数据 MCU模式 | 传感器模式 | 无线收发电路状态 | 调制模式 | 数据率 | 功耗(mW) | 活跃 | 开启 | 发送(功耗:0.7368mW) | OOK | 2.4kbps | 24.58 | 发送(功耗:0.0979mW) | OOK | 2.4kbps | 19.24 | 发送(功耗:0.7368mW) | OOK | 19.2kbps | 25.37 | 发送(功耗:0.0979mW) | OOK | 19.2kbps | 20.05 | 发送(功耗:0.7368mW) | ASK | 2.4kbps | 26.55 | 发送(功耗:0.0979mW) | ASK | 2.4kbps | 21.26 | 发送(功耗:0.7368mW) | ASK | 19.2kbps | 27.46 | 发送(功耗:0.0979mW) | ASK | 19.2kbps | 22.06 | 活跃 | 开启 | 接收 | - | - | 22.20 | 活跃 | 开启 | 空闲 | - | - | 22.06 | 活跃 | 开启 | 关闭 | - | - | 9.72 | 空闲 | 开启 | 关闭 | - | - | 5.92 | 睡眠 | 关闭 | 关闭 | - | - | 0.02 |
2 单个节点的节能优化
在分析了无线传感器节点的组成和能耗特点之后,让我们看看在单个节点上可以采取哪些措施来节约能耗。
1) 节能计算
除了在节点设计中采用低功耗硬件之外,通过动态电源管理(Dynamic Power Management, DPM)等技术使系统各个部分都运行在节能模式下也可以节约大量的能量。最常用的电源管理策略是关闭空闲模块,在这种状态下,无线传感器节点或其一部分将被关闭或者处于低功耗状态,直到有感兴趣的事件发生。DPM技术的核心问题是状态调度策略,因为不同的状态有不同的功耗特征,而且状态切换也有能量和时间开销。
在活跃状态下,则可以采取动态电压调整(Dynamic Voltage Scaling, DVS)技术来节约能量。在大多数无线传感器节点上,计算负载是随时间变化的,因此并不需要微处理器所有时刻都保持峰值性能。DVS技术就是利用了这一点,动态改变微处理器的工作电压和频率使其刚好满足当时的运行需求,从而在性能和能耗之间取得平衡。
2) 节能软件
如果操作系统、应用层和网络协议等系统软件针对能耗进行了专门的优化,那么无线传感器网络的生存时间也能得到有效的延长。
在操作系统中进行动态电源管理和动态电压调整是最合适的,因为操作系统可以获取所有应用程序的性能需求并能直接控制底层硬件资源,从而在性能和能耗控制之间进行必要的折衷。操作系统的核心是任务调度器,负责调度给定的任务集合使其满足各自的时间和性能需求,通过在任务调度中考虑节能问题可,系统生存时间可得到明显的延长。
鉴于传输中不可避免的数据丢失,无线传感器网络应能根据当时的网络环境提供不同精度的数据,从而获得一定的弹性。另一方面,监测对象的属性是随时间变化的,从而导致网络中的计算和通信需求也随之改变。这样,我们就可以在实时调度算法中进行某种程度的预测,对能耗进行主动式的管理。另外,应用层可以设计成将主要的计算任务及早执行,然后在算法正常结束前提前中止,这样就能在对数据精度影响不大的情况下节约能耗。
3) 无线收发电路能耗管理
虽然嵌入式处理器的电源管理已经得到深入研究,但无线收发系统的节能设计却研究得不够。由于无线通信占了整个无线传感器网络能耗主要部分,因此对无线收发系统的能耗管理非常重要。
无线收发系统电源消耗主要来自两部分,取决于传输距离和调制参数的射频部分以及进行频率合成、滤波等操作的基带电路部分。无线收发系统节能设计很复杂,因为射频部分和基带电路部分的电源开销是相当的,降低射频部分的速率反而会导致能耗的增加。另外要考虑的问题是,无线收发系统的初始化开销很大,这一切都加大了无线收发系统节能设计的难度。关于无线通信方面的能耗优化将在下一节详细讨论。
4) 节能报文转发
除了发送自身感知的数据之外,每个无线传感器节点又都是路由器,需要为其它节点转发报文。在典型的无线传感器网络环境下,无线传感器节点接收的大部分报文(大概有65%)需要转发给其它节点。通常情况下,无线传感器节点将绝大部分协议处理功能交由MCU执行。这样,不管其最终目的地是哪里,每个接收到的报文都会经过相同的处理步骤到达计算子系统并得到处理,导致不必要的能耗开销。利用智能无线收发系统,需要转发的报文可以直接在通信子系统标识和转发,甚至在计算子系统处于睡眠状态时也能正常工作。
3 无线通信的节能优化
与单个节点能耗管理类似,在节点间通信过程中考虑节能措施同样对提高整个系统的电源使用效率有重要作用,而且,使通信过程对能耗敏感可以将节能优化的范围从单个节点扩展到参与通信的多个节点。
1) 调制模式
在无线传感器节点间的无线链路上使用的射频技术对无线通信的能量消耗也有重要影响。调制模式的选择决定了无线链路在总体能耗与灵敏度、延迟等方面的平衡。
调制级别直接影响功率放大器的能耗,与DVS类似,根据实际需求动态改变调制级别是节约能耗的有效手段。由于无线收发电路的启动开销较大,因而每次发送报文的长度越大越好,这样可以将启动开销平摊到更多的数据上,但将数据积累到一定长度再发送对信息交换的延迟有影响,需要在两者之间进行平衡。
2) 链路层优化
负责错误检测和纠正的链路层影响报文的发送次数,从而影响系统功耗,特别是对于与网关节点等远距离通信而言。对给定的误码率(Bit Error Rate, BER),错误控制机制可以减少发送报文消耗的能量,但相应的增加了发送者和接收者的处理能耗。总的来说,链路层技术在降低能耗中所起的作用是间接的,好的错误控制模式可以降低报文重传次数,从而节约收发两端的能耗。
|