发明内容
本发明主要解决的技术问题是提供一种降低数据传输时延的无线传感器节点模块、系统及方法,该降低数据传输时延的无线传感器节点模块可以实现较低节点功耗的前提下减小数据传输时延。
为了解决上述问题,本发明提供一种降低数据传输时延的无线传感器节点模块,该降低数据传输时延的无线传感器节点模块包括:无线传感器节点模块,该无线传感器节点模块包括:监听/唤醒单元,处于周期性监听/休眠状态,读取监听到RTS报文中的目的地址信息;数据传输单元,用于无线传感器节点之间有的数据报文传输;控制单元,根据从监听/唤醒单元获得的目的地址信息确定无线传感器节点只接收不转发或接收并转发时,通知数据传输单元接收数据报文,其中无线传感器节点接收并转发时,通知监听/唤醒单元回复CTS报文并发送RTS报文提前唤醒下一跳无线传感器节点。
进一步地说,当本无线传感器节点主动发送数据报文时控制单元通知监听/唤醒单元持续发送RTS,直到收到下一跳无线传感器节点的CTS报文回复或者超过设定的RTS报文发送周期。
进一步地说,所述数据传输单元收到控制单元接收数据报文的通知后接收并回复ACK报文。
进一步地说,监听/唤醒单元采用和数据传输单元不同的频点.
进一步地说,所述RTS报文和CTS报文都包含有NAV。
本发明还提供一种降低数据传输时延的无线传感器网络系统,包括至少两个所述无线传感器节点模块,该无线传感器节点模块包括,
监听/唤醒单元,处于周期性监听/休眠状态,读取监听到RTS报文中的目的地址信息;
数据传输单元,用于无线传感器节点之间有的数据报文传输;
控制单元,根据从监听/唤醒单元获得的目的地址信息确定无线传感器节点只接收不转发或接收并转发时,通知数据传输单元接收数据报文,其中无线传感器节点接收并转发时,通知监听/唤醒单元回复CTS报文并发送RTS报文提前唤醒下一跳另一无线传感器节点模块。
进一步地说,监听/唤醒单元采用和数据传输单元不同的频点。
进一步地说,所述RTS报文和CTS报文都包含有NAV。
本发明还提供一种降低无线传感器节点数据传输时延方法,该方法包括,
读出数据传输目的地址信息,监听/唤醒单元监听到RTS报文时,从RTS报文中读出数据报文传输目的地址信息;
确定是否提前唤醒下一跳节点,接收数据报文并确定数据报文是否需要转发,当数据报文需要转发时,向下一跳节点发送RTS报文提前唤醒;
进一步地说,还包括节点主动发送数据报文监听/唤醒单元从监听/休眠状态转入持续发送RTS报文状态,直到收到下一跳节点的CTS报文回复或者超过约定的RTS报文发送周期。
进一步地说,确定本节点不转发数据报文时,数据传输单元恢复休眠状态;确定节点转发数据报文时,监听/唤醒单元收到下一跳节点的CTS报文回复后,向下一跳节点转发收到的数据报文,未收到CTS报文回复,数据传输单元进入休眠状态。
进一步地说,监听/唤醒单元采用和数据传输单元不同的频点。
进一步地说,所述RTS报文和CTS报文都包含有NAV。
本发明降低数据传输时延的无线传感器节点模块包括无线传感器节点模块,该无线传感器节点模块包括:监听/唤醒单元,读取监听到RTS报文中的目的地址信息;数据传输单元,用于无线传感器节点之间有的数据报文传输;控制单元,根据目的地址信息确定无线传感器节点是否转发接收的数据报文,当无线传感器节点转发数据报文时,监听/唤醒单元回复CTS报文并发送RTS报文提前唤醒下一跳无线传感器节点。由于该无线传感器节点模块从获得数据报文目的地址信息确定数据报文是否需要转发,数据报文需要转发时在接收数据报文同时向下一跳至若干跳无线传感器节点发送RTS报文提前唤醒,避免无线传感器网络中无线传感器节点进行数据报文传输出现较大的时延,提高数据报文传输效率。同时无线传感器节点模块实行周期性唤醒或休眠状态,只有监听到RTS报文时才处于唤醒状态,因而可以延长无线传感器节点模块的待机时间。
具体实施方式
为了使要发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种降低数据传输时延的无线传感器节点模块实施例。
该降低数据传输时延的无线传感器节点模块,该无线传感器节点模块包括:
监听/唤醒单元,用于主动唤醒相邻节点或被相邻节点唤醒,处于周期性监听/休眠状态,读取监听到RTS报文(Request To Send,请求发送协议)中的数据报文目的地址信息;
数据传输单元,用于无线传感器节点之间有的数据报文传输;
控制单元,根据从监听/唤醒单元获得的数据报文目的地址信息确定无线传感器节点是否转发收到的数据报文,当无线传感器节点只转收数时控制数据传输单元接收相应的数据报文,当无线传感器节点接收并转发时,控制监听/唤醒单元回复CTS报文(Clear To Send,清除发送协议)是并发送RTS报文提前唤醒下一跳无线传感器节点模块),即控制监听/唤醒单元向往该节点模块发送RTS报文的相邻节点模块回复。
具体地说,该降低数据报文传输时延的无线传感器节点模块包括控制单元、监听/唤醒单元和数据传输单元,通过独立唤醒媒体接入控制(IW-MAC,Independent
Wakeup-MAC)协议提前唤醒第二跳、第三跳甚至后面若干跳的节点,实现数据报文快速传输。
所述监听/唤醒单元平时处于周期性监听/休眠状态,当监听/唤醒单元监听到RTS报文时读出其中目的地址信息,并发给控制单元。
所述控制单元先确定数据传输单元准备接收的数据报文,如RTS报文、CTS报文和ACK报文等相当于控制报文,是否需要无线传感器节点接收。当不需要接收时,不进行任何处理;当需要接收数据报文时则确定是否需要转发,即只接收不转发数据报文或者接收并转发数据报文时,控制单元控制数据传输单元接收数据报文,并数据传输单元向其回复ACK报文CTS报文(ACK,nowledgement,确认字符),监听/唤醒单元回复CTS报文;需要转发数据报文时,立刻向下一跳无线传感器节点发送唤醒RTS报文,在监听/唤醒单元收到下一跳无线传感器节点的CTS报文回复时,数据传输单元立刻向下一跳无线传感器节点转发收到的数据报文;当监听/唤醒单元未收到下一跳无线传感器节点的CTS报文回复时数据传输单元进入休眠状态,收到回复后总控单元再通知其往下一跳节点转发已收到的数据报文。
当节点需要主动发送数据报文时总控单元也会通知监听/唤醒单元从监听/休眠状态转入持续发送RTS报文状态,直到收到下一跳无线传感器节点的CTS报文回复或者超过约定的RTS报文发送周期。
所述监听/唤醒单元是指具备监听和唤醒功能的单元。所述监听/休眠状态是指监听或休眠两种状态。
为了更好说明本技术方案实现过程及达到的技术效果,以具有4个节点组成的无线传感器网络进行具体说明,如图2所示。无线传感器节点模块(以下简称为节点)A-节点D,的硬件都是采用上述实施例中的无线传感器节点模块,标号仅作为每个无线传感器节点模块区别,没有其他含义。
向节点D发送数据报文,须经过节点B和节点C的转发才能实现。图3和图4为基于IW-MAC协议节点A发送数据报文到节点D的两种不同情况时延图。第一种情况是节点的唤醒时间大于数据报文传输时间。第二种情况是节点的唤醒时间小于数据报文传输时间。
无线传感器节点模块对数据报文转发具体流程如下:
第1步,节点A中的控制单元首先通知其监听/唤醒单元从监听/休眠状态转入持续发送RTS报文状态;
第2步,节点A发送第4个RTS报文时,节点B的监听/唤醒单元此时处于监听状态,收到该RTS报文,将数据报文目的地址信息传给节点B的控制单元后,节点B的控制单元判断需要进行接收并转发操作,于是先让节点B的监听/唤醒单元向节点A进行CTS报文回复;
第3步,节点A的监听/唤醒单元收到CTS报文回复后,进入回周期性监听/休眠状态,同时由控制单元通知其数据传输单元开始发送数据报文给节点B并接收ACK报文回复,发送完所有数据报文并接收到相应的ACK报文后,节点A的数据传输单元回到休眠状态;
第4步,节点B进行CTS报文回复后,其监听/唤醒单元转入持续发送RTS报文状态,直到收到节点C的CTS报文回复,同时其数据传输单元进入监听状态,直到收到节点A发送的数据报文,然后回复ACK报文;
第5步,节点B持续发送若干个RTS报文后,节点C的监听/唤醒单元此时处于监听状态,收到一个RTS报文,控制单元根据目的地址信息判断需要进行接收并转发操作,因此让其监听/唤醒单元进行CTS报文回复;
第6步,节点B的监听/唤醒单元收到CTS报文回复便回到周期性监听/休眠状态。
对于图3所示的节点的唤醒时间大于数据报文传输时间情况,节点B发送的第3个RTS报文被节点C收到,因唤醒时间短,节点B收到CTS报文回复时其数据传输单元还在接收节点A发送的数据报文,因此接收完所有数据报文后控制单元立刻通知其数据传输单元开始转发数据报文给节点C并接收ACK报文回复。
图4所示节点的唤醒时间小于数据报文传输时间情况,节点B发送的第6个RTS报文被节点C收到,因唤醒时间长,节点B的数据传输单元先接收完所有节点A发送的数据报文,转入休眠状态,然后收到CTS报文回复,控制单元再通知其数据传输单元开始转发数据报文给节点C并接收ACK报文回复。转发完所有数据报文并接收到相应的ACK报文后,节点B的数据传输单元也回到休眠状态;
第7步,节点C进行CTS报文回复后,其处理流程参考节点B在第4步、第5步、第6步的处理进行同样的流程操作;
第8步,节点D的监听/唤醒单元在监听状态下收到节点C发送的RTS报文,将目的地址信息传给控制单元后,控制单元判断自己为目的节点,只需要进行数据报文接收操作,不用转发。因此节点D的数据传输单元在接收完节点C发出的所有数据报文并回复ACK报文后,便回到休眠状态。节点A到节点D的数据报文发送至此结束。
为了比较本发明和专利号为CN201210318944的“一种无线传感器网络节能MAC的实现方法”的数据报文传输性能,在图5中展示出后者在同样的4个节点的无线传感器网络中节点A往节点D发送数据报文的情况,可以看出后者的数据报文传输时延为T1+(Tdata+T2)+(Tdata+T3)+Tdata。
在图3的所示的节点的唤醒时间大于数据报文传输时间情况下,基于IW-MAC协议实现的数据报文传输时延为T1+(Tdata)+(Tdata)+Tdata。
在图4的所示的节点的唤醒时间小于数据报文传输时间情况下,基于IW-MAC协议实现的数据报文传输时延为T1+(T2)+(T3)+Tdata,因此基于IW-MAC协议实现的数据报文传输时延在以上两种情况下数据报文传输时延均小于CN201210318944的数据报文传输时延。
上述T1、T2、T3分别为节点B、C、D的唤醒时间,T1、T2、T3大小是随机的,Tdata为每个节点发送所有数据报文并收到ACK报文的时间,大小是固定的,其大小与发送的数据报文量和数据报文分包数量有关。
推至更具有广泛性的情况,在无线传感器之间网络中节点1往节点N发送数据报文的情况,中间经过N-1次数据报文传输后,CN201210318944方案中的数据报文传输时延为T1+(Tdata+T2)+…+(Tdata+TN-1)+Tdata,而基于IW-MAC协议实现的数据报文传输时延,其数值在T1+(Tdata)+…+(Tdata)+Tdata和T1+(T2)+…+(TN-1)+Tdata之间,数据报文传输时延较小。因此相比现有,IW-MAC协议实现的数据报文传输性能更优。根据上述比较不难看出,本发明特别适合于数据报文传输间隔的随机时间很长,单次数据报文传输的量很大的无线传感器网络应用场合,在这种场合采用IW-MAC协议可以在保证传感器节点低功耗运行的情况下,获得较好的数据报文传输性能。
为了保证传感器节点中的监听/唤醒单元和数据传输单元各自独立工作不互相干扰,监听/唤醒单元采用和数据传输单元不同的频点,也可以使用其他方法,包括但不仅限于监听/唤醒单元采用红外线实现,采用超声波实现等等。
作为本发明的进一步改进,无线传感器节点模块所发送的RTS报文、CTS报文都包含有NAV(Network
Allocation Vector,网络分配矢量值),记录了对数据报文传输所需时间的估计,其他无关节点收到这些帧后即刻进入休眠状态并在数据报文传输完成后回复周期性监听/休眠状态。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。