工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->基础电路图->电子入门电路图->基于节能MAC协议在无线传感器网络中的设计

基于节能MAC协议在无线传感器网络中的设计

作者:dolphin时间:2017-07-28

本文分析了当前主流的低功耗MAC协议Schedules及其扩展协议,并对这类协议的优缺点进行对比分析。在此研究分析的基础上,研究了造成节点能量浪费的主要原因,并提供了一种新的更节能的MAC协议的研究方向。 最后,在NS2网络仿真环境平台中进行仿真实验,结果达到预期目标。本文的研究对无线传感器网络的能量高效性做了有益的探索,能够在一定程度上解决制约其投入应用的能耗瓶颈。
无线传感器网络是由大量传感器节点构成的一种特殊 Ad Hoc 网络,主要用于数据的 采集和传输,有着广泛的应用前景。由于传感器节点一般由电池供电,且节点的体积微小, 而电池能够携带的能量非量有限,因此,节省能耗是无线传感器网络中的一个研究热点。 人们提出了许多有效的 MAC 层协议[1],其中以S—MAC 最具有代表性。它一方面继承 了IEEE802.11 MAC[2] 协议中的基本机制,另—方面采用周期性睡眠工作方式,有效降低了 能耗,因此成为传感器网络中广受关注的MAC 协议之一。本文将详细分析以S—MAC 为代表的 Schedule 类协议原理和性能,并在此基础上探讨更节能的MAC 协议的研究和设计。 Schedule 类协议
1.1 S—MAC 协议
S—MAC(Schedules MAC)协议是基于时间调度协议的代表,它融合了几乎所有的无线 网络的节能技术。S—MAC 协议的主要目的就是节能,它的最主要的思想是通过周期性的 休眠来使得射频低占空比运行。另外它还融入了其它的节能技术,如冲突避免和串音避免, 还有消息传递以及自适应侦听机制。
周期性*和睡眠
周期性*和睡眠是 S—MAC 协议的最精华部分。在许多传感器网络应用中,大多都 是小数据量应用,即周期内只有少量数据,而其它很长的时间内都没有数据。因此,S—MAC 协议通过让节点进入周期性睡眠模式来减少*时间。例如,如果每秒钟让节点休眠半秒, 而另半秒进入空闲*,那么该节点的radio 工作的占空因数(dutycyde)就减少到50%,即能 够节省近50%的能量。
周期性*和睡眠的基本机制是侦察→睡眠→侦察→睡眠,每个节点在一段时间内睡眠,然后在醒过来后立即进入空闲*状态来*信道;在睡眠时,节点关闭它的射频,并 使用一个定时器来定时唤醒。*和睡眠的持续时间可以根据不同应用场景来选择。一般为 了同步方便,所有节点可以设置相同的睡眠和唤醒时间。每个节点通过向邻居广播自己的调 度信息来实现邻居节点间的调度信息的共享,同时每个节点都要为邻居维护一张调度表,里 面记录了各个邻居节点的调度信息。
消息传递
S—MAC 的方法是把长信息分割为许多小的片断,然后传输它们。但是只在一开始使 用一个RTS 分组和—个CTS 分组。每次传输一个数据片断分组,发送者等待接收者送来的 ACK。每个数据片段和其ACK 都附带有—个剩余时间域,其意义是告知邻居节点还需占用 信道多长时间,即相当于预约了信道整个消息发送所需要的时间。因此如果没能够接收到 ACK,节点可以扩展传输时间,并迅速重传现有的片断,如图1 所示。

正常工作图显示了在发送 RTS 包的时候,剩余时间域就已经为整个消息的发送预留了 占用信道的时间,而后的数据包和ACK 包中的时间随着包的发送依次递减。而重发工作图 中显示,当发送方的一个片段包未收到ACK 时,它立刻重发且扩展了剩余时间。由于每个 分组和ACK 都有剩余时间域,因此即使有节点提前醒来(由于重发耽误了时间),也可以得 到新的剩余时间,而再次进入睡眠,等待发送结束。在每个数据片断后使用ACK 的目的是 预防隐藏终端问题。在传输过程中,一个邻居节点醒来或新节点加入都是可能的。如果节点 只是接收者的邻居而不是发送者的,它就不会听到发送者正在传输的数据片断。如果接收者 并没有频繁的发送ACK,新节点也许会错误的从它的载波侦听中推断媒介是空闲的,并开 始发送数据,从而导致现有的传输将会在接收者处被损坏。
1.2 S—MAC 协议的缺点分析
可以说 S—MAC 协议考虑的十分全面,但还是有其自身的缺点,首先,周期性睡眠监 听中的同步带来了一定的控制包开销(同步包),并且同步的维护将消耗掉节点并不充裕的空 间资源。另外,睡眠工作周期受到各个方面的限制,并不能达到超低功耗的要求(周期长度 受限于延迟要求和缓存大小,而周期长度直接反映节能效率),其次,在大规模的的传感网 中,周期性睡眠*将会带来难以忍受的延迟问题(流量自适应侦听并不能有效解决),最后, 边界节点的消耗能量要比普通节点大的多,导致节点间的能量消耗并不平衡。
1.3 TMAC 协议
针对 S—MAC 协议不能根据网络负载自适应地调整占空比的问题,TMAC 协议在保持侦听和睡眠时间总和不变的基础上,该协议设定了一个最小的空闲侦听时间TA,在从睡眠 状态唤醒之后,若在该TA 时间段中没有发生激活事件,则又重新进入睡眠周期,否则继续 增加一个TA 保持侦听状态。通过这种方式,节点可以提前结束侦听时间进入睡眠从而减少 能耗,但同时也带来了早睡问题,虽然为解决这些问题提出了未来请求发送和满缓冲区优先 方法,但结果并不理想。
1.4 Sehedules 类协议的总结
从上面的两个协议的分析可以看出 Schedules 类协议可以达到较好的功耗控制,且比 较容易融合各种功耗控制的相关技术,但相应的设计和实现却更加的复杂,如网络启动时如 何实现同步,怎样维护同步以及新节点的加入等,并会引入一些其它的额外开销,如同步包 的控制开销,维护调度表的资源开销等,最后,还会带来累积延迟问题。
二 更节能的新MAC 协议的研究和设计
2.1 节点能量浪费的主要原因
通过大量的实验和理论分析论证,归纳出可能造成网络中节点能量浪费的几方面原因:
(l)竞争信道消耗。节点要发送或接收数据,使用共享的无线信道,可能引起多个节点 之间发送的数据发生碰撞,而—旦发生碰撞现象,为了保证数据的完整性,节点必须重传数 据,这也就造成了节点的能量浪费。
(2)串音现象。节点接收处理冗余数据(大量相同或近似数据)导致能量的浪费。
(3)过度的空闲侦听。节点除了发送数据外,其他时间段都处于空闲状态,以便侦听信 道随时准备接收可能传输给自己的数据。而根据文献[4]处于空闲状态的节点也要消耗大量 的能量。



评论

技术专区