无线传感器网络mac层监听休眠方法

文档序号:7953229阅读:315来源:国知局
专利名称:无线传感器网络mac层监听休眠方法
技术领域
本发明涉及在无线传感器网络中的能量高效MAC层监听休眠方法,尤其是一种前导码成帧的监听休眠方法。
背景技术
在无线传感器网络中,考虑到整个网络的成本,工作环境等因素,节点的能量往往通过电池方式供给。一方面电池的能量非常有限,同时在很多应用环境中,例如野外环境检测等,电池的能量很难得到补充。因此,如何合理高效地使用电池能量是无线传感器网络应用中非常重要的问题,它牵涉到整个网络的生存期和有效工作时间。在无线传感器网络中,数据通信消耗的能量占所有能量消耗的绝大部分,而MAC层是无线传感器网络节点中直接进行数据通信处理的部分。因此,如何提高MAC层的能量利用效率是无线传感器网络实际应用中的关键问题。
目前已有的高效利用能量的无线传感器网络MAC层方法主要是通过监听休眠的方式。监听休眠的含义是,当节点没有数据需要发送时,节点立即监听信道,如果监听到前导码,则可能有数据需要接收,这时节点转入接收状态;如果没有监听到前导码,表明一段时间内不会有数据需要接收,则节点转入休眠状态,从而节省能量。
这种MAC层监听休眠机制能够让节点在没有数据收发任务时及时转入休眠状态从而节省能量,但是对能量的利用仍然不够高效。主要原因是当节点进入唤醒状态并监听到前导码时,该节点就会进入接收状态准备接收该数据分组。但是这个数据分组很有可能不是发送给该节点的。这种情况下,只有该数据分组的目的节点才应该转入接收状态,而临近的其他节点应该转入休眠状态以进一步节省能量。由于在无线传感器网络中,节点的通信都是广播方式,即一个节点发送数据分组,其邻居节点都能够接收到该分组。因此如果采用原来的MAC层监听休眠机制,一个节点发送的数据分组的前导码将唤醒周围所有的邻居节点,而其中只有一个节点是真正需要接收这个分组的,其他节点唤醒后的能量开销都是浪费。

发明内容
针对上述问题,本发明的目的是提供一种更节约能量的无线传感器网络MAC层监听休眠方法,通过将没有数据发送和接收任务的节点转入休眠状态以减少节点的能量开销,延长无线传感器网络的工作时间。该方法的关键在于在前导码中引入了前导码帧作为识别标记,每个帧包含了该数据分组的目的节点标识符或者节点地址。这样,接收节点在收到一个前导码帧后就可以判断出该分组是否发送给自己,如果不是就及时转入休眠状态以节省能量,从而使节点仅接收很少一部分前导码就可以判断是否需要转入接收状态或继续休眠。
为实现上述目的,无线传感器网络MAC层监听休眠方法包括以下内容1.节点休眠的判断如果节点没有数据需要发送并且没有接收到前导码,则进入体眠状态;如果监听到前导码,则进一步对接受到的前导码信息进行解析。前导码中包含有若干前导码帧,前导码帧中包含有数据分组的目的节点表示符号或节点地址。当节点判断出接收到的信息中的目的节点是自己时,则转入接收状态,准备接收数据分组中剩余的信息;如果发现目的节点不是自己,则节点转入休眠状态。
2.前导码编码对前导码进行编码,使前导码包括若干个前导码帧,这是本发明的关键。一个前导码帧至少包括同步字节(SYSC)、目的节点标识符或者节点地址(Node ID)、若干位前导码标志字节(16进制值位0xaa)。一个可能的前导码帧的格式如下

其中16进制的编码0xaa为前导码标志字节,SYNC=0xcc为同步码字节,NodeID为该数据分组目的节点的标识符或者节点地址,其长度为2个字节。一般认为前导码标志字节的长度至少应为2个字节。本领域的技术人员都知道,太短的前导码标志字节影响抗干扰性,而太长的前导码字节浪费能量。因此,前导码标志字节的长度较佳地为2至8个字节。为了保证精确,前导码中还可以包括校验码等其他辅助字节。
3.节点唤醒的判断每个节点上都有一个周期性的休眠时钟。当节点处于休眠状态时,只有当本节点有数据需要发送或者休眠时钟到时时,节点才会从休眠状态转到唤醒状态。
4.节点唤醒时的操作当节点进入唤醒状态后,立刻监听信道上是否有前导码发送。如果有前导码,则监听一个完整的前导码帧,并判断其中的NodeID是否为自己。若为自己则进入接收状态,否则立即转入休眠状态。
5.数据分组发送节点有数据需要发送时,首先发送和当前休眠周期对应的特定长度的前导码,然后发送同步码、数据字段、最后是CRC校验码(如果有的话)。
本发明的技术效果在于节省MAC层数据接收过程中的能量开销,从而延长无线传感器网络的工作时间。原先的MAC层监听休眠机制中,如果节点的平均度数为10,则一个数据分组的发送需要10个节点唤醒进行接收,而利用本发明中的MC层监听休眠机制,只有一个节点,也就是该数据分组的目的节点才需要保持唤醒,准备接收该分组,其他节点在收到一个8个字节的前导码帧后就可以转入休眠状态。由于节点在休眠状态和唤醒状态下能量开销相差很多,因此采用发明中的MAC层监听休眠机制可以将一次数据发送过程中的节点接收能量开销降低很多。


图1是本发明实施例中采用的前导码格式和前导码帧的格式;图2是前导码成帧的无线传感器网络MAC层监听休眠机制的工作流程图。
具体实施例方式
下面结合附图并结合最佳实施例对本发明进行详细的描述。
由于采用了休眠机制,节点在自己没有数据需要发送的时候,只有通过休眠时钟到时才会唤醒。因此,如果另外的节点需要发送数据给这个节点,它需要发送一长串前导码,让该节点唤醒时能够监听到,从而转入接收状态。所以前导码的长度和节点的休眠周期是一一对应的。在本实施例中,将无线传感器网络MAC层监听休眠方法应用于MICA2平台,并提供了7种休眠周期和对应的前导码长度,如表1所示。根据无线传感器网络的复杂程度和实际使用情况,可以选择不同的休眠级别。

表1——Mica2平台下的休眠周期以及对应的前导码长度前导码包括若干格式相同的前导码帧。如图1所示,是本实施例中前导码帧的格式,在这个例子中,每个帧包括了5个字节的前导码标志字节(16进制的0xaa),一个字节的同步码(SYNC,16字节的0xcc),以及2个字节的节点标识符或者节点地址(NodeID)。本领域的技术人员都能理解,前导码帧的字节数目是可变的,只要能够满足完整接收的目的,多于或少于5个字节的前导码帧都能够实现本发明的目的。
如图2所示,是本实施例中能量高效的无线传感器网络MAC层监听休眠方法的具体流程图。每个节点都有一个周期性的休眠时钟,在本实施例中设为135ms。当时钟到时时,即每隔135ms节点侦听信道,看是否有前导码标志字节。如果接收到前导码标志字节,节点需要开始接收一个前导码帧长度的字节数。在本实施例中,即图1所示的8个字节的前导码帧。例如,在一个前导码帧接收完成后,节点判断该帧的目的节点是否为自己。如果该帧是发送给自己的,则转入接收状态,准备接收分组的剩余部分。接收完毕后,节点重置休眠时钟,转入休眠状态。如果该帧的目的节点不是自己,则重置休眠定时器,并转入休眠状态。如果节点一直没有接收到前导标志字节,则在接收到超过前导码帧长度的字节数后停止接收,重置休眠时钟,并转入休眠状态,直到休眠时钟的下一周期到时或者本节点有数据需要发送时才会被唤醒。在节点有数据需要发送时,首先发送和当前休眠周期对应的特定长度的前导码,然后发送同步码,数据字段,最后是CRC校验码。
权利要求
1.一种无线传感器网络MAC层监听休眠方法,包括以下步骤1)每隔一个休眠周期,节点被休眠时钟唤醒,侦听信道;2)判断是否侦听到前导码,如果有则继续接收一个完整的前导码帧,所述的前导码帧中包含有该数据分组的目的节点信息;3)判断接收的前导码帧中的目的节点是否为本节点,如果是则转入接收状态,否则转入步骤5);4)如果没有侦听到前导码,则继续接收下一个字节,直到接收到的字节数大于一个前导码帧的长度为止,然后转入步骤5);5)重置休眠时钟,转入休眠状态。
2.根据权利要求1所述的方法,其特征在于,所述的目的节点信息为节点标识符或者节点地址。
3.根据权利要求1所述的方法,其特征在于,所述的前导码帧至少包括5个字节的信息,其中两个字节为目的节点信息字段、一个同步字节、其他的为前导码标志字节。
4.根据权利要求3所述的方法,其特征在于,所述的前导码标志字节的长度为2至8个字节。
5.根据权利要求3所述的方法,其特征在于,所述的前导码帧还包括CRC校验码。
全文摘要
一种无线传感器网络MAC层监听休眠方法,包括步骤1)每隔一个休眠周期,节点被休眠时钟唤醒,侦听信道;2)判断是否侦听到前导码,如果有则继续接收一个完整的前导码帧,所述的前导码帧中包含有该数据分组的目的节点信息;3)判断接收的前导码帧中的目的节点是否为本节点,如果是则转入接收状态,否则转入步骤5);4)如果没有侦听到前导码,则继续接收下一个字节,直到接收到的字节数大于一个前导码帧的长度为止,然后转入下一步骤;5)重置休眠时钟,转入休眠状态。该方法在前导码编码中引入了前导码帧,用于判断所发送的数据分组的目的节点的地址,从而使节点仅接收很少一部分前导码就可以判断是否需要转入接收状态或继续休眠。
文档编号H04L12/56GK101087220SQ20061001218
公开日2007年12月12日 申请日期2006年6月9日 优先权日2006年6月9日
发明者孙利民, 颜庭莘, 毕艳忠, 孙玉砚 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1