一种WIA-PA网络中簇内节点间监听式时钟同步的方法
技术领域
本发明属于无线网络通信技术领域,尤其涉及WIA-PA网络中的一种时钟同步方法。
背景技术
工业无线网络WIA-PA规范是中国无线工业联盟推出的一个具有自主知识产权技术规范。采用星型网和网状网络结构相结合的两层网络拓扑结构,其中第一层为网状结构,由网关和路由器组成;第二层为星型结构,主要由路由器和终端设备组成,路由器为星型网的簇首,终端设备为簇内成员。WIA-PA的数据链路层支持基于时隙的跳频机制、重传机制、TDMA和CSMA混合信道访问机制,保证了传输的可靠性和实时性,WIA-PA的密钥信息保证了网络的安全性。
在无线传感器网络时间同步方法中,根据在时间同步过程中所使用时间信息的记录方式不同,可以分为三类算法:基于单方向的同步算法、基于接收方-接收方的同步算法、基于报文信息交换的同步算法。基于单方向的同步算法主要有DMTS算法、FTSP算法,基于接收方-接收方的同步算法主要是指RBS算法,基于报文信息交换的算法主要有TPSN算法、Mini-sync算法和Tiny-sync算法。WIA-PA网络规定的标准时间同步方法包括:信标帧时间同步机制和命令帧时间同步机制。当节点应用需求精度低于支持时隙通信的时间同步精度时,由于节点晶振本身的偏移,会造成各节点的本地时间不完全同步,簇首通过广播信标帧即可满足通信所需时间同步精度,到达整个网络的时间同步;当应用所需的时间同步精度高于维持系统运行的时间同步精度时,信标帧提供的系统时间精度不能满足节点应用的时间同步需求,可以通过WIA-PA协议专门设计的时间同步命令帧进行时间同步。
目前WIA-PA网络时间同步机制存在的主要问题主要有:第一,命令帧时间同步是解决较高时间精度节点同步的一个有效策略,但是当簇内存在多个较高应用精度需求节点时,簇首需要发送的时间同步命令帧数量急剧地增长,大大消耗了能量和通信资源,同时电池供电的资源受限传感器子节点不足以支撑频繁地发送和接收命令帧(在节点收发报文时,射频消耗的能量占比最大,特别是对于网络中能量受限的节点能量的节约十分关键)。第二,WIA-PA标准中并没有统一认知和标准的监听属性信息的表示形式,另外也没有设计专门的时间同步监听请求帧和监听请求响应帧。
发明内容
针对现有技术的不足,提出了一种减少簇首发送时间同步命令帧的个数,使得簇内所需发送的时间同步命令帧最小,达到全局最优,尽可能地减少时间同步相关报文的发送数量,减少资源的消耗,节省资源受限传感器节点的能量。的WIA-PA网络中簇内节点间监听式时钟同步的方法,本发明的技术方案如下:一种WIA-PA网络中簇内节点间监听式时钟同步的方法,WIA-PA网络中节点Q为时间源节点且作为簇首,节点P1,P2,...,Pk为待同步节点,该时钟同步的方法包括以下步骤:
101、节点Pi(1≤i≤k)获取节点本身的应用时间需求精度并赋值给变量yi,并获取节点本身的晶振漂移率并赋值给变量xi,利用公式求得节点Pi的命令帧时间同步周期Ti,并将其携带在发送给簇首Q的时间同步命令请求帧中;
102、簇首Q接收时间同步命令请求帧,获得各节点的时间同步命令请求帧时间同步周期T1,T2,...,Tk,利用公式Tm=min{T1,T2,...,Tk}得出所需最小发送周期的节点为Pm且其发送周期节点为Tm;
103、簇首Q构造时间同步命令帧,并将时间同步命令帧发送给节点Pm,节点Pm收到时间同步命令帧后,获取其中携带的簇首Q的时间信息并用其更新自己的时间;
104、非最小周期节点Pj(1≤j≤k,j≠m)通过向簇首Q发送时间同步监听请求帧,请求获取所需最小发送周期的节点Pm的超帧表、LINK表和密钥,并根据最小发送周期的节点Pm的超帧表、LINK表和密钥监听节点Pm与簇首Q之间的时间同步命令帧,并根据时间同步命令帧的信息更新非最小周期节点Pj(1≤j≤k,j≠m)的时间。
进一步的,步骤104具体包括以下步骤:
B41、非最小周期节点Pj对WIA-PA的网络层命令请求帧格式进行扩展,构造时间同步监听请求帧,设置命令标识符为28,属性标识符为109,申请获取最小周期节点Pm的超帧表、LINK表和密钥,然后将该时间同步监听请求帧发送给簇首Q;
B42、簇首Q收到节点Pj的时间同步监听请求帧后,构造相应的时间同步监听响应帧,设置命令标识符为29,属性标识符为109,然后将节点Pm的超帧表、LINK表和密钥值回复给节点Pm;
B43、节点Pj接收簇首Q发送的时间同步监听响应帧,获取节点Pm的超帧表、LINK表和密钥,节点Pj利用节点Pm的超帧表、密钥以及LINK表中的相对时隙号、信道编号和设备ID,监听节点Pm和簇首之间的命令帧同步过程;
B44、当节点Pm与簇首Q进行命令帧时间同步时,非最小周期节点Pj(1≤j≤k,j≠m)监听其时间同步过程,获得其中的时间信息进行自身本地时钟的更新。
进一步的,步骤B41中的时间同步监听请求帧格式包括6个部分:网络层包头,14/16字节;命令标识符,取值为28;属性标识符,扩展为109;属性成员标识符,1字节;LINK表、超帧表和密钥的第一个存储索引、属性数目。
进一步的,步骤42中的时间同步监听响应帧格式包括8个部分:网络层包头,14/16字节;命令标识符,取值为29;执行结果,1字节;属性标识符,取值为109;属性成员标识符,1字节;LINK表、超帧表和密钥的第一个存储索引、属性数目、属性值。
进一步的,若同一簇首内存在两个及以上最小时间同步周期节点,簇首随机选择其中一个节点作为最小周期节点。
本发明的优点及有益效果如下:
1、本发明创新性地对WIA-PA网络层的相关帧格式进行扩展和设计,构造出时间同步监听请求帧和监听请求响应帧,通过时间同步监听请求帧和响应帧,传感器节点能够申请并获取被监听节点的超帧表、密钥以及LINK表中的相对时隙号、信道编号和设备ID,根据获得的此类信息对被监听节点的时间同步过程进行监听。使得传感器节点监听可以监听其他节点的同步信息,大大减少了电池供电的资源受限传感器节点发送时间同步请求帧消耗的能量。
2、本发明通过计算各节点命令帧时间同步周期找出最大命令帧同步频率(最小命令帧同步周期)节点,其余节点通过监听最小周期节点与时间源的命令帧时间同步,获取时间信息来更新自己的时间,最终实现全网同步,通过该方法簇首仅需要给最小同步周期节点发送时间同步命令帧,而不必给每个节点发送时间同步命令帧,大大减少了时间同步命令帧发送数量,节约整个网络的能量,并使得全网同步所需时间同步命令帧数量达到最小。
附图说明
图1是本发明优选实施例WIA-PA网络拓扑结构图;
图2是本发明优选实施例提供的时间同步监听请求帧图;
图3是本发明优选实施例提供的时间同步监听请求响应帧图;
图4是本发明优选实施例提供的监听式时间同步方法流程图。
具体实施方式
以下结合附图,对本发明作进一步说明:
本发明的核心思想是:WIA-PA网络中的待同步设备根据应用时间精度需求y和节点晶振漂移率x计算出时间同步命令帧的同步周期并将其携带在命令请求帧中发送给簇首,簇首找出最小同步周期的节点并与其进行命令帧时间同步,其余非最小周期节点则向簇首发送专门设计的时间同步监听请求帧,请求并获取最小周期节点Pm的超帧表、LINK表和密钥等属性,然后根据这些属性监听最小周期节点与簇首之间的命令帧同步,获取其中的时间信息用以更新自己的本地时间。
传感器节点的时间是由晶体振荡器的振荡来计算的,由于设备间晶体振荡器频率的不一致以及温度、湿度等外界因素,使得各节点间产生时间误差。假设网内节点的晶振漂移率为xppm,应用所需时间精度为y,根据两个节点的晶振在相反的方向上漂移得出节点的时间同步周期公式
假设节点Q为簇首,节点P1,P2,...,Pk为簇内待同步节点,节点Pi(1≤i≤k)利用公式求得时间同步命令帧周期Ti,并将其携带在时间同步命令请求帧中发送给簇首Q。簇首获得T1,T2,...,Ti,利用公式Tm=min{T1,T2,...,Tk}找出最小时间同步命令帧周期为Tm,节点为。
紧接着簇首Q与最小周期节点Pm进行命令帧时间同步。其余非最小周期节点Pj(1≤j≤k,j≠m)则向Q发送专门设计的时间同步监听请求帧,请求并获取最小周期节点Pm的超帧表、LINK表和密钥等属性;簇首Q收到该请求帧后,回复监听请求响应帧给节点Pj(1≤j≤k,j≠m),其中携带最小周期节点的超帧表、LINK表和密钥值;之后,节点Pj根据这些属性监听最小周期节点Pm与簇首Q之间的命令帧同步,获取其中的时间信息用以更新自己的本地时间。
为了使非最小周期节点能够获取簇首中的最小节点Pm的属性信息,网络中的申请监听者和被申请者对监听信息的表示形式应该有一个统一的认知和标准,所以簇首Q发出的监听属性信息应该有一个固定表达形式,我们可以通过扩展WIA-PA时间同步命令帧构造相应的时间同步监听请求帧和监听请求响应帧。
图1为本发明提供的时间同步监听请求帧格式。时间同步监听请求帧格式包括6个部分:时间同步监听请求帧格式包括6个部分:网络层包头,14/16字节;命令标识符,取值为28;属性标识符,扩展为109;属性成员标识符,1字节;LINK表、超帧表和密钥的第一个存储索引、属性数目。通过监听请求帧,非最小周期节点Pj申请获得最小周期节点Pm的超帧表、LINK表和密钥等属性值信息。
图2为本发明提供的时间同步监听请求响应帧格式。时间同步监听响应帧格式包括8个部分:网络层包头,14/16字节;命令标识符,取值为29;执行结果,1字节;属性标识符,取值为109;属性成员标识符,1字节;LINK表、超帧表和密钥的第一个存储索引、属性数目、属性值。簇首Q通过该帧将最小周期节点Pm的超帧表、密钥以及LINK表中的相对时隙号、信道编号和设备ID发送给相应的请求节点Pj。
表1针对网络监听式时间同步方法结果性能对比表
表2针对节点时间同步监听方法结果性能对比表
表1列出了采用本发明提出的簇内节点间的监听式时钟同步方法前后系统时间同步所需命令帧的数量。当不采用此方法的情况下,整个网络达到同步会消耗f1+f2+...+fi个命令帧;采取此方法后,整个网络达到同步所需命令帧个数仅为fm。
表2列出了采用此方法前后不同节点时间同步所需命令帧数量。当节点采用此方法后,虽然最小周期节点Pm所需命令帧不变,但是其余非最小周期所需数量为0,即这些节点会通过监听簇首Q与最小周期节点Pm间的命令帧时间同步,达到自身的时间同步。
实施例
基于上述本发明的原理,图4示出了本发明提供的WIA-PA网络中簇内节点间监听式时钟同步的方法实现流程图。
步骤401为设备节点i根据自身漂移率和应用所需精度求出其时间同步周期Ti。在步骤402中,节点i向簇头发送携带各节点时间周期Ti的时间同步命令请求帧。在步骤403中簇首接收来自节点的时间同步命令请求帧,并在步骤404中判断该节点是否为最小周期,若步骤404为是,则在步骤405中发送时间同步命令帧至节点i,节点i在步骤406中判断是否接受时间同步命令帧,若步骤406为是,则最小周期节点接收到来自簇首的时间同步命令帧进行本地时钟的更新。若步骤406为否,则非最小周期节点向簇首发送时间同步监听请求帧,在步骤409、410中,簇首接收到时间同步监听请求帧,并根据请求帧中的请求信息构造时间同步监听请求响应帧,在帧中携带请求节点所请求的最小周期节点Pm的超帧表、LINK表和密钥等属性值信息并发送至非最小周期节点。在步骤411中,并在412步骤中,各节点获取帧中的具体信息,包括最小周期节点的设备ID、相对时隙号、密钥等信息,并对最小周期节点进行监听以更新自身本地时钟达到时间同步。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。