基于TDMA/FDMA的WSN网络mac层调度方法

文档序号:7703661阅读:392来源:国知局
专利名称:基于TDMA/FDMA的WSN网络mac层调度方法
技术领域
本发明属于无线传感器网络(wireless sensor networks,WSN)领域,尤其涉及一种基于TDMA/FDMA复用的无线传感器网络mac (medium access control介质访问控制) 层调度方法。
背景技术
Mac处于无线传感器网络的底层,决定了节点的访问无线信道的方式,负责网络中无线信道的分配。网络的上层调度方法产生的数据要发送、物理层如何实现数据的接收,都要进过mac层的调度机制来实现。Mac层对网络的性能有着直接的影响,mac层的调度方式直接影响到网络的吞吐量、数据的实时性、网络的可拓展性、能耗等。针对具体的应用,设计一个好的mac层调度方法是决定网络性能的关键之一。目前存在的大部分mac层调度方法都是针对单信道的调度方法,这类调度方法只针对网络中的所有节点都工作在同一个信道的情况。网络中的所有节点在同一个信道上竞争同一个信道的使用权。根据信道的分配方式,单信道mac调度方法主要可分成基于竞争式的调度方法、基于调度式的调度方法和混合式调度方法。当网络中的数据量很大时,信道访问冲突将不可避免地加剧,单信道的通讯模式已成为提升网络吞吐量的瓶颈。然而,随着工艺的进步,早已出现了可实现多信道选择的无线芯片和模块 (CC2430,ember250等),节点可以在不同的频道上进行切换,收发数据。工作在不同信道上的节点彼此之间不干扰,利用这一点可实提升现网络的吞吐量,降低通讯冲突,提升网络的各项性能。目前已经出现了一些多信道mac调度方法,比如匪SN、MC-LMAC、Y-MAC、TMCP等。1、MMSN是一种竞争式的mac调度方法。节点要在相应的时槽内竞争以发送数据。 MMSN相比于单信道的调度方法提高了网络的吞吐量,但是调度方法的复杂度较高,MMSN提出的Toggle Snooping /Toggle Transmission接收和发送方式需要新到的额频繁切换,可行性不高,且需要高精度的同步。并且由于MMSN是竞争式调度方法,当网络的节点密度高, 可分配信道不足够时,或者网络中的数据量流增大时,网络的拥塞将加大,丢包率和时延将随之增大。2、MC-LMAC是一种TDMA/FDMA复用的调度方法,调度方法同样需要高精度的同步;由于采用了 TDMA机制,调度方法存在拓展性的问题。MC-LMAC在每个slot的开始都要广播控制帧,引入了非常大的控制消耗。调度方法还存在节点发送冲突的问题,两个节点可能同时想一个节点发送数据,类似于隐藏终端问题。3、TMCP与其它调度方法的不同之处在于,其不需要高精度同步,甚至同步,而这一点正是其它很多调度方法的瓶颈和困难所在。该调度方法把网络划分成若干子树后,节点在簇内就采用CSMA方法竞争信道。由于csma方法的特性,当网络的流量增大时,TMCP的性能将会下降,网络的拥塞将会加重,收包率下降,时延增大等。但是当数据量较小时,网络表现出色。
以上的调度方法虽然提出了多频道分配的各类方法,但都存在着一些缺点,Mac调度方法要么要求必须实现高精度的同步,要么要求复杂的信道和时隙分配方法和网络初始化过程,这些调度方法存在着方法的复杂度高、可拓展性差、能耗高等各类缺点。并且,传感器网络是针对应用的网络,一种mac调度方法很难适用于多个不同的应用场景,一般都是针对具体的应用场景提出相应的通讯调度方法。

发明内容
本发明针对现有MAC层调度方法的不足和无线传感器网络的工作特点,针对基于分簇结构的数据收集型WSN网络和WSN底层调度方法对空闲侦听、数据冲突、低能耗、网络可拓展性等性能的要求,提供了一种基于TDMA/FDMA的WSN网络mac层调度方法。为了实现上述的目的,本发明采取如下技术方案一种基于TDMA/FDMA的WSN网络 mac层调度方法,该技术方案包括以下步骤
(1)Sink节点周期性地发布全网同步帧,用于全网的时间同步;
(2)簇头接收同步帧,完成和Sink节点的同步,并转发同步帧,子节点接收簇头同步帧,完成与簇头的同步,既而完成全网同步;
(3)子节点根据簇头同步帧信息,判断自己所属时隙,簇内完成TDMA时分复用,簇间完成FDMA频分复用;
(4)子节点和簇头在各自的时隙和频段上完成数据的发送;
(5)新加入节点采用切换频道的侦听方式,侦听簇头广播帧,完成入网,簇头通过同步帧中的时隙分配向量,调整时隙分配。本发明的有益效果是
1、应用本发明的方法,簇内的TDMA时分复用机制消除了节点之间的数据发送冲突;不同簇采用不同的信道进行通讯,簇与簇之间不存在通讯干扰。2、时隙分配针对数据收集型网络,采用了针对发送者的时隙分配,降低了网络中的空闲侦听,节点在没有数据发送时,进入休眠状态,降低能耗。3、在通讯时间帧中引入了 csma入网时隙,允许新节点入网,提高了网络的可拓展性。4、本发明调度方法可动态调整时间帧中活跃周期的长度,可动态地提高网络的吞吐量。


图1为网络的拓扑结构图; 图2为本发明的通讯周期结构图3为本发明的通讯周期活跃期结构图; 图4为本发明的通讯周期活跃期的簇内通讯阶段示意图; 图5为本发明的通讯周期活跃期的簇头和Sink通讯阶段示意图; 图6为本发明上行数据传输示意图; 图7为本发明下行数据传输示意图。
具体实施例方式本发明基于分簇的网络结构,新的mac调度方法的应用背景主要为监测类型的无限传感器网络应用。网络负责数据的收集,网络中的主要产生的是上行数据,簇内的子节点产生数据,并最终汇集到Sink节点处,子节点之间不需要经常性的相互通讯。网络的拓扑结构如图1所示,假设网络包含了四个簇,Sink节点直接与各个簇的簇头通讯。每个簇由簇头和子节点组成。簇头管理子节点,给子节点分配时隙,管理新节点的加入。网络初始化阶段,Sink节点发布组网命令。新的Mac调度方法设定了一个公共信道,用来发布控制命令和收集簇头的上传数据;Sink节点和所有簇头之间在公共信道上通讯,Sink节点向簇头发送同步帧和控制帧。各个簇的簇头和子节点工作在不同的唯一指定的信道上,其中簇头在指定的簇内信道和公共信道上切换;信道的分配在网络的初始化阶段完成,由Sink节点向申请成为簇头的节点指定。簇头收到Sink节点的同步帧后,加入控制信息并转发同步帧。调度方法统一约定一些网络参数,子节点接收同步帧后,根据帧内包含的时隙分配数组,安排自己的发送时隙。如图2所示,调度方法将时间划分为一个个通讯帧。每个通讯帧长度为5秒,其中通讯帧内又分为活跃阶期和非活跃期。节点和簇头在活跃期内收发数据,并向Sink节点汇报。如图3通讯帧的活跃期分为两个阶段,簇内通讯阶段和簇头和Sink节点通讯阶段。簇头与子节点在簇内通讯阶段通信,子节点在这个阶段内向簇头汇报数据,簇头将收到的数据在簇头和Sink节点通讯阶段上报给Sink节点,这两个阶段都采用TDMA时分复用方式通讯,节点在各自的时隙发送数据。簇内通讯阶段的时隙图如图4所示,第一个时隙为控制时隙,是分配给簇头的数据下行时隙,其余为子节点时隙。为了改善调度方法的可拓展性,引入了一个csma竞争时隙,用来给新的入网节点发送入网申请,应对网络的拓扑结构的动态改变。簇头和Sink节点通讯阶段的时隙图如图5所示,由簇头时隙和控制时隙组成,簇头时隙分配给相应的簇头,簇头在该时隙内向Sink节点发送数据,控制时隙用来给Sink节点向网络发布控制命令,和新的节点申请组网成立新簇。本发明基于TDMA/FDMA的WSN网络mac层调度方法,适用于基于分簇和信息收集、 信息流量大、节点深度低的无线传感器网络,基于分簇的无线传感器网络包括Sink节点和若干簇,每个簇包括一簇头和若干子节点,该方法包括如下步骤
1、Sink节点周期性地发布全网同步帧,用于全网的时间同步。通讯帧结构如图1所示,网络由若干个簇组成,每个簇由一个簇头和一些子节点组成。系统时间被划分成很多个连续的通讯周期,如图2所示。每个通讯周期持续时间为 5秒,通讯周期又划分为活跃期和非活跃期。活跃期的初始持续长度为200ms,可根据具体情况进行调整。簇头和子节点在活跃期内发送数据,在非活跃期内进入休眠状态,关掉射频模块以节约能量。一个通讯周期内的活跃期长度可动态调整,当网络内的通讯量增大,数据在一个活跃期内不能被完全发送时,子节点在发送的数据包中设定相应的续传标志位为1, 通知簇头启动下一个同等长度的时间周期200ms为另一个活跃期,完成数据发送。如果数据还是没能完全发送,那么将再启动下一个200ms为活跃期,以此类推。活跃期进一步划分为簇内通讯阶段和簇头和Sink节点通讯阶段,如图3所示。
簇内通讯阶段如图4所示,在簇内通讯阶段,各个簇的簇头和子节点工作在唯一指定的信道上,不同的两个簇的信道不一致,不同簇彼此之间的通讯不会相互干扰,即簇间采用FDMA频分复用机制。簇内通讯阶段采用TDMA机制,将时间细分成若干个时隙。根据当前流行节点的通讯能力,设定簇内通讯阶段的时间长度为100ms,由4部分组成控制时隙、节点时隙、空闲时隙和csma入网时隙。控制时隙是分配给簇头的向其子节点发送控制命令的时隙,长度为5ms,簇头在这个时隙内发送控制命令给子节点,所有子节点在这个时隙内都要处于苏醒侦听状态,打开射频模块以接收可能来自簇头的控制命令。簇头在这个时隙内如果有控制命令发送,则发送,如果没有控制命令要发送,则关掉射频节约能量。节点时隙属于特定的节点,长度为5ms,每个入网的子节点拥有一个自己的时隙,用来向簇头发送数据。子节点在各自的发送时隙内如果有数据发送,则向簇头直接发送,如果没有数据发送,则关闭射频模块以节约能量。子节点只在自己的发送时隙内苏醒并打开射频,在其它时隙关闭射频节能。空闲时隙是还没有被分配给子节点的空闲时间。Csma入网时隙被用来允许新的节点入网,以克服TDMA机制可拓展性差的缺点,其长度为10ms。在簇内通讯阶段,各个簇的簇头一直保持处于侦听状态。簇头和Sink通讯阶段如图5所示,该阶段时间长度为100ms,被划分为10个时隙, 每个时隙的长度为10ms。前面9个时隙被分配给可能的9个簇头,为簇头时隙;最后一个时隙为控制时隙。簇头时隙被分配给指定的簇头,簇头在这个时隙内向Sink节点转发在前面簇内阶段接收到的子节点数据;如果簇头有数据转发,簇头苏醒,打开射频发送数据,如果没有数据转发,则关闭射频,进入休眠状态。簇头只在自己的时隙内处于苏醒状态,在其它簇头的时隙则关闭射频,处于休眠状态。Sink节点可以在控制时隙内向网络发布控制命令,所有簇头在控制时隙内都要处于苏醒状态,打开射频以接收可能到来的控制命令;如果有想要申请成为簇头的节点,则该节点可以在这个时隙内向Sink节点发送成簇请求命令。 Sink根据当前的网络状态,判断是否还能接受新的子簇。如果可以,则向该节点发送相应的控制命令,依次向其分配相应的信道和簇头时隙;如果否,则发送请求失败命令。Sink周期性地发布同步帧,用来进行全网同步。Sink在发送的同步帧中加入自己的时间,并在公共频道上广播。全网所有设备在经过一定的周期时间后认为全网已不再精确同步,打开射频,处于侦听状态,侦听同步帧。簇头在公共信道上侦听Sink节点的同步帧,实现与Sink节点的同步;然后簇头在簇内通讯阶段上进行跳频,设定自己的信道为本簇通讯信道,再在簇内通讯阶段的控制时隙转发同步帧给各自簇的子节点,实现簇头与子节点的同步,继而实现全网同步。同步的周期设定为30秒,同步方法可采用FTSP被动式同步方式,Sink节点发送同步帧,簇头接收后进行补偿后得出准确时间,同理,簇头转发同步帧,簇内子节点接收后进行补偿后得出准确时间。2、簇头和子节点接收同步帧,完成全网同步。簇头接收Sink节点的同步巾贞,完成和Sink节点的同步,并转发同步帧至子节点, 子节点接收簇头同步帧,完成与簇头的同步,既而完成全网同步。3、子节点根据簇头同步帧信息,判断自己所属时隙,簇内完成TDMA时分复用,簇间完成FDMA频分复用。簇头广播的同步帧内含有一个时隙分配向量,可以看成是一个数组,这个数组的长度为所有可分配给子节点时隙数,由于子节点时隙长度为185ms,且每个子节点时隙为5ms,所以调度方法设定可分配给子节点的时隙为17个。如果一个时隙被分配给了一个子节点,那么该数组的相对应的字节单元内填入该子节点的ID,该单元在数组中的位置序号既是被分配的时隙序号,子节点根据时隙分配向量判断自己所属的发送时隙。由于每个簇采用了不同的信道进行工作,因而簇间完成FDMA频分复用。4、信道访问、数据传输子节点和簇头分别根据被分配的时隙和频段访问信道。数据从子节点传输到Sink节点的流程如图6所示。以图6为例,当子节点1有数据待发送时,子节点1等待到通讯帧活跃期簇内通讯阶段自己的时隙,然后打开射频,在本簇的信道上(Charmell)向簇头直接发送数据,并不采用其它任何的退避算法。簇头1在簇内通讯阶段设定自己的信道为本簇通讯信道(charmell),并一直处于侦听状态,接收子节点数据。待到簇内通讯阶段结束,簇头在簇头和Sink节点通讯阶段上设定自己的信道为公共信道(charmellO),并在自己的簇头时隙内向Sink节点直接转发子节点的数据,并不采用其它任何的退避算法。当Sink节点有控制命令发送给网络内的特定节点时,按照如图7的流程进行。 Sink处于公共频道(charmellO)上,在簇头和Sink通讯阶段的控制时隙内采用csma方式向对应的簇头发送控制帧。假设该命令发送给簇1的子节点1。簇头1接收控制帧,并在簇头和Sink通讯阶段结束后设定自己的信道为本簇信道(charmell),然后在簇内通讯阶段的控制时隙向子节点1直接转发控制帧,不采用其它任何的退避算法。当簇头自己有控制命令给簇内的子节点时,也可直接在控制时隙内向子节点发送。5、新簇建立和新节点入网
当有新的节点要成为簇头时,它首先在公共信道上侦听Sink节点周期性广播的同步帧,完成与Sink节点的时间同步。然后节点在簇头和Sink节点通讯阶段的控制时隙内采用csma方式发送成簇请求帧。Sink节点接受请求帧,如果时间足够则在控制时隙内回复节点,告诉其成簇成功或者失败;如果时间不足以发送回复帧,那么Sink节点将在下一个周期的控制时隙内回复此节点。网络最大的可分配簇的数目为9个,因此如果还有空闲的信道可供使用,那么Sink节点允许节点成簇。Sink节点将在回复帧内指定分配给新簇的通讯信道和簇头时隙。当有新的子节点要加入一个簇时,该子节点依次在不同的信道上侦听一个固定的长度,如果没有收到簇头的同步帧,那么切换到下一个信道侦听。每一个信道的侦听长度为 30秒,以确保在该簇存在且在通讯范围的情况下肯定能收到簇头的同步帧。节点接收到同步帧完成与簇头的同步后,在簇内通讯阶段的Csma入网时隙醒来,打开射频,并采用csma 方法发送入网请求帧。簇头在这个时隙处于侦听状态,如果收到入网请求帧,那么簇头根据当前时隙的分配状况,如果还有空闲的时隙,那么允许节点入网,并发送入网回复帧。如果时隙不够,则在入网回复帧中说明拒绝入网的原因。如果时间充足,则立即发送入网回复帧,如果时间不足,则在下一个通讯周期的该时隙发送。当簇头接受子节点入网后,在周期性发送的同步帧的时隙分配向量的相应单元中填入子节点的ID,分配相应的时隙给该子节点ο
8
权利要求
1.一种基于TDMA/FDMA复用的无线传感器网络mac调度方法,其特征在于,包含如下步骤(1)无线传感器网络部署完毕后,Sink节点周期性地发布全网同步帧,用于全网的时间同步;(2)簇头接收同步帧,完成和Sink节点的同步,并转发同步帧,子节点接收簇头同步帧,完成与簇头的同步,既而完成全网同步;(3)子节点根据簇头同步帧信息,判断自己所属时隙,簇内完成TDMA时分复用,簇间完成FDMA频分复用;(4)当子节点、簇头和Sink节点有数据发送时,在各自的时隙和频段上完成数据的发送;(5)新加入节点采用切换频道的侦听方式,侦听簇头广播帧,完成入网,簇头通过同步帧中的时隙分配向量,调整时隙分配。
2.如权利要求1所述的基于TDMA/FDMA复用的无线传感器网络mac层调度方法,其特征在于所述步骤(2)中,Sink节点周期性地发布同步帧,用来进行全网同步,Sink节点在发送的同步帧中加入自己的时间,并在公共频道上广播,全网所有设备在经过一定的周期时间后认为全网已不再精确同步,打开射频,处于侦听状态,侦听同步帧,簇头在公共信道上侦听Sink节点的同步帧,实现与Sink节点的同步;然后簇头进行跳频,设定自己的信道为本簇通讯信道,再转发同步帧给各自簇的子节点,实现簇头与子节点的同步,继而实现全网同步。
3.如权利要求1所述的基于TDMA/FDMA复用的无线传感器网络mac层调度方法,其特征在于所述步骤(3)中,系统时间被划分成很多个连续的通讯周期,通讯周期又划分为活跃期和非活跃期,簇头和子节点在活跃期内发送数据,在非活跃期内进入休眠状态,关掉射频模块以节约能量,一个通讯周期内的活跃期长度可动态调整,活跃期进一步划分为簇内通讯阶段和簇头和Sink节点通讯阶段,在簇内通讯阶段,各个簇的簇头和子节点工作在唯一指定的信道上,不同的两个簇的信道不一致,即簇间采用FDMA频分复用机制,簇内通讯阶段采用TDMA机制,将时间细分成若干个时隙,由4部分组成控制时隙、节点时隙、空闲时隙和csma入网时隙,簇头和Sink节点通讯阶段被划分为10个时隙,前面9个时隙被分配给可能的9个簇头,为簇头时隙;最后一个时隙为控制时隙;簇头广播的同步帧内含有一个时隙分配向量,可以看成是一个数组,这个数组的长度为所有可分配给子节点时隙数,由于子节点时隙长度为185ms,且每个子节点时隙为5ms,所以调度方法设定可分配给子节点的时隙为17个;如果一个时隙被分配给了一个子节点,那么该数组的相对应的字节单元内填入该子节点的ID,该单元在数组中的位置序号既是被分配的时隙序号,子节点根据时隙分配向量判断自己所属的发送时隙。
4.如权利要求1所述的一种基于TDMA/FDMA复用的无线传感器网络mac层调度方法, 其特征在于所述步骤(4)中,子节点和簇头分别根据被分配的时隙和频段访问信道,子节点等待到通讯帧活跃期簇内通讯阶段自己的时隙,打开射频,在本簇的信道上向簇头发送数据,簇头在簇内通讯阶段设定自己的信道为本簇通讯信道,并一直处于侦听状态,接收子节点数据,待到簇内通讯阶段结束,簇头在簇头和Sink节点通讯阶段上设定自己的信道为公共信道,并在自己的簇头时隙内向Sink节点转发子节点的数据,当Sink节点有控制命令发送给网络内的特定节点时,Sink节点处于公共频道上,在簇头和Sink节点通讯阶段的控制时隙内采用csma方法向对应的簇头发送控制帧,簇头接收控制帧,并在簇头和Sink节点通讯阶段结束后设定自己的信道为本簇信道,然后在簇内通讯阶段的控制时隙向子节点转发控制帧,当簇头自己有控制命令给簇内的子节点时,也可直接在控制时隙内向子节点发送。
5.如权利要求1所述的一种基于TDMA/FDMA复用的无线传感器网络mac层调度方法, 其特征在于所述步骤(5)中,当有新的节点要成为簇头时,它首先在公共信道上侦听Sink 节点周期性广播的同步帧,完成与Sink节点的时间同步,然后节点在簇头和Sink节点通讯阶段的控制时隙内采用csma方式发送成簇请求帧,Sink节点接受请求帧,如果时间足够则在控制时隙内回复节点,告诉其成簇成功或者失败;如果时间不足以发送回复帧,那么 Sink节点将在下一个周期的控制时隙内回复此节点,如果还有空闲的信道可供使用,那么 Sink节点允许节点成簇,Sink节点将在回复帧内指定分配给新簇的通讯信道和簇头时隙, 当有新的子节点要加入一个簇时,该子节点依次在不同的信道上侦听一个固定的长度,如果没有收到簇头的同步帧,那么切换到下一个信道侦听,节点接收到同步帧完成与簇头的同步后,在簇内通讯阶段的Csma入网时隙醒来,打开射频,并采用csma方法发送入网请求帧,簇头在这个时隙处于侦听状态,如果收到入网请求帧,那么簇头根据当前时隙的分配状况,如果还有空闲的时隙,那么允许节点入网,并发送入网回复帧,如果时隙不够,则在入网回复帧中说明拒绝入网的原因,当簇头接受子节点入网后,在周期性发送的同步帧的时隙分配向量的相应单元中填入子节点的ID,分配相应的时隙给该子节点。
全文摘要
本发明公开了一种基于TDMA/FDMA的WSN网络mac层调度方法,该调度方法针对基于分簇的数据收集型WSN网络,在簇内采用时分复用机制、在簇间采用频分复用机制分配信道。时分复用机制和频分复用机制很好地克服了竞争式mac调度方法在网络高负载情况下访问冲突多的缺点。同时新mac调度方法在簇内通讯阶段引入了csma入网时隙,克服了TDMA类调度方法可拓展性差的缺点。节点在活跃期苏醒转发数据,在非活跃期进入休眠状态,降低能耗。根据网络负载情况,调度方法可自动调节活跃期在通讯周期中的占空比,满足网络对吞吐量的动态要求,并一定程度上降低了数据的时延。
文档编号H04W72/12GK102264146SQ20111017202
公开日2011年11月30日 申请日期2011年6月24日 优先权日2011年6月24日
发明者卓书果, 李元实, 沈杰, 王智 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1