发送端启动的异步无线传感器网络mac协议的制作方法

文档序号:7815273阅读:278来源:国知局
发送端启动的异步无线传感器网络mac协议的制作方法
【专利摘要】本发明公开了一种发送端启动的异步无线传感器网络MAC协议,采用了前导短帧技术,网络中的传感器节点欲发送数据时,首先采用清除信道访问机制判断信道是否空闲,确认信道无通信任务后发送一定数量的前导短帧(UF帧),每个处于工作状态的邻居节点周期性监听信道,当检测到以自己为目标节点的第一个UF帧后,向发送方发送确认帧并进入接收状态等待接收数据。发送方采用“间隔前导”机制在每两个UF帧发送的间隔时隙内等待确认帧,收到确认帧后立即停止发送UF帧,进入发送数据状态。本发明充分匹配了无线传感器网络的特性,可以有效地降低网络的能量消耗,减少网络碰撞,降低网络延迟。
【专利说明】发送端启动的异步无线传感器网络MAC协议

【技术领域】
[0001]本发明涉及一种发送端启动的异步无线传感器网络MAC协议。

【背景技术】
[0002]近年来,无线传感器网络(WSN)由于具有广阔的应用前景而在近几年受到学术界和工业界的广泛关注,是21世纪最重要的技术之一。而在无线传感器网络的部署中,网络节点增多时,易产生网络碰撞;此外,网络中的通信能耗,影响无线传感器网络的电池寿命,不利于网络的扩展至更多节点。介质访问控制(Medium Access Control, MAC)协议决定无线信道的使用方式,负责分配传感器节点间有限的通信资源,对传感器网络的性能影响很大,是保证无线传感器网络高效通信的关键。因此,如何设计简单、高效的MAC协议,实现可靠的数据传输并减小能耗,是无线传感器网络的根本问题。
[0003]目前,无线传感器网络的各种MAC协议大都采用休眠与侦听互相交替的工作模式以减少通信能耗,其中发送端启动的异步MAC协议因具有同步简单、不需要统一的休眠调度表、吞吐量高、占空比小的优点被广泛应用。这类协议采用低能量侦听机制为:节点欲发送数据时,首先在信道中发送一个比休眠周期略长的前导,每个处于工作状态的节点监听信道,当检测到前导后等待接收数据。但传统的发送端启动的MAC协议在实际应用时也存在不少问题,比如:1、对于其所采用的低能量侦听机制,接收方需要等待发送方将整个前导信号发完再接收数据,对发送方和接收方都造成了较大的能耗;2、发送方发送前导信号无目标节点,造成非目的节点接收并处理数据,形成串音;3、前导信号的时间固定,造成了不必要的通信延迟。
[0004]本发明针对传统发送端启动的MAC协议的不足,提出了一种具有新的低能量侦听方式的MAC协议,可称之为MF-MAC(Micro Framed MAC Protocol,采用前导短帧的MAC协议)。协议采用前导短帧技术,网络节点首先在信道中发送一定数量的前导短帧(UF帧),每一个UF帧包含了目标节点的地址,周围每个处于工作状态的节点周期性监听信道,当检测到以自己为目的的UF帧后等待接收数据;目标节点收到第一个UF帧后,向发送方发送确认帧,发送方采用“间隔前导”机制在每两个UF帧发送的间隔时隙内等待确认帧,收到确认帧后立即停止发送UF帧,进入发送数据状态。本发明充分匹配了无线传感器网络的特性,可以有效地降低网络的能量消耗,减少网络碰撞,降低网络延迟。


【发明内容】

[0005]发明目的:为了克服现有技术中存在的不足,本发明提供一种发送端启动的异步无线传感器网络MAC协议,应用于无线传感器网络中,能够有效降低网络的能量消耗,减少网络碰撞,降低网络延迟。
[0006]技术方案:为实现上述目的,本发明采用的技术方案为:
[0007]一种发送端启动的异步无线传感器网络MAC协议,基于传统异步无线传感器网络MAC协议的前导技术,将传统的发送方的前导同步信号分解成η个前导短帧发送,即分解成η个UF帧发送,目标传感器节点收到UF帧后向发送方发送确认帧以实现同步,具体包括如下步骤:
[0008](I)发送方传感器节点在发送数据帧之前发送前导短帧,在发送前导短帧前,首先判断信道是否空闲:若判断信道空闲,唤醒该接收方传感器节点至接收状态,发送方传感器节点进入发送状态并向该接收方传感器节点发送前导信号;否则,判断信道忙,发送方传感器节点退避一段时间后,直接进入发送状态并向该接收方传感器节点发送前导信号;
[0009](2)发送方传感器节点发送的前导信号,通过将传统的发送方的前导同步信号分解成η个前导短帧,即分解成η个UF帧,每个UF帧均包含了目标传感器节点的地址;当接收方的某一个传感器节点从休眠中被唤醒并接收到一个UF帧的时候,对该UF帧中包含的目标传感器节点的地址进行查看:若发现自身是非目标传感器节点,则该传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,即进入休眠与侦听交替的状态;若发现自身是目标传感器节点,则保持接收状态直至接收到整个数据帧;
[0010](3)发送方传感器节点在发送前导短帧时,采用间隔前导机制,即在每连续的两个UF帧之间插入一段停顿时隙,在停顿时隙期间发送方传感器暂停发送UF帧,在停顿时隙发送方传感器进行信道侦听;目标传感器节点在接收到第一个UF帧后发送确认帧,发送方传感器节点在停顿时隙期间接收到确认帧后,立即停止发送UF帧,开始向目标传感器节点发送数据帧,直至发送完整个数据帧;在发送方传感器节点发送完整个数据帧后进入休眠与侦听交替的状态;目标传感器节点接收到整个数据帧后进入休眠与侦听交替的状态。
[0011]所述步骤(I)中,发送方传感器节点在发送前导短帧前,首先采用清除信道访问机制(Clear Channel Assessment, CCA)判断信道是否空闲:当接收方传感器节点接收信号强度指示(RSSI)小于门限值CSthreshtjld并且该接收方传感器节点不在接收数据时,即该接收方传感器节点处于休眠状态,判断信道空闲,唤醒该接收方传感器节点至接收状态,发送方传感器节点进入发送状态并向该接收方传感器节点发送前导信号;否则,判断信道忙,发送方传感器节点退避一段时间后,直接进入发送状态并向该接收方传感器节点发送前导信号。
[0012]发送方和接收方的无线收发器均采用CC2500芯片;所述步骤(I)中,与接收方传感器节点接收信号强度指示(RSSI)进行比较的门限值CSthreshtjld根据实际需要配置,其中门限值CSthreshtjld通过配置CC2500芯片的相关寄存器参数进行设置,具体为:通过配置AGCCTRL2.MAX_LNA_GAIN和 AGCCTRL2.MAX_DVGA_GAIN两个寄存器参数得到门限值 CSthreshtjld的初值,通过匹配值CARRIER_SENSE_ABS_THR寄存器参数在±7dB的范围内以IdB为步进对门限值CS

threshold
进行调整。
[0013]所述步骤(I)中,当判断信道忙时,发送方传感器节点的退避时间根据实际需要进行配置,具体为:将发送方传感器节点的退避时间配置为发送方传感器节点发送时间最大值tTMAX的整数倍,其中倍数nrcA取I?10之间的随机值:
[001 4] ?χΜΑΧ — nCCA (tuFper1d+tRXperiQd)+tTXDATA
[0015]其中,tUFper1d为发送一次UF帧所用时间,tEXper1d为连续的两个UF帧之间的停顿时隙,tTXDATA是发送方传感器节点发送数据帧所用时间;为了减少复杂度,可以设计tUFps_d
一 ^EXper1d0
[0016]所述步骤⑵中,UF帧的个数η与传感器节点的侦听周期tsample有如下关系:
[001 7] Π (tuFper1d+tRXper1d) ^ ^sample
[0018]其中,侦听周期tsample是指接收方传感器节点在低能量侦听状态下,连续两次处于侦听状态的时间间隔,tlisten>tUFper1d, tlisten为每次传感器节点侦听信道所用时间。
[0019]所述步骤⑵中,每个UF帧除了包含目标传感器节点的地址F_DES以外,还包含自身传感器节点的地址F_SRC、自身传感器节点的等级F_HEIGHT、帧类型F_TYPE (标明该帧是数据帧、UF帧还是确认帧)和计数值UF_C0UNTER,UF帧中UF_C0UNTER初值为UF帧的个数n,发送方每发送一次UF帧,UF_C0UNTER的计数减I ;接收方传感器节点根据接收到的UF帧中的F_DES和F_HEIGHT判断自身是否为目标传感器节点:仅当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,接收方传感器判断自身为目标传感器节点。
[0020]发送端传感器节点和接收端传感器节点均采用状态机实现前导短帧技术和间隔前导机制:
[0021]发送方传感器节点在发送数据时,依次进入低能量侦听状态、发送前导状态、接收确认帧状态和发送数据状态,在各个状态下发送方传感器节点分别完成信道检测、发送前导短帧、接收确认帧和发送数据的工作;
[0022]接收方传感器节点在接收数据时,依次进入低能量侦听状态、接收前导状态、发送确认帧状态和接收数据状态,在各状态下接收方传感器节点分别完成信道检测、接收UF侦前导信号、发送确认帧和接收数据帧的工作;
[0023]发送方传感器节点从发送队列取出UF帧并以步骤(I)所述方式发送,接收方传感器节点对接受到的UF帧进行校检,并送到上层进行处理,转发;以下是MAC层收发双方的状态描述:
[0024]低能量侦听状态:MAC_IDLE
[0025]当传感器节点处于低能量侦听状态时,传感器节点关闭无线收发器以节省能量,同时进入休眠与侦听交替的状态;传感器节点从侦听状态转入其他状态有两种情况:一种是在发送数据以前,根据常规休眠调度表醒来,此时会关闭低能量侦听,进入发送状态;第二种是在侦听信道时检测到发送方发来的数据,关闭低能量侦听,进入接收状态;
[0026]A发送方状态
[0027]al发送前导状态:MAC_TXUF
[0028]当传感器节点有数据要发送时,会从低能量侦听状态进入发送前导状态,MAC层会定义计数值UF_C0UNTER来决定发送UF帧的次数,并创建UF帧;在发送第一个前导信号以前,传感器节点需确保此时信道处于空闲状态,使用清除信道访问机制确保没有其他传感器节点发送数据时再发送;每发送一次UF帧,UF_C0UNTER就减I,直到收到来自接收方的确认帧或UF_C0UNTER减至O时,节点进入发送数据状态;
[0029]a2接收确认帧状态:MAC_RXFIN
[0030]每发送完一次UF帧,传感器节点采用间隔前导机制,等待来自接收方的确认帧:如果收到接收方发来的确认帧,发送方直接进入发送数据状态,UF_C0UNTER清O ;否则,传感器节点切换至发送前导状态发送剩余的UF帧;
[0031]a3 发送数据状态:MAC_TXDATA
[0032]当传感器节点收到来自接收方的确认帧或发送完所有UF帧以后进入发送数据状态,传感器节点立即从发送队列取出最上层的数据发送,在这个状态下可以连续发送多个数据,以确保接收方的接收成功率;发送完毕后传感器节点立即清空发送队列中刚刚发送的数据,重新转入低能量侦听状态,关闭无线收发器以节省能量;
[0033]B接收方状态
[0034]bl接收前导状态:MAC_RXUF
[0035]当传感器节点在侦听状态时检测到发送方发来的UF帧时,立即停止低能量侦听,进入接收前导状态,并对UF帧中的目标节点的地址F_DES和节点的等级F_HEIGHT进行判别,当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,传感器节点进入发送确认帧状态向发送方反馈确认信息;否则,传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,关闭无线收发器以节省能量;
[0036]b2发送确认帧状态:MAC_TXFIN
[0037]当传感器节点确认UF帧中的F_DES所指向地址是自身时,传感器节点关闭无线收发器停止接受,并立即向发送方发送确认帧提醒发送方目标节点已收到前导信号,发送方接收到该确认帧后立即停止发送UF帧,进入发送数据状态;
[0038]b3 接收数据状态:MAC_RXDATA
[0039]传感器节点进入接收数据状态后,在规定的时间tDATAp_d内保持侦听状态:如果收到数据则查看消息队列,当数据类型是数据帧或广播帧时,置标志flag = 1,关闭无线收发器停止接受,将数据交给上层协议处理;若接收数据类型不对,置标志flag = 0,继续侦听信道;若在tDATApOTiMl内没有收到正确的数据类型,节点停止接受,重新转入休眠状态并报错O
[0040]有益效果:本发明提供的发送端启动的异步无线传感器网络MAC协议,相对于现有技术,具有如下优势:
[0041 ] 1、传统的发送端启动的MAC协议大都采用低能量侦听机制,如在B-MAC协议中,当某节点有数据要传输时,首先在信道中发送一个比休眠周期略长的前导信号,之后再发送数据。在此机制下,网络中的非目标节点从休眠中被周期性唤醒进入侦听状态时也需要侦听完整个前导信号,之后才会发现自己并非目标节点。本协议将前导信号分割成一定数量的UF巾贞,并将目标节点地址加入到每一个UF帧中,非目标节点在收到第一个UF帧后即可进入休眠状态,消除了串音现象。通过该机制,无线传感器网络的能耗基本不再和网络节点密度相关,当网络某节点周围的邻节点数目增加时,该节点的通信能耗基本保持不变。
[0042]2、在传统的发送端启动的MAC协议,如B-MAC协议中,发送方需要发送整个前导信号,但邻节点平均被唤醒的时间总是在整个前导信号发送时间的一半附近。然而在每次发送数据前发送方都必须传输整个前导,因为其不可能知道接收方会在何时从休眠状态被唤醒。另一方面,当存在多个发送方同时向同一个目标节点发送数据时,在每一个节点,当第一个发送节点发出前导信号以后,其他发送方必须保持工作状态等待至信道空闲,再发送自己的前导信号。本协议在每两个UF帧之间插入一段停顿时隙以方便发送方在收到接收方的确认信息后立即停止发送UF帧,直接发送数据,从而减小了通信能耗和延迟。
[0043]3、本MAC协议较好地匹配了无线传感器网络的特性,合理地分配信道资源,提高了网络的能量利用率和数据吞吐量;另外,本协议为网络层提供了简单灵活的接口,用户可根据应用需求添加网络层路由协议。

【专利附图】

【附图说明】
[0044]图1为本发明中MAC协议的工作过程;
[0045]图2为本发明中MAC层的状态转移图。

【具体实施方式】
[0046]下面结合附图对本发明作更进一步的说明。
[0047]一种发送端启动的异步无线传感器网络MAC协议,基于传统异步无线传感器网络MAC协议的前导技术,将传统的发送方的前导同步信号分解成η个前导短帧发送,即分解成η个UF帧发送,目标传感器节点收到UF帧后向发送方发送确认帧以实现同步,具体包括如下步骤:
[0048](I)发送方传感器节点在发送数据帧之前发送前导短帧,在发送前导短帧前,首先采用清除信道访问机制(Clear Channel Assessment, CCA)判断信道是否空闲:当接收方传感器节点接收信号强度指示(RSSI)小于门限值CSthrestold并且该接收方传感器节点不在接收数据时,即该接收方传感器节点处于休眠状态,判断信道空闲,唤醒该接收方传感器节点至接收状态,发送方传感器节点进入发送状态并向该接收方传感器节点发送前导信号;否贝U,判断信道忙,发送方传感器节点退避一段时间后,直接进入发送状态并向该接收方传感器节点发送前导信号;
[0049](2)发送方传感器节点发送的前导信号,通过将传统的发送方的前导同步信号分解成η个前导短帧,即分解成η个UF帧,每个UF帧均包含了目标传感器节点的地址;当接收方的某一个传感器节点从休眠中被唤醒并接收到一个UF帧的时候,对该UF帧中包含的目标传感器节点的地址进行查看:若发现自身是非目标传感器节点,则该传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,即进入休眠与侦听交替的状态;若发现自身是目标传感器节点,则保持接收状态直至接收到整个数据帧;
[0050](3)发送方传感器节点在发送前导短帧时,采用间隔前导机制,即在每连续的两个UF帧之间插入一段停顿时隙,在停顿时隙期间发送方传感器暂停发送UF帧,在停顿时隙发送方传感器进行信道侦听;目标传感器节点在接收到第一个UF帧后发送确认帧,发送方传感器节点在停顿时隙期间接收到确认帧后,立即停止发送UF帧,开始向目标传感器节点发送数据帧,直至发送完整个数据帧;在发送方传感器节点发送完整个数据帧后进入休眠与侦听交替的状态;目标传感器节点接收到整个数据帧后进入休眠与侦听交替的状态。
[0051]在步骤(I)中,RSSI是对信道中信号强度的估计,本案中发送方和接收方的无线收发器均采用CC2500芯片;在接收(RX)状态下,可以从芯片内置的RSSI状态寄存器持续读取RSSI的值。在寄存器中读到的RSSI值是一个二进制补码,为将其转换为绝对的信号功率估计,可采用以下步骤:
[0052]①从RSSI状态寄存器读取RSSI值;
[0053]②将读取到的十六进制数转换为十进制数RSSIde。;
[0054]③若RSSIdec 彡 128,则有:
ο?'ν RSSiff - 256 ?ee/
[0055]RSSIimni =——'气--RSSIuilscl

2
[0056]若RSSIdec〈128,则有:

η ccy
[0057]RSSlMm 二二^-RSSI;
[0058]其中,RSSItfflm是绝对信号功率估计值,表示当前信道中检测到的信号强度大小;RSS1ffset为转换中的固定偏移量,其大小于无线传输速率有关,在本案采用的CC2500芯片中,无线传输速率为250kBaud,RSS1ffset的取值为72。
[0059]在本案采用的CCA机制中,与接收方传感器节点接收信号强度指示(RSSI)进行比较的门限值CSthrestold根据实际需要配置,其中门限值CSthrestold通过配置CC2500芯片的相关寄存器参数进行设置,具体为:通过配置AGCCTRL2.MAX_LNA_GAIN和AGCCTRL2.MAX_DVGA_GAIN两个寄存器参数得到门限值CSthreshtjld的初值,通过匹配值CARRIER_SENSE_ABS_THR寄存器参数在±7dB的范围内以IdB为步进对门限值CSttoeshtjld进行调整。
[0060]所述步骤(I)中,当判断信道忙时,发送方传感器节点的退避时间根据实际需要进行配置,具体为:将发送方传感器节点的退避时间配置为发送方传感器节点发送时间最大值tTMAX的整数倍,其中倍数nrcA取I?10之间的随机值:
[0061]?χ?Αχ — nCCA (tuFper1d+tRXperiQd)+tTXDATA
[0062]其中,tUFper1d为发送一次UF帧所用时间,tEXper1d为连续的两个UF帧之间的停顿时隙,tuFper1d = t EXper1d? tTXDATA是发送方传感器节点发送数据巾贞所用时间。
[0063]所述步骤⑵中,UF帧的个数η与传感器节点的侦听周期tsample有如下关系:
[0064]n (tuFper1d+tRXper1d) ^ ^sample
[0065]其中,侦听周期tsample是指接收方传感器节点在低能量侦听状态下,连续两次处于侦听状态的时间间隔,tlisten>tUFper1d, tlisten为每次传感器节点侦听信道所用时间。
[0066]所述步骤(2)中,每个UF帧除了包含目标传感器节点的地址F_DES以外,还包含自身传感器节点的地址F_SRC、自身传感器节点的等级F_HEIGHT、帧类型F_TYPE (标明该帧是数据帧、UF帧还是确认帧)和计数值UF_C0UNTER,UF帧中UF_C0UNTER初值为UF帧的个数n,发送方每发送一次UF帧,UF_C0UNTER的计数减I ;接收方传感器节点根据接收到的UF帧中的F_DES和F_HEIGHT判断自身是否为目标传感器节点:仅当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,接收方传感器判断自身为目标传感器节点。
[0067]发送端传感器节点和接收端传感器节点均采用状态机实现前导短帧技术和间隔前导机制:
[0068]发送方传感器节点在发送数据时,依次进入低能量侦听状态、发送前导状态、接收确认帧状态和发送数据状态,在各个状态下发送方传感器节点分别完成信道检测、发送前导短帧、接收确认帧和发送数据的工作;
[0069]接收方传感器节点在接收数据时,依次进入低能量侦听状态、接收前导状态、发送确认帧状态和接收数据状态,在各状态下接收方传感器节点分别完成信道检测、接收UF侦前导信号、发送确认帧和接收数据帧的工作;
[0070]发送方传感器节点从发送队列取出UF帧并以步骤(I)所述方式发送,接收方传感器节点对接受到的UF帧进行校检,并送到上层进行处理,转发;以下是MAC层收发双方的状态描述:
[0071]低能量侦听状态:MAC_IDLE
[0072]当传感器节点处于低能量侦听状态时,传感器节点关闭无线收发器以节省能量,同时进入休眠与侦听交替的状态;传感器节点从侦听状态转入其他状态有两种情况:一种是在发送数据以前,根据常规休眠调度表醒来,此时会关闭低能量侦听,进入发送状态;第二种是在侦听信道时检测到发送方发来的数据,关闭低能量侦听,进入接收状态;
[0073]A发送方状态
[0074]al发送前导状态:MAC_TXUF
[0075]当传感器节点有数据要发送时,会从低能量侦听状态进入发送前导状态,MAC层会定义计数值UF_C0UNTER来决定发送UF帧的次数,并创建UF帧;在发送第一个前导信号以前,传感器节点需确保此时信道处于空闲状态,使用清除信道访问机制确保没有其他传感器节点发送数据时再发送;每发送一次UF帧,UF_C0UNTER就减I,直到收到来自接收方的确认帧或UF_C0UNTER减至O时,节点进入发送数据状态;
[0076]a2接收确认帧状态:MAC_RXFIN
[0077]每发送完一次UF帧,传感器节点采用间隔前导机制,等待来自接收方的确认帧:如果收到接收方发来的确认帧,发送方直接进入发送数据状态,UF_C0UNTER清O ;否则,传感器节点切换至发送前导状态发送剩余的UF帧;
[0078]a3 发送数据状态:MAC_TXDATA
[0079]当传感器节点收到来自接收方的确认帧或发送完所有UF帧以后进入发送数据状态,传感器节点立即从发送队列取出最上层的数据发送,在这个状态下可以连续发送多个数据,以确保接收方的接收成功率;发送完毕后传感器节点立即清空发送队列中刚刚发送的数据,重新转入低能量侦听状态,关闭无线收发器以节省能量;
[0080]B接收方状态
[0081]bl接收前导状态:MAC_RXUF
[0082]当传感器节点在侦听状态时检测到发送方发来的UF帧时,立即停止低能量侦听,进入接收前导状态,并对UF帧中的目标节点的地址F_DES和节点的等级F_HEIGHT进行判别,当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,传感器节点进入发送确认帧状态向发送方反馈确认信息;否则,传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,关闭无线收发器以节省能量;
[0083]b2发送确认帧状态:MAC_TXFIN
[0084]当传感器节点确认UF帧中的F_DES所指向地址是自身时,传感器节点关闭无线收发器停止接受,并立即向发送方发送确认帧提醒发送方目标节点已收到前导信号,发送方接收到该确认帧后立即停止发送UF帧,进入发送数据状态;
[0085]b3 接收数据状态:MAC_RXDATA
[0086]传感器节点进入接收数据状态后,在规定的时间tDATAp_d内保持侦听状态:如果收到数据则查看消息队列,当数据类型是数据帧或广播帧时,置标志flag = 1,关闭无线收发器停止接受,将数据交给上层协议处理;若接收数据类型不对,置标志flag = 0,继续侦听信道;若在tDATApOTiMl内没有收到正确的数据类型,节点停止接受,重新转入休眠状态并报错O
[0087]以上所述仅是本发明的优选实施方式,应当指出:对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.发送端启动的异步无线传感器网络MAC协议,其特在于:将发送方的前导同步信号分解成η个前导短帧发送,即分解成η个UF帧发送,目标传感器节点收到UF帧后向发送方发送确认帧以实现同步,具体包括如下步骤: (1)发送方传感器节点在发送数据帧之前发送前导短帧,在发送前导短帧前,首先判断信道是否空闲:若判断信道空闲,唤醒该接收方传感器节点至接收状态,发送方传感器节点进入发送状态并向该接收方传感器节点发送前导信号;否则,判断信道忙,发送方传感器节点退避一段时间后,直接进入发送状态并向该接收方传感器节点发送前导信号; (2)发送方传感器节点发送的前导信号,通过将发送方的前导同步信号分解成η个前导短帧,即分解成η个UF帧,每个UF帧均包含了目标传感器节点的地址;当接收方的某一个传感器节点从休眠中被唤醒并接收到一个UF帧的时候,对该UF帧中包含的目标传感器节点的地址进行查看:若发现自身是非目标传感器节点,则该传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,即进入休眠与侦听交替的状态;若发现自身是目标传感器节点,则保持接收状态直至接收到整个数据帧; (3)发送方传感器节点在发送前导短帧时,采用间隔前导机制,即在每连续的两个UF帧之间插入一段停顿时隙,在停顿时隙期间发送方传感器暂停发送UF帧,在停顿时隙发送方传感器进行信道侦听;目标传感器节点在接收到第一个UF帧后发送确认帧,发送方传感器节点在停顿时隙期间接收到确认帧后,立即停止发送UF帧,开始向目标传感器节点发送数据帧,直至发送完整个数据帧;在发送方传感器节点发送完整个数据帧后进入休眠与侦听交替的状态;目标传感器节点接收到整个数据帧后进入休眠与侦听交替的状态。
2.根据权利要求1所述的发送端启动的异步无线传感器网络MAC协议,其特在于:所述步骤(I)中,发送方传感器节点在发送前导短帧前,首先采用清除信道访问机制判断信道是否空闲:当接收方传感器节点接收信号强度指示小于门限值CSthrestold并且该接收方传感器节点不在接收数据时,即该接收方传感器节点处于休眠状态,判断信道空闲,唤醒该接收方传感器节点至接收状态,发送方传感器节点进入发送状态并向该接收方传感器节点发送前导信号;否则,判断信道忙,发送方传感器节点退避一段时间后,直接进入发送状态并向该接收方传感器节点发送前导信号。
3.根据权利要求2所述的发送端启动的异步无线传感器网络MAC协议,其特在于:发送方和接收方的无线收发器均采用CC2500芯片;所述步骤(I)中,与接收方传感器节点接收信号强度指示进行比较的门限值CSthreshtjld根据实际需要配置,其中门限值CSthrestold通过配置CC2500芯片的相关寄存器参数进行设置,具体为:通过配置AGCCTRL2.MAX_LNA_GAIN和AGCCTRL2.MAX_DVGA_GAIN两个寄存器参数得到门限值CSttoeshtjld的初值,通过匹配值CARRIER_SENSE_ABS_THR寄存器参数在±7dB的范围内以IdB为步进对门限值CSttoeshtjld进行调整。
4.根据权利要求3所述的发送端启动的异步无线传感器网络MAC协议,其特在于:所述步骤(I)中,当判断信道忙时,发送方传感器节点的退避时间根据实际需要进行配置,具体为:将发送方传感器节点的退避时间配置为发送方传感器节点发送时间最大值tTMAX的整数倍,其中倍数取I?10之间的随机值:
^ΤΜΑΧ — nCCA (tuFperi0d+tRXper1(j)+tTXDATA 其中,tUFpCTi()d为发送一次UF帧所用时间,tKXpOTi()d为连续的两个UF帧之间的停顿时隙,tTXDATA是发送方传感器节点发送数据帧所用时间。
5.根据权利要求1所述的发送端启动的异步无线传感器网络MAC协议,其特在于:所述步骤⑵中,UF帧的个数η与传感器节点的侦听周期tsample有如下关系:
n (tuFper1d+tRXper1d) ^ ^sample 其中,侦听周期tsample是指接收方传感器节点在低能量侦听状态下,连续两次处于侦听状态的时间间隔,tlisten>tUFper1d, tlisten为每次传感器节点侦听信道所用时间。
6.根据权利要求1所述的发送端启动的异步无线传感器网络MAC协议,其特在于:所述步骤(2)中,每个UF帧除了包含目标传感器节点的地址F_DES以外,还包含自身传感器节点的地址F_SRC、自身传感器节点的等级F_HEIGHT、帧类型F_TYPE和计数值UF_COUNTER,UF帧中UF_COUNTER初值为UF帧的个数n,发送方每发送一次UF帧,UF_COUNTER的计数减I ;接收方传感器节点根据接收到的UF帧中的F_DES和F_HEIGHT判断自身是否为目标传感器节点:仅当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,接收方传感器判断自身为目标传感器节点。
7.根据权利要求1?6所述的发送端启动的异步无线传感器网络MAC协议,其特在于:发送端传感器节点和接收端传感器节点均采用状态机实现前导短帧技术和间隔前导机制: 发送方传感器节点在发送数据时,依次进入低能量侦听状态、发送前导状态、接收确认帧状态和发送数据状态,在各个状态下发送方传感器节点分别完成信道检测、发送前导短帧、接收确认帧和发送数据的工作; 接收方传感器节点在接收数据时,依次进入低能量侦听状态、接收前导状态、发送确认帧状态和接收数据状态,在各状态下接收方传感器节点分别完成信道检测、接收UF侦前导信号、发送确认帧和接收数据帧的工作; 发送方传感器节点从发送队列取出UF帧并以步骤(I)所述方式发送,接收方传感器节点对接受到的UF帧进行校检,并送到上层进行处理,转发;以下是MAC层收发双方的状态描述: 低能量侦听状态:MAC_IDLE 当传感器节点处于低能量侦听状态时,传感器节点关闭无线收发器以节省能量,同时进入休眠与侦听交替的状态;传感器节点从侦听状态转入其他状态有两种情况:一种是在发送数据以前,根据常规休眠调度表醒来,此时会关闭低能量侦听,进入发送状态;第二种是在侦听信道时检测到发送方发来的数据,关闭低能量侦听,进入接收状态; A发送方状态 al发送前导状态:MAC_TXUF 当传感器节点有数据要发送时,会从低能量侦听状态进入发送前导状态,MAC层会定义计数值UF_COUNTER来决定发送UF帧的次数,并创建UF帧;在发送第一个前导信号以前,传感器节点需确保此时信道处于空闲状态,使用清除信道访问机制确保没有其他传感器节点发送数据时再发送;每发送一次UF巾贞,UF_COUNTER就减1,直到收到来自接收方的确认帧或UF_COUNTER减至O时,节点进入发送数据状态; a2接收确认帧状态:MAC_RXFIN 每发送完一次UF帧,传感器节点采用间隔前导机制,等待来自接收方的确认帧:如果收到接收方发来的确认帧,发送方直接进入发送数据状态,UF_COUNTER清O ;否则,传感器节点切换至发送前导状态发送剩余的UF帧;a3发送数据状态:MAC_TXDATA 当传感器节点收到来自接收方的确认帧或发送完所有UF帧以后进入发送数据状态,传感器节点立即从发送队列取出最上层的数据发送,在这个状态下可以连续发送多个数据,以确保接收方的接收成功率;发送完毕后传感器节点立即清空发送队列中刚刚发送的数据,重新转入低能量侦听状态,关闭无线收发器以节省能量; B接收方状态 bl接收前导状态:MAC_RXUF 当传感器节点在侦听状态时检测到发送方发来的UF帧时,立即停止低能量侦听,进入接收前导状态,并对UF帧中的目标节点的地址F_DES和节点的等级F_HEIGHT进行判别,当UF帧中的F_DES与自身地址相同或F_HEIGHT高于自身等级时,传感器节点进入发送确认帧状态向发送方反馈确认信息;否则,传感器节点迅速返回休眠状态并休眠至少一个完整的发送周期,之后再重新进入低能量侦听状态,关闭无线收发器以节省能量;b2发送确认帧状态:MAC_TXFIN 当传感器节点确认UF帧中的F_DES所指向地址是自身时,传感器节点关闭无线收发器停止接受,并立即向发送方发送确认帧提醒发送方目标节点已收到前导信号,发送方接收到该确认帧后立即停止发送UF帧,进入发送数据状态;b3接收数据状态:MAC_RXDATA 传感器节点进入接收数据状态后,在规定的时间tDATApOTi()d内保持侦听状态:如果收到数据则查看消息队列,当数据类型是数据帧或广播帧时,置标志flag = 1,关闭无线收发器停止接受,将数据交给上层协议处理;若接收数据类型不对,置标志flag = O,继续侦听信道;若在tDATApOTi()d内没有收到正确的数据类型,节点停止接受,重新转入休眠状态并报错。
【文档编号】H04W80/02GK104202806SQ201410495387
【公开日】2014年12月10日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】洪旸, 阳析, 金石, 黄永明 申请人:南京智雅信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1