关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 无线传感器网络高效的MAC协议研究

无线传感器网络高效的MAC协议研究

作者: 时间:2011-04-14 来源:网络 收藏

一般来说,每个节点都有一个常规的休眠周期,即没有数据收发情况下的休眠周期。自适应前导技术,在常规的休眠周期中引入一些临时性的休眠调度,但临时调度行为不会干扰节点固有的休眠调度周期。图5为某个节点的实际休眠调度周期图,其中每个slot为一个正常的休眠周期。节点在slot1收发完数据后休眠;在slot2醒来,发现队列长度大于QImax,查看邻居休眠表后再转入休眠;若干时间后醒来发送前导,与接收端完成数据传输后,再次进入休眠。在slot3醒来后,为等待接收端的hello消息而长时间监听信道,直至slot4完成传输后休眠;在slot5仍按时醒来。

本文引用地址://m.amcfsurvey.com/article/162172.htm

e.JPG


由于晶振频率的不一致,各节点会有计时上的误差,即时钟偏移,需要进行同步。节点在所发送的每个hello消息中都包含最近一次按常规调度醒来的时间,并在hello包上打上发送时间戳。收到hello消息的节点将包中的发送时间戳加上hello消息的发送延迟(消息长度/发送速度),得到邻居节点的当前时钟值(忽略信号传播时间)。节点将自己的当前时钟值减去邻居节点的当前时钟值,得到相对于该邻居节点的时钟偏移量。为减小估计误差,可对最近n次的时钟偏移量取算术平均值,作为当前时刻相对于该邻居节点的时钟偏移。
各节点通过与邻居节点交换hello消息,获得与邻居节点的时钟偏差,并以此修正邻居休眠调度表。由于每个节点的调度周期相同,所以邻居休眠调度表中只记录每个邻居最近一次常规调度醒来的时间。
2.3 竞争信道
在RI-中,接收端接收完一帧后发送的beacon消息有两个作用,一是告知数据接收完毕,二是询问是否还有节点要向它发送。因此,正在通信的接收端具有优先使用信道的权利,这在某些情况下会导致接收节点长时间占用信道。例如在一个树型中,所有节点都要向树根传输数据,越靠近树根的节点转发压力越大。假如有两个靠近树根的节点是邻居,就可能出现一个节点长时间占用信道,而另一个节点长时间无法接收数据的情况。
取消beacon消息的第二个作用可以较好地避免这个问题,即当一个节点接收完数据后放弃信道,然后所有节点重新竞争信道,这会使中的数据传输更均衡。
2.4 消息格式
Hello包在IEEE 802.1 5.4的beacon帧基础上设计,如图6所示。其中,帧长度、FCF(Frame Control Field)和FCS(Frame Check Seq-uence)为原有的域。Hello消息增加了用于标记帧功能的H域、接收节点和发送节点ID,记录最近一次常规调度醒来时间的sys域和hello包发送时间戳time-stamp。

g.JPG


节点发送的hello消息(查询是否有发送给自己的数据)中Dst及BW域为空,发生冲突后填入KBW值,确认传输成功的hello帧中填入Dst域,防止其它节点向其传输数据。H域的第一位(0/1)标识该帧是接收节点发送的探询Hello消息还是响应发送端前导的hello消息,第二位(0/1)标识该帧中BW域是否有效,第三位(0/1)标识该帧中Dst域是否有效,其余位置0。



评论


相关推荐

技术专区

关闭