CN107959968B - 一种高精度、低开销的无线传感器网络时钟同步方法 - Google Patents
一种高精度、低开销的无线传感器网络时钟同步方法 Download PDFInfo
- Publication number
- CN107959968B CN107959968B CN201711063161.5A CN201711063161A CN107959968B CN 107959968 B CN107959968 B CN 107959968B CN 201711063161 A CN201711063161 A CN 201711063161A CN 107959968 B CN107959968 B CN 107959968B
- Authority
- CN
- China
- Prior art keywords
- synchronization
- message sync
- synchronous
- node
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000000977 initiatory effect Effects 0.000 claims abstract description 85
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 230000001360 synchronised effect Effects 0.000 claims description 107
- 230000004044 response Effects 0.000 claims description 63
- 230000001960 triggered effect Effects 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 12
- IAZDPXIOMUYVGZ-UHFFFAOYSA-N Dimethylsulphoxide Chemical compound CS(C)=O IAZDPXIOMUYVGZ-UHFFFAOYSA-N 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 7
- 230000007246 mechanism Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000013078 crystal Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 102100028082 Tapasin Human genes 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 108010059434 tapasin Proteins 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013076 uncertainty analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/004—Synchronisation arrangements compensating for timing error of reception due to propagation delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供的方法通过引入SFD中断功能来消除发送时间延迟、访问时间延迟、接受处理时间延迟的影响,通过配置一致的消息长度和射频芯片的收发速率,来消除同步过程中的传输时间延迟、接受时间延迟,因此本发明提供的同步方法具有高精度同步的特点;在进行同步的时候只需要3条消息即可完成高精度的同步,其开销与现有技术相比得到了降低。本发明提供的方法基于无线通信信道的广播特性,在不增加任何消息的情况下就能够将1跳内的n个监听节点LR快速同步到同步发起节点S上。为提升同步精度,本发明的方法提出并计算了不同节点在同步发起节点S发起同步那一瞬间各角色节点对应的本地时钟,从而校准了参与同步的各个角色节点的起始时间。
Description
技术领域
本发明涉及无线传感器网络领域,更具体地,涉及一种高精度、低开销的无线传感器网络时钟同步方法。
背景技术
无线传感器网络WSN是由成千上万个被期待用于影响人们生活的传感器所组成的大规模的分布式系统。其潜在应用如下:
1)监测应用:非侵入式和侵入式的环境监测辅助生物学家去研究敏感的野生生物栖息地以及通过传感器监测病人身体状况。
2)智慧办公:由无线传感器组成的系统将成为智慧办公地点的一大关键部分。
3)军事应用:潜在的应用包括监督、目标攻击和用于传递信息到战斗中的每个士兵和机器的战场感知设备。
无线传感器网络分布式系统的一致性传感和控制主要依赖于时间同步这一基础中间件服务。除此之外,WSN其他的普通中间件服务如协调,通信,安全,能量管理以及分布式日志等也都需要全局时钟的存在。因此,时间同步被视为分布式系统的关键技术。
在无线传感器网络中,各个节点之间的时间是存在差异的,如图2中各个节点的时钟走向所示,其差异在短时间内由2大原因所导致:
1)节点之间开始计时时各个节点之间的本地起始时间的偏差,即偏移误差offset。
2)不同节点的晶振实际工作频率受周围环境如温度、湿度等变化的影响,与其出厂说明书的标准工作频率有所偏差,从而导致的时间误差,即漂移误差skew。
因此时钟同步算法主要围绕着偏移误差offset和漂移误差skew进行同步补偿。
若采取offset同步补偿机制,为了精准地提升时钟同步算法的精度,需要对无线同步消息传输过程中的不确定性进行详细的分析,然后制定出能够避免这些不确定性延迟的策略。不妨对图1中的第N次周期同步的所有时间延迟组成部分进行详细分析。如图3所示,可以大致分为6大部分:
1)Sendtime:发送时间延迟,在发送端,用于组装packet和从应用层发起同步到达MAC层所花费的时间。花费的时间主要受操作系统的中断调用负载以及当前CPU的处理负载的影响,它的不确定性高达上百ms。
2)Access time:访问时间延迟,待发射时,发送端等待扫描信道是否空闲所等待的时间。很明显,Access time是这6个不确定性因素中最不确定的一个,它主要受当前信道的通信状况的影响。其误差可以最低为10ms,最高高达500多ms。
3)Transmission time:传输时间延迟,发送端逐比特发送完消息所花费的时间。它主要是受消息的长度以及射频发送速率所影响。
4)Propagation time:传播时间延迟,通过电磁场以二进制的形式将消息发送到接受端所花费的时间。在无线传感器网络中Propagation time是确定的,由同步节点之间的距离以及接近光速的通信速度所决定。其误差在ns级别。可以忽略不计。
5)Reception time:接受时间延迟,接受者接受消息所耗费时间。除了收发区别它与Transmission time是一样。主要受消息长度和接受者的接受速度影响。
6)Receive time:接受处理时间延迟,接受者接受到消息后,将消息从MAC层逐层处理并传递到APP层所花费的时间。
结合图1中的角色节点S与角色节点R的双向同步机制以及图3对同步消息传输过程中的不确定性分析,可得到下面的两条公式:
ΔN S->R+TN S->R2=TN S->R1+DN S->R1+δN S->R1 (1)
TN R→S4=ΔN R→S+TN R→S3+DN R→S2+δN R→S2 (2)
上述方案中,N表示第N次时间同步周期;DN S→R1表示从角色S发起并逐层组建同步请求SYNC_REQ到角色R接受并处理SYNC_REQ所耗费的时延。DN R→S2表示从角色R发起并逐层组建同步响应SYNC_RSP到角色S接受并处理SYNC_RSP所耗费的时延。δN S→R1表示从角色S发起并逐层组建同步请求SYNC_REQ到角色R接受并处理SYNC_REQ这个过程中晶振变化所带来的时延。δN R→S2表示从角色R发起并逐层组建同步请求SYNC_RSP到角色S接受并处理SYNC_RSP这个过程中晶振变化所带来的时延。ΔN S→R表示角色S和角色R之间的时钟偏移量offset。TN S→R1和TN S→R2分别表示角色S节点往角色R节点发起同步请求消息SYNC_RSP在这两个节点记录下的时钟值。TN R→S3和TN R→S4分别表示角色R节点响应角色S节点的消息SYNC_RSP,在这两个节点记录下的时钟值。
由公式(1)和公式(2)整理可得:
同理依据图2中角色节点S与角色节点LR的同步机制,可得到下面公式:
RL1:ΔN S→LR1+TN S→LR12=TN S→R1+DN S→LR11+δN S→LR11 (4)
RL2:ΔN S→LR2+TN S→LR22=TN S→R1+DN S→LR21+δN S→LR21 (5)
RLn:ΔN S→LRn+TN S→LRn2=TN S→R1+DN S→LRn1+δN S→LRn1 (6)
其中依据图3的同步消息传输过程中的不确定性模型可知,任何DN S→LRn1,DN S->R1和DN R→S2都可以用下面的公式表示:
由公式(1)和公式(6)可以得到:
ΔN S→LRn=(TN S→R2-TN S→LRn2)+(DN S→LRn1-DN S→R1)+ΔN S->R (8)
由公式(8)易知角色节点S与节点R的时钟偏差ΔN S->R的精度决定了角色节点LRs与角色节点S的时钟偏差ΔN S→LRn精度,而公式(7)的DN S→Rk中不确定时间延迟因素如果在同步过程可以补偿或直接消除,则时钟同步的同步精度就可以得到较大的提升。
随着越来越多研究人员对无线传感器网络时钟同步的时钟精度和能耗等难题的关注和研究的深入,各种各样的时钟同步算法也都被提出来。而这些算法都是基于offset补偿机制来完成时钟同步。
同步算法可以分为集中式同步算法和分布式同步算法2大类。其中集中式同步算法的研究和实践比较早而且较为成熟,若从同步机制原理来看集中式同步算法可以分为接受者-接受者同步算法和发送者-接受者同步算法这2种主要算法机制。若从同步的方向来看,可以分为单向同步算法和双向同步算法。
作为接受者-接受者时钟同步机制的典型代表RBS,该算法广播1条参考信息给其广播域中的接受节点,接受节点接收到参考消息后各自记录消息到达时的本地时钟并彼此交换时钟值,其最大特点就是剔除掉发送节点端的非确定性时间延迟,即图3中的时间延迟1),2),3),4)。然而由于接受节点是在其应用层APL上获取本地时间戳的,因此如图4所示,同步误差引进了接受时间延迟,接受处理时间延迟。
作为发送者-接受者同步算法中的典型代表有TPSN。其中TPSN算法主要分为2个阶段。第一阶段是在全网内建立类似于BFS的树形拓扑结构。第二阶段,全网从root节点开始递层进行时钟同步。每一层已经同步的节点又可以作为下一层节点的reference node。TPSN是在其MAC层上获取时间戳,其同步误差分析图如图5所示,同步误差引进了传输时间误差和接受时间延迟以及传播时间延迟。
综上分析,目前存在的时钟同步机制无法有效补偿或消除时钟同步过程中的时间延迟。
发明内容
本发明为解决以上现有技术不能有效补偿或消除时钟同步过程中时间延迟影响的缺陷,提供了一种能够消除同步过程中的发送时间延迟、访问时间延迟、传输时间延迟、接收时间延迟、接受处理时间延迟影响的高精度、低开销的无线传感器网络时钟同步方法。
为实现以上发明目的,采用的技术方案是:
一种高精度、低开销的无线传感器网络时钟同步方法,包括以下步骤:
S1.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S2.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S3.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;
S4.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S5.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S6.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S7.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S->R2;
S8.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S9.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R;
S10.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟。
上述方案中,由于采用了SFD中断功能,消除了发送时间延迟、访问时间延迟、接受处理时间延迟的影响,且无线传感器网络的通信范围在几百米内,而消息是以电磁波形式传播的,速率达到光速,因此其传播延时约等于0,即同步发起节点S若发送同步消息,同步接受节点R立即接受;而传输时间延迟、接受时间延迟主要受消息长度和射频芯片发送速率的影响,在这里只需要使同步请求消息和响应消息的长度及射频芯片的发送速率一致即可。
优选地,若无线传感器网络中还包括有一跳范围内的监听节点LR需要进行时钟同步,则时钟同步方法具体包括有以下步骤:
S11.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S12.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S13.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;监听节点LR逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取监听节点LR当前定时器T2的时钟值TN S→LRn2;
S14.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S15.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S16.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S17.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S-> R2;
S18.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S19.同步发起节点S依据公式ΔN S→LRn=(TN S→R2-TN S→LRn2)+ΔN S->R计算同步发起节点S与监听节点LR之间的时钟偏差ΔN S→LRn;
S20.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R、ΔN S→LRn和TN S→R2;
S21.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟;监听节点接收并解析消息SYNC_NOTIFY中的ΔN S→LRn和TN S→R2,然后根据ΔN S→LRn和TN S→R2同步其时钟。
与现有技术相比,本发明的有益效果是:
本发明提供的方法通过引入SFD中断功能来消除发送时间延迟、访问时间延迟、接受处理时间延迟的影响,同时通过配置一致的消息长度和射频芯片的收发速率,来消除同步过程中的传输时间延迟、接受时间延迟,因此本发明提供的同步方法具有高精度同步的特点;并且,在进行同步的时候只需要3条消息即可完成高精度的同步,其开销与现有技术相比得到了降低。本发明提供的方法基于无线通信信道的广播特性,在不增加任何消息的情况下就能够将1跳内的n(n<255)个监听节点LR快速同步到同步发起节点S上。为进一步提升同步精度,本发明的方法又从理论上提出并计算了不同节点在同步发起节点S发起同步那一瞬间各角色节点对应的本地时钟,从而校准了参与同步的各个角色节点的起始时间。
附图说明
图1为角色节点S与角色节点R的双向同步交互细节图。
图2为One-Hop范围内的同步机制模型图。
图3为同步消息传输过程中的不确定性模型图。
图4为接受者-接受者时钟同步消息传输过程中的不确定性模型图。
图5为发送者-接受者时钟同步消息传输过程中的不确定性模型图。
图6为本发明提供的方法的时钟同步消息传输过程中的不确定性模型图。
图7为One-Hop的同步实验场景模型图。
图8为同步实验测试结果图。
图9为一跳范围内,节点们的同步误差图。
图10为一跳范围内,节点们的同步误差分布图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
如图6所示,本发明提供的方法具体包括以下步骤:
S1.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S2.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S3.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;
S4.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S5.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S6.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S7.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S->R2;
S8.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S9.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R;
S10.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟。
上述方案中,由于采用了SFD中断功能,消除了发送时间延迟、访问时间延迟、接受处理时间延迟的影响,且无线传感器网络的通信范围在几百米内,而消息是以电磁波形式传播的,速率达到光速,因此其传播延时约等于0,即同步发起节点S若发送同步消息,同步接受节点R立即接受;而传输时间延迟、接受时间延迟主要受消息长度和射频芯片发送速率的影响,在这里只需要使同步请求消息和响应消息的长度及射频芯片的发送速率一致即可。
实施例2
若无线传感器网络中还包括有一跳范围内的监听节点LR需要进行时钟同步,则利用以下同步机制进行同步:
S11.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S12.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S13.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;监听节点LR逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取监听节点LR当前定时器T2的时钟值TN S→LRn2;
S14.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S15.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S16.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S17.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S-> R2;
S18.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S19.同步发起节点S依据公式ΔN S→LRn=(TN S→R2-TN S→LRn2)+ΔN S->R计算同步发起节点S与监听节点LR之间的时钟偏差ΔN S→LRn;
S20.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R、ΔN S→LRn和TN S→R2;
S21.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟;监听节点接收并解析消息SYNC_NOTIFY中的ΔN S→LRn和TN S→R2,然后根据ΔN S→LRn和TN S→R2同步其时钟。
实施例3
本实施例对实施例2的方法进行了实验测试,实验测试中采用了基于CC2530芯片的无线ZigBee2007/PRO模块的网络节点。在一跳范围内,使用了表I的参数配置实验的网络硬件节点。
表1
其实验场景设计如图7所示。位于图中间的同步网络节点为发起角色节点S,其功能是作为该One-Hop WSN的协调器。其中的一个网络节点为接受角色节点R,其功能为发起角色节点S广播范围内的路由节点;其它的4个节点为监听节点,分别记为LR1~4。发起角色节点S通过串口线将数据传送到本地终端机,并通过终端机将数据存于数据库中。
实验结果如图8、9、10所示,实验结果论证了本方案的可行性和可靠性,发起角色节点S和接受角色节点R的同步精度达到了0~2个绝对晶振周期(0~62.50纳秒),发起角色节点S和其他监听节点LR的同步精度达到了0~5个绝对晶振周期(0~156.25纳秒)的同步效果。同步的精度与现有技术相比得到了提高。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (1)
1.一种高精度、低开销的无线传感器网络时钟同步方法,其特征在于:包括以下步骤:
S1.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S2.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S3.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;
S4.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S5.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S6.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S7.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S->R2;
S8.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S9.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R;
S10.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟;
若无线传感器网络中还包括有一跳范围内的监听节点LR需要进行时钟同步,则时钟同步方法具体包括有以下步骤:
S11.同步发起节点S在发起时钟同步前,在其应用层APL的内存上动态分配长度为N个字节的内存空间用于存储同步请求消息SYNC_REQ;
S12.同步发起节点S从应用层APL开始逐层组建封装同步请求消息SYNC_REQ;当同步请求消息SYNC_REQ到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送同步请求消息SYNC_REQ;当射频芯片发送到同步请求消息SYNC_REQ的SFD末位时,触发SFD中断服务并在中断服务中捕获同步发起节点S的MAC层上的定时器T2的时钟值TN S->R1;
S13.同步接受节点R逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取同步接受节点R当前定时器T2的时钟值TN S->R2;监听节点LR逐Bit接受同步请求消息SYNC_REQ,当接收到同步请求消息SYNC_REQ的SFD末位时,触发中断服务并在中断服务中获取监听节点LR当前定时器T2的时钟值TN S→ LRn2;
S14.同步接受节点R接收并处理完同步请求消息SYNC_REQ后,在其应用层上动态分配长度为(N-5)的内存空间用于存储TN S->R2;
S15.同步接受节点R在应用层APL上将TN S->R2封装成响应消息SYNC_RSP,当响应消息SYNC_RSP到达射频芯片的TXFIFO时,射频芯片开始逐Bit发送响应消息SYNC_RSP;当射频芯片发送到响应消息SYNC_RSP的SFD末位时,触发SFD中断服务并在中断服务中捕获同步接受节点R的MAC层上的定时器T2的时钟值TN R->S3,将TN R->S3封装在响应消息SYNC_RSP的后5个字节中,然后通过射频芯片进行发送;
S16.同步发起节点S逐Bit接受响应消息SYNC_RSP,当接收到响应消息SYNC_RSP的SFD末位时,触发中断服务并在中断服务中获取同步发起节点S的MAC层上的定时器T2的时钟值TN R->S4;
S17.同步发起节点S接收并解析处理完响应消息SYNC_RSP后,得到TN R->S3和TN S->R2;
S18.同步发起节点S计算同步发起节点S与同步接受节点R之间的时钟偏差ΔN S->R:
S19.同步发起节点S依据公式ΔN S→LRn=(TN S→R2-TN S→LRn2)+ΔN S->R计算同步发起节点S与监听节点LR之间的时钟偏差ΔN S→LRn;
S20.同步发起节点S广播消息SYNC_NOTIFY,消息SYNC_NOTIFY包含有ΔN S->R、ΔN S→LRn和TN S→R2;
S21.同步接受节点R接收并解析消息SYNC_NOTIFY中的ΔN S->R,然后根据ΔN S->R同步其时钟;监听节点接收并解析消息SYNC_NOTIFY中的ΔN S→LRn和TN S→R2,然后根据ΔN S→LRn和TN S→ R2同步其时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711063161.5A CN107959968B (zh) | 2017-11-02 | 2017-11-02 | 一种高精度、低开销的无线传感器网络时钟同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711063161.5A CN107959968B (zh) | 2017-11-02 | 2017-11-02 | 一种高精度、低开销的无线传感器网络时钟同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107959968A CN107959968A (zh) | 2018-04-24 |
CN107959968B true CN107959968B (zh) | 2021-02-02 |
Family
ID=61964253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711063161.5A Active CN107959968B (zh) | 2017-11-02 | 2017-11-02 | 一种高精度、低开销的无线传感器网络时钟同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107959968B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632989B (zh) * | 2018-05-15 | 2020-09-22 | 中山大学 | 一种无线传感器网络一致性分布式时间同步方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335587A (zh) * | 2008-07-23 | 2008-12-31 | 重庆邮电大学 | 工业无线网络的精确时间同步方法 |
CN101523829A (zh) * | 2006-10-12 | 2009-09-02 | 皇家飞利浦电子股份有限公司 | 用于传感器网络中的时间同步的方法和系统 |
CN101582733A (zh) * | 2009-06-18 | 2009-11-18 | 中兴通讯股份有限公司 | 一种在sdh设备之间实现高精度时间同步的方法和系统 |
CN102299788A (zh) * | 2011-09-21 | 2011-12-28 | 烽火通信科技股份有限公司 | 自动发送ieee1588协议报文的控制方法及装置 |
CN104837197A (zh) * | 2015-04-14 | 2015-08-12 | 中山大学 | 一种无线传感网络双向时间同步方法 |
CN104918319A (zh) * | 2014-03-13 | 2015-09-16 | 北方工业大学 | 一种应用于无线传感器网络的时钟同步精简信息交互方法 |
US9332514B2 (en) * | 2013-01-21 | 2016-05-03 | Qualcomm Incorporated | Method and system for initial signal acquisition in multipath fading channel conditions |
CN106992829A (zh) * | 2017-03-10 | 2017-07-28 | 国网上海市电力公司 | 一种基于sfd捕获机制的泛洪式时间同步方法 |
-
2017
- 2017-11-02 CN CN201711063161.5A patent/CN107959968B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523829A (zh) * | 2006-10-12 | 2009-09-02 | 皇家飞利浦电子股份有限公司 | 用于传感器网络中的时间同步的方法和系统 |
CN101335587A (zh) * | 2008-07-23 | 2008-12-31 | 重庆邮电大学 | 工业无线网络的精确时间同步方法 |
CN101582733A (zh) * | 2009-06-18 | 2009-11-18 | 中兴通讯股份有限公司 | 一种在sdh设备之间实现高精度时间同步的方法和系统 |
CN102299788A (zh) * | 2011-09-21 | 2011-12-28 | 烽火通信科技股份有限公司 | 自动发送ieee1588协议报文的控制方法及装置 |
US9332514B2 (en) * | 2013-01-21 | 2016-05-03 | Qualcomm Incorporated | Method and system for initial signal acquisition in multipath fading channel conditions |
CN104918319A (zh) * | 2014-03-13 | 2015-09-16 | 北方工业大学 | 一种应用于无线传感器网络的时钟同步精简信息交互方法 |
CN104837197A (zh) * | 2015-04-14 | 2015-08-12 | 中山大学 | 一种无线传感网络双向时间同步方法 |
CN106992829A (zh) * | 2017-03-10 | 2017-07-28 | 国网上海市电力公司 | 一种基于sfd捕获机制的泛洪式时间同步方法 |
Non-Patent Citations (1)
Title |
---|
"无线传感器网络高精度时间同步机制";庄祎梦等;《信息技术》;20171025;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107959968A (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100034191A1 (en) | Method and system for time synchronization in a sensor network | |
Yoon et al. | Tiny-sync: Tight time synchronization for wireless sensor networks | |
US9226252B2 (en) | Recursive time synchronization protocol method for wireless sensor networks | |
CN104507156B (zh) | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 | |
Gong et al. | CESP: A low-power high-accuracy time synchronization protocol | |
US10862602B2 (en) | Time synchronization method, sensor data acquisition terminal, and sensor network system | |
Dian et al. | A study in accuracy of time synchronization of BLE devices using connection-based event | |
CN104053223A (zh) | 一种低功耗无线传感器网络时间同步方法 | |
Resner et al. | Speculative Precision Time Protocol: submicrosecond clock synchronization for the IoT | |
Chen et al. | An implementation of IEEE 1588 protocol for IEEE 802.11 WLAN | |
Kaur et al. | A survey of time synchronization protocols for wireless sensor networks | |
CN104836654B (zh) | 一种基于Ethernet POWERLINK的时钟同步方法 | |
Wobschall et al. | Synchronization of wireless sensor networks using a modified IEEE 1588 protocol | |
CN103596261B (zh) | 一种车辆检测系统的时钟同步方法 | |
CN107959968B (zh) | 一种高精度、低开销的无线传感器网络时钟同步方法 | |
CN103957591A (zh) | 基于节点对的无线传感网络时间同步方法 | |
CN115865246A (zh) | 时间同步装置、系统及方法 | |
Sun et al. | Distributed clock synchronization with application of D2D communication without infrastructure | |
Resner et al. | Tstp mac: A foundation for the trustful space-time protocol | |
Gautam et al. | A comparative study of time synchronization protocols in wireless sensor networks | |
Lv et al. | Simulation and performance analysis of the ieee1588 ptp with kalman filtering in multi-hop wireless sensor networks | |
Bae et al. | Time synchronization in wireless sensor networks | |
Wang et al. | Slot time synchronization for TDMA-based ad hoc networks | |
Zou et al. | A time synchronization method for wireless sensor networks | |
Derogarian et al. | A time synchronization circuit with an average 4.6 ns one-hop skew for wired wearable networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |