基于Zstack协议栈的WSN网络时间同步方法

文档序号:8398627阅读:895来源:国知局
基于Zstack协议栈的WSN网络时间同步方法
【技术领域】
[0001]本发明涉及一种时间同步方法,尤其是一种基于Zstack协议栈的WSN网络时间同步方法,属于无线通信的技术领域。
【背景技术】
[0002]Zstack协议栈是一种符合Zigbee通信协议的协议栈,在该协议栈中,无线网络中的设备分为三种:协调器、路由节点和终端节点,这三种节点均具备实时时钟功能。其中,协调器和路由节点属于非睡眠节点,具备实时通信功能,并能在网络中作为终端节点的父节点;而终端节点属于睡眠节点,即处于间歇性工作模式,不具备实时通信功能。
[0003]由于处于睡眠状态下的终端节点无法实时接收无线数据,如无法实时接收来自协调器的网络对时信令,因此终端节点与网络内其它节点之间的时间一致性较差。终端节点在经过一段固定的休眠时间后会被自动唤醒,并与其所在网络中的父节点进行一次数据交互,其父节点会将该终端节点在睡眠期间未能接收到的网络数据进行缓存,并在此时转发给终端节点,如此该数据的网络实时性就较差。
[0004]Zigbee网络中,协调器向节点发送对时信令过程中产生的时间误差主要来自于节点休眠特性导致的延时及链路传输过程中的延时,即时间误差=节点休眠特性导致的延时+链路传输过程中的延时。其中,链路传输过程中的延时取决于客观的链路载体和开发人员的具体实现方式,目前在任一网络对时过程中均存在。
[0005]在Zstack协议栈中,终端节点的睡眠时间默认配置为ls,即决定了在该配置下,无线网络中各睡眠节点之间、睡眠节点与非睡眠节点之间的网络时间误差均在Is左右。
[0006]无线网络的时间一致性与网络性能密切相关,时间一致性越差则网络中各节点的无线通信冲突现象会越多,进而造成网络堵塞,增大网络的额外开销,通常为了防止时间一致性带来的网络冲突现象,采用增大网络中各节点的通信时隙方法,如此会牺牲网络时隙资源,间接限制了网络规模。

【发明内容】

[0007]本发明的目的是克服现有技术中存在的不足,提供一种基于Zstack协议栈的WSN网络时间同步方法,其能降低Zstack协议栈中睡眠节点与网络的时间误差,提高整个无线网络的时间一致性,进而提高WSN无线网络的整体性能。
[0008]按照本发明提供的技术方案,所述基于Zstack协议栈的WSN网络时间同步方法,通过协调器周期性地广播一条时间同步数据,在Zstack协议栈中,将广播时间同步数据的目的地址设定为非睡眠节点,且在时间同步数据发送前,设置WSN网络中睡眠节点的工作状态,以使得睡眠节点能实时接收广播的时间同步数据;在睡眠节点接收时间同步数据且根据时间同步数据对时后,恢复睡眠节点的状态。
[0009]在WSN网络中,将睡眠节点的射频功能置位实时接收,且设置睡眠节点的广播接收滤波,以使得睡眠节点能实时接收广播的时间同步数据。
[0010]在Zstack协议栈中,将广播时间同步数据的目的地址设定为OxFFFD。
[0011]本发明的优点:可使WSN网络中的睡眠节点与非睡眠节点具有相同的时间一致性,理论上达到网络时间同步性能最优,且时间误差与睡眠节点的睡眠间隔无关。即在zigbee网络中,协调器向节点发送对时信令过程中产生的时间误差得到优化,取消了来自节点休眠特性导致的延时,仅取决于链路传输过程中产生的延时,即时间误差=链路传输过程中的延时,提高WSN无线网络的整体性能。
【附图说明】
[0012]图1为本发明的流程图。
【具体实施方式】
[0013]下面结合具体附图和实施例对本发明作进一步说明。
[0014]如图1所示:为了能降低Zstack协议栈中睡眠节点与网络的时间误差,提高整个无线网络的时间一致性,进而提高WSN无线网络的整体性能,本发明的时间同步方法具体包括:通过协调器周期性地广播一条时间同步数据,在Zstack协议栈中,将广播时间同步数据的目的地址设定为非睡眠节点,且在时间同步数据发送前,设置WSN网络中睡眠节点的工作状态,以使得睡眠节点能实时接收广播的时间同步数据;在睡眠节点接收时间同步数据且根据时间同步数据对时后,恢复睡眠节点的状态。
[0015]具体地,为了能使得协调器广播的时间同步数据的目的地址为非睡眠节点,在Zstack协议栈中,将广播时间同步数据的目的地址设定为OxFFFD。在WSN网络中,可以根据具体的应用需要事先约定协调器周期性广播时间同步数据的具体时刻,即协调器周期性地广播时间同步数据的时刻对于非睡眠节点以及睡眠节点均为已知,协调器广播时间同步数据的周期一般可以通过WSN网络中节点的本地实时时钟精度来确定,通常一个广播周期内节点的本地实时时钟偏差不超过100ms。
[0016]睡眠节点在首次上电之后,由于尚未进行网络对时,因此可选择直接进入被动等待接收广播的时间同步数据的状态,或者进行一次主动要求协调器实时发送一次广播的时间同步数据,之后立即进入接收广播的时间同步数据的状态;睡眠节点根据接收的时间同步数据在成功进行网络对时之后,在下一次网络对时之前,提前至少10ms进入准备接收广播的时间同步数据的状态。
[0017]在具体实施时,在Zstack协议栈中,通过函数macRxEnable打开射频接收开关,同时在Zstack协议栈中禁止macRxDisable函数被调用,并通过以下函数操作关闭睡眠节点的轮询功能 NLME_SetPolIRate ( O ),NLME_SetQueuedPolIRate ( O ),NLME_SetResponseRate ( O ),通过上述的设置,能使得WSN网络中睡眠节点的工作状态为实时接收状态。
[0018]将睡眠节点的属性ZD0_Config_Node_Descriptor.CapabilityFlags 临时修改为CAPINF0_RCVR_0N_IDLE,并调用NLME_SetBroadcastFilter函数重新设置睡眠节点的广播接收滤波设置,由此可使得睡眠节点可以接收到广播的时间同步数据,即睡眠节点可以接收到协调器发送给非睡眠节点的广播的实时时间同步数据。
[0019]本发明实施例中,在睡眠节点根据接收的时间同步数据进行时间同步后,恢复睡眠节点的状态至广播对时之前,即若睡眠节点在对时之前处于休眠状态,则将对时后睡眠节点的状态重新恢复为睡眠状态;若睡眠节点在对时之前处于唤醒状态,则将对时后睡眠节点的状态重新恢复为唤醒状态。睡眠节点在接收到协调器广播的时间同步数据后,具体进行时间同步的过程与现有技术中时间同步的过程相一致,具体为本技术领域人员所熟知,此处不再赘述。
[0020]本发明可使WSN网络中的睡眠节点与非睡眠节点具有相同的时间一致性,理论上达到网络时间同步性能最优,且时间误差与睡眠节点的睡眠间隔无关。即在zigbee网络中,协调器向节点发送对时信令过程中产生的时间误差得到优化,取消了来自节点休眠特性导致的延时,仅取决于链路传输过程中产生的延时,即时间误差=链路传输过程中的延时,提高WSN无线网络的整体性能。
【主权项】
1.一种基于Zstack协议栈的WSN网络时间同步方法,其特征是:通过协调器周期性地广播一条时间同步数据,在Zstack协议栈中,将广播时间同步数据的目的地址设定为非睡眠节点,且在时间同步数据发送前,设置WSN网络中睡眠节点的工作状态,以使得睡眠节点能实时接收广播的时间同步数据;在睡眠节点接收时间同步数据且根据时间同步数据对时后,恢复睡眠节点的状态。
2.根据权利要求1所述的基于Zstack协议栈的WSN网络时间同步方法,其特征是:在WSN网络中,将睡眠节点的射频功能置位实时接收,且设置睡眠节点的广播接收滤波,以使得睡眠节点能实时接收广播的时间同步数据。
3.根据权利要求1所述的基于Zstack协议栈的WSN网络时间同步方法,其特征是:在Zstack协议栈中,将广播时间同步数据的目的地址设定为OxFFFD。
【专利摘要】本发明涉及一种时间同步方法,尤其是一种基于Zstack协议栈的WSN网络时间同步方法,属于无线通信的技术领域。按照本发明提供的技术方案,所述基于Zstack协议栈的WSN网络时间同步方法,通过协调器周期性地广播一条时间同步数据,在Zstack协议栈中,将广播时间同步数据的目的地址设定为非睡眠节点,且在时间同步数据发送前,设置WSN网络中睡眠节点的工作状态,以使得睡眠节点能实时接收广播的时间同步数据;在睡眠节点接收时间同步数据且根据时间同步数据对时后,恢复睡眠节点的状态。本发明能降低Zstack协议栈中睡眠节点与网络的时间误差,提高整个无线网络的时间一致性,进而提高WSN无线网络的整体性能。
【IPC分类】H04W84-18, H04W56-00
【公开号】CN104717739
【申请号】CN201510155948
【发明人】李宁, 朱平, 邓天旗, 唐勇
【申请人】江苏省无线电科学研究所有限公司
【公开日】2015年6月17日
【申请日】2015年4月2日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1