CN110519839B - 一种无线局域网时间同步方法 - Google Patents
一种无线局域网时间同步方法 Download PDFInfo
- Publication number
- CN110519839B CN110519839B CN201910794213.9A CN201910794213A CN110519839B CN 110519839 B CN110519839 B CN 110519839B CN 201910794213 A CN201910794213 A CN 201910794213A CN 110519839 B CN110519839 B CN 110519839B
- Authority
- CN
- China
- Prior art keywords
- time
- compression
- node
- synchronous
- packet
- 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 39
- 230000006835 compression Effects 0.000 claims abstract description 312
- 238000007906 compression Methods 0.000 claims abstract description 312
- 230000001360 synchronised effect Effects 0.000 claims abstract description 213
- 238000012937 correction Methods 0.000 claims abstract description 49
- 238000012544 monitoring process Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000007711 solidification Methods 0.000 claims description 66
- 230000008023 solidification Effects 0.000 claims description 66
- 238000004364 calculation method Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 14
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000002441 reversible effect Effects 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 238000005304 joining Methods 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/0055—Synchronisation arrangements determining timing error of reception due to propagation delay
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种无线局域网时间同步方法,该方法基于星型拓扑结构的工业无线局域网,整个同步方案考虑到网络系统的启动、同步以及节点故障重启的情况,包括监测阶段和同步阶段。监测阶段负责监测网络中同步节点的情况,同时测量压缩主机节点和同步节点之间的传播时延;同步阶段通过节点之间数据包的交互传输,利用固化算法、压缩算法和时间修正算法使网络系统中的所有节点达到同步状态。本发明方法能够在较短时间内使网络系统中所有节点达到时间同步状态,并且当网络中存在节点故障或新节点加入的情况时,不会影响整个网络的同步状态。
Description
技术领域
本发明涉及一种无线局域网时间同步方法,属于无线局域网通信技术领域。
背景技术
“互联网+”的大背景下,将无线网络技术应用到高速工厂自动化无线通信领域成为了一个非常具有潜力的研究方向。高速工厂自动化无线网络对无线技术有两点最基本的要求,一是最低1kHz的采样率;二是数据实时传输。现有的无线技术标准,包括面向工业过程自动化的三大无线网络标准,均无法同时保证数据实时传输和高采样率。而在混合“有线-无线”工业网络自动化应用中,使用基于IEEE802.11协议标准的无线局域网是一个不错的选择,且无线局域网设备价格合理,工业级AP在功能上与家用、办公用的无线局域网设备相同。而其他网络,比如IEEE 802.15.4协议的无线传感器网络或基于IEEE 802.15.1协议的无线个人区域网络等在吞吐量和与以太网的互操作性上明显低于无线局域网。
虽然无线局域网具有媲美有线以太网的高吞吐量,可以达到较高的采样率,但是无线局域网并不关注数据实时传输的性能,使其不被工厂自动化领域使用。目前,无线局域网所使用的IEEE 802.11协议在介质访问控制层采用载波侦听多路访问机制,无法保证数据传播时延;而时分复用机制的无竞争信道接入方式可以有效地提高信道利用率,在满足定时和同步的条件下,可以保证基于时分复用机制的无线局域网的确定性传输行为,避免碰撞冲突,保障严格的时延要求。
利用时分复用机制的数据包传输方式的前提是网络中各个节点的时间必须达到同步状态。所以,时间同步技术被广泛应用在基于实时以太网的通信系统中。时间同步技术主要利用底层通信网络,保持不同节点的本地时间相对一致。而IEEE 802.11协议中的定时同步功能提供的同步精度达不到工业使用的要求。所以,要想达到工业应用的同步精度,必须借助其他时间同步协议的设计思想,根据无线局域网自身的特点,设计、优化和实现符合要求的时钟同步算法,比如:在无线局域网中使用精密时间协议和时间触发以太网中AS6802同步协议等。
综上所述,在无线局域网中引入时分复用通信机制和集中式信道管理机制,通过使用时间同步协议保持全网节点的本地时间同步,便可实现无线局域网节点数据的实时传输。所以,在面向高速控制的工业生产应用背景下,研究无线局域网中的时间同步,是一个非常有意义的研究课题。
发明内容
本发明所要解决的技术问题是:提供一种无线局域网时间同步方法,能够在较短时间内使网络系统中所有节点达到时间同步状态,并且当网络中存在节点故障或新节点加入的情况时,不会影响整个网络的同步状态。
本发明为解决上述技术问题采用以下技术方案:
一种无线局域网时间同步方法,该方法包括监测阶段和同步阶段,且监测阶段和同步阶段交替进行,包括如下步骤:
步骤1,在监测阶段,压缩主机节点探明网络中的所有同步节点,并测量传播时延,将传播时延发送到各个同步节点,所述同步节点包括同步主机节点和同步客户节点;具体过程为:
步骤1.1,压缩主机节点上电后广播发送请求包以探测网络中的同步节点;
步骤1.2,同步节点以收到请求包的时刻为起始时刻按照事先配置好的序号依次向压缩主机节点发送回应包;
步骤1.3,压缩主机节点收到回应包后根据时延算法计算出与各个同步节点之间的传播时延;
步骤1.4,压缩主机节点将传播时延及最大传播时延通过冷启动包广播发送到网络中各个同步节点,并以发送时刻为起始时刻,在经过最大传播时延的时间后,开启本地时间计数;
步骤1.5,同步节点收到冷启动包后,执行同步节点固化算法,计算出固化时刻,在固化时刻各个同步节点同时开启同步阶段并开始本地时间计数;
步骤2,在同步阶段,同步主机节点开启一个同步周期后,以本地时间0时刻为起始时刻按照序号依次向压缩主机节点发送固化压缩包;
步骤3,压缩主机节点收到固化压缩包后,利用压缩节点固化算法和压缩算法计算出时间修正值,并通过压缩节点时钟修正算法修正压缩主机节点本地时间,最后产生新的固化压缩包将修正信息广播发送到同步节点;具体过程为:
步骤3.1,压缩主机节点收到固化压缩包后,执行压缩节点固化算法,计算出每个固化压缩包固化时刻;
步骤3.2,在压缩节点固化算法结束后,执行压缩算法,计算出实际压缩时刻,并产生新的固化压缩包,在压缩主机节点的本地时间计数到实际压缩时刻时,将新的固化压缩包广播发送到各同步节点;
步骤3.3,根据实际压缩时刻与计划压缩时刻计算出压缩主机节点本地时间修正误差,利用压缩节点时钟修正算法在压缩主机节点本地时间到达时间修正时刻时对压缩主机节点本地时间进行修正;
步骤4,同步节点收到新的固化压缩包后,进行同步节点固化算法和同步节点时钟修正算法;具体过程为:
步骤4.1,同步节点收到新的固化压缩包后,执行同步节点固化算法,计算出同步节点固化时刻;
步骤4.2,在同步节点固化算法结束后,执行同步节点时钟修正算法,对同步节点本地时间进行修正;
步骤5,当本次同步周期结束后,判断同步阶段内已经执行的同步周期数是否等于预设同步周期数,当本次同步阶段内已经执行的同步周期数小于预设同步周期数时,开启下一个同步周期,重复步骤2-步骤4;当本次同步阶段内已经执行的同步周期数等于预设同步周期数时,同步阶段结束,返回步骤1。
作为本发明的一种优选方案,步骤1.3所述时延算法,计算公式为:
其中,t1、t2分别表示请求包的发送、接收时刻,t3、t4分别表示回应包的发送、接收时刻。
作为本发明的一种优选方案,步骤1.5所述同步节点固化算法,计算公式为:
某同步节点固化时延=最大传播时延-压缩主机节点与该同步节点之间的传播时延
某同步节点固化时刻=接收时刻+某同步节点固化时延
其中,接收时刻为某同步节点收到冷启动包的时刻。
作为本发明的一种优选方案,步骤3.1所述固化压缩包固化时刻,计算公式为:
压缩主机节点收到第i个同步主机节点发送的固化压缩包的固化时延即第i个固化压缩包的固化时延=最大传播时延–压缩主机节点与第i个同步主机节点之间的传播时延
第i个固化压缩包时分复用时延=(同步主机节点个数-i)×时分复用发包间隔
第i个固化压缩包固化时刻=接收时刻+第i个固化压缩包时分复用时延+第i个固化压缩包的固化时延
其中,接收时刻为压缩主机节点接收到第i个固化压缩包的时刻。
作为本发明的一种优选方案,步骤3.3所述压缩节点时钟修正算法,计算公式为:
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
压缩函数时延=最大观察窗口+计算延时+压缩校验值
计划压缩时刻=同步节点固化压缩包派遣时刻+时分复用时延+最大传播时延+压缩函数时延
压缩主机节点本地时间修正误差=实际压缩时刻–计划压缩时刻
压缩主机节点本地修正时间=压缩主机节点本地时间+压缩主机节点本地时间修正误差
其中,同步节点固化压缩包派遣时刻表示压缩主机节点固化的第一个固化压缩包的发送时刻,为0;最大观察窗口=(f+1)×观察窗口,f为系统容忍同步主机节点故障的个数,观察窗口的值通过离线配置;计算延时的值为常数;压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值。
作为本发明的一种优选方案,步骤4.2所述同步节点时钟修正算法,计算公式为:
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
压缩函数时延=最大观察窗口+计算延时+压缩校验值
同步节点计划固化时刻=同步节点固化压缩包派遣时刻+2×最大传播时延+压缩函数时延+时分复用时延
同步节点本地时间误差=同步节点固化时刻–同步节点计划固化时刻
同步节点本地修正时间=同步节点本地时间+同步节点本地时间误差
其中,同步节点固化压缩包派遣时刻表示同步主机节点和同步客户节点发送固化压缩包的时刻,为0;最大观察窗口=(f+1)×观察窗口,f为系统容忍同步主机节点故障的个数,观察窗口的值通过离线配置;计算延时的值为常数;压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明方法能够在较短时间内使网络系统中所有节点达到时间同步状态,并且当网络中存在节点故障或新节点加入的情况时,不会影响整个网络的同步状态。
附图说明
图1是星型拓扑结构的无线局域网架构示意图。
图2是本发明一种无线局域网时间同步方法的流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明一种无线局域网时间同步的方法,其应用范围主要是基于星型拓扑结构的工业无线局域网。图1给出了一种基于星型拓扑结构的无线局域网架构。该网络系统主要由压缩主机节点(CM节点)、同步主机节点(SM节点)和同步客户节点(SC节点)构成,其中同步主机节点和同步客户节点统称为同步节点。所有节点内部具有周期性本地时间计数。节点发包方式为时分复用机制。整个同步方法分为监测和同步两个阶段,两个阶段交替进行使整个网络中的所有节点达到时间同步;同步方法使用自定义的数据包,按照不同的功能分为请求包、回应包、冷启动包和固化压缩包;请求包用于压缩主机节点对网络中的同步节点进行探测;回应包用于同步节点回应压缩主机节点的请求包;冷启动包用于将压缩主机节点计算出的传播时延相关参数传递给各个同步节点;固化压缩包用于同步阶段完成同步过程的协议控制。
监测阶段由压缩主机节点发起,通过压缩主机节点与各个同步节点之间特定数据包的交互传输,探明网络中存在的同步节点,同时测量压缩主机节点与各个同步节点之间的传播时延相关参数;监测阶段会记录同步主机节点个数和同步客户节点个数;系统上电后会进行第一次监测阶段,随后等待同步阶段结束后,再次进行监测阶段,两个阶段如此交替反复进行。
同步阶段在监测阶段结束后开始进行;一个同步阶段分为多个同步周期;一个同步阶段包含的同步周期数可以离线配置;当一个同步阶段期间已经执行的同步周期个数等于离线配置的同步周期数时,该同步阶段结束,开启一次监测阶段,当监测阶段结束,再次开启一次同步阶段,两个阶段如此反复交替进行。
压缩主机节点负责全局同步时间的计算;压缩主机节点通过接收同步主机节点发来的固化压缩包利用固化算法和压缩算法计算出全局同步时间,然后将全局同步时间信息通过新的固化压缩包广播发送到各个同步节点。压缩主机节点至少具有一个无线收发端口,可以接收和发送请求包、回应包、冷启动包和固化压缩包;一个同步网络中只有一个压缩主机节点;压缩主机节点至少具有一个时钟源;压缩主机节点具有至少一个本地时间计数;压缩主机节点具有监测和同步两种状态,监测状态即在监测阶段压缩主机节点所处状态,同步状态即在同步阶段压缩主机节点所处状态;在监测状态下,压缩主机节点通过广播发送请求包和接收同步主机节点返回的回应包,探明网络中存在的正常工作的同步节点,并利用时延算法计算出与各个同步节点之间的传播时延相关参数;在探明网络中存在的同步节点后,压缩主机节点向网络中广播冷启动包,将计算出的传播时延相关参数发送给同步节点,并开启同步状态;在同步状态下,压缩主机节点通过接收同步主机节点发送来的固化压缩包,利用压缩节点固化算法、压缩算法和压缩节点时间修正算法计算出各个节点之间的平均时间误差对本地时间进行修正,并生成新的固化压缩包通过广播的方式发送到同步主机节点和同步客户节点。
同步主机节点是需要时间同步的节点之一;同步主机节点将本地时间信息通过固化压缩包发送到压缩主机节点,参与全局同步时间的计算,然后利用压缩主机节点发送来的固化压缩包中的相关时间信息对本地时间进行修正。同步主机节点至少具有一个无线收发端口,可以接收和发送请求包、回应包、冷启动包和固化压缩包;一个同步网络中可以有多个同步主机节点;同步主机节点至少具有一个时钟源;同步主机节点具有至少一个本地时间计数;同步主机节点具有监测和同步两种状态,监测状态即在监测阶段同步主机节点所处状态,同步状态即在同步阶段同步主机节点所处状态;在监测状态下,同步主机节点接收压缩主机节点发送来的请求包,并按照离线配置序号以时分复用机制的发包方式依次向压缩主机节点发送回应包,然后接收压缩主机节点发送来的冷启动包,根据冷启动包的接收时刻利用同步节点固化算法计算出固化时刻,并在固化时刻开启周期性的本地时间计数;在同步状态下,当本地时间计数在0时刻时,一个同步周期开始,同步主机节点按照离线配置序号以时分复用机制的发包方式依次向压缩主机节点发送固化压缩包,并接收压缩主机节点广播的固化压缩包,利用同步节点固化算法和同步节点时间修正算法对本地时间进行修正。
同步客户节点是需要同步的节点之一;同步客户节点不参与全局同步时间的计算,而是利用压缩主机节点发送来的固化压缩包中的相关时间信息对本地时间进行修正。同步客户节点至少具有一个无线收发端口,可以接收和发送请求包、回应包、冷启动包和固化压缩包;一个同步网络中可以有多个同步客户节点;同步客户节点至少具有一个时钟源;同步客户节点具有至少一个本地时间计数;同步客户节点具有监测和同步两种状态,监测状态即在监测阶段同步客户节点所处状态,同步状态即在同步阶段同步客户节点所处状态;在监测状态下,同步客户节点接收压缩主机节点发送来的请求包,并按照离线配置序号以时分复用机制的发包方式依次向压缩主机节点发送回应包,然后接收压缩主机节点发送来的冷启动包,根据接收冷启动包的时刻通过同步节点固化算法计算出固化时刻,并在固化时刻开启周期性的本地时间计数;在同步状态下,同步客户节点接收压缩主机节点广播的固化压缩包,利用同步节点固化算法和同步节点时间修正算法对本地时间进行修正。
本地时间计数是以本地时钟为参考的周期性时间计数;网络中所有节点都有一个本地时间计数;监测阶段结束后,同步阶段中一个同步周期开始,本地时间计数参数从0开始计数;本地时间计数周期可以离线配置。
时分复用机制是一种实现共享传输介质或者网络的通信技术;时分复用机制允许多个节点在不同的时间片段使用相同的频率进行数据传输;在监测阶段同步节点向压缩主机节点回应回应包以及在同步阶段同步节点向压缩主机节点发送固化压缩包时,数据包传输方式基于时分复用的发包机制,同步节点按照离线配置好的序号和时分复用发包间隔依次向压缩主机节点发送数据包。
同步周期由同步主机节点发起;一个同步周期开始,节点中本地时间从0开始计数,同步主机节点在本地时间0时刻开始按照序号依次向压缩主机节点发送固化压缩包;同步周期期间,各个节点通过固化压缩包的交互传输,利用固化算法、压缩算法和时间修正算法使整个网络中所有节点达到时间同步;同步周期的值等于本地时间计数周期,可以离线配置。
离线配置序号为正整数,是同步节点时分复用发包顺序的判断依据;每个同步节点有不同的离线配置序号,在上电工作之前随机分配。同步主机节点序号在前,同步客户节点序号在后。
时分复用发包间隔代表通过时分复用方式发送的两个数据包的发送时刻经过的延时,为一个常数,可以通过离线配置。
传播时延相关参数包括压缩主机节点与各个同步节点之间的传播时延和其中的最大传播时延;传播时延是指从发送节点发送数据包开始,到接收节点接收到数据包所经历的时间延迟;最大传播时延是指传播时延的最大值。
时延算法在压缩主机节点执行;时延算法通过请求包的发送和接收时刻以及回应包的发送和接收时刻,计算出节点压缩主机节点与各个同步节点之间的传播时延以及最大传播时延。
固化算法分为压缩节点固化算法和同步主机节点固化算法;压缩节点固化算法针对的是同步主机节点发送给压缩主机节点的固化压缩包;同步主机节点同步算法针对的是压缩主机节点发送的固化压缩包。
压缩节点固化算法在压缩主机节点执行;固化算法的执行对象是压缩主机节点收到的固化压缩包,每收到一个数据包便会进行一次固化算法;固化算法计算得到的固化时刻之差可以反映出各个数据包的真实发送时刻的误差。
如图2所示,为本发明方法的具体流程图,包括以下步骤:
S01:监测阶段探明网络中的同步节点以及测量传播时延。
步骤a:压缩主机节点上电后广播发送请求探测网络中的同步节点。
步骤b:同步主机节点和同步客户节点以收到请求包的时刻为起始时刻按照离线配置好的序号依次向压缩主机节点发送回应包。
步骤c:压缩主机节点收到回应包后根据时延算法计算出与各个同步节点之间的传播时延。时延算法描述如下所示:通过请求包的发送和接收时刻t1,t2以及回应包的发送和接收时刻t3,t4,计算出节点压缩主机节点与各个同步节点之间的传播时延以及最大传播时延,计算公式如下:
最大传播时延=节点之间传播时延的最大值
步骤d:压缩主机节点将传播时延相关信息通过冷启动包广播发送到网络中各个同步节点,并以发送时刻为起始时刻,在经过最大传播时延的时间后,开启本地时间计数。
步骤e:同步节点收到冷启动包后,执行同步节点固化算法,计算出固化时刻;在固化时刻各个同步节点同时开启同步阶段并开始本地时间计数。同步节点固化算法描述如下所示:算法定义接收节点收到数据包的时刻为接收时刻;固化算法相关计算公式为:
同步节点固化延迟=最大传播时延-节点之间传播时延
同步节点固化时刻=接收时刻+同步节点固化延迟
S02:同步阶段开启一个同步周期,同步主机节点发送固化压缩包。
同步主机节点开启一个同步周期后,以本地时间0时刻为起始时刻按照序号依次向压缩主机节点发送固化压缩包。
S03:压缩主机节点收到固化压缩包后进行固化算法、压缩算法和时钟修正算法,并产生新的固化压缩包发送到同步节点。具体过程如下:
步骤a:压缩主机节点收到固化压缩包后执行压缩节点固化算法。算法定义接收节点收到数据包的时刻为接收时刻;固化算法相关计算公式为:
第i个固化压缩包的固化时延=最大传播时延-节点之间传播时延
第i个固化压缩包时分复用时延=(同步主机节点个数-i)×时分复用发包间隔
第i个固化压缩包固化时刻=接收时刻+第i个固化压缩包时分复用时延+第i个固化压缩包的固化时延
固化时刻之差可以直接反应出固化压缩包发送时刻的真实时间差,从而可以间接反应出同步主机节点本地时间误差。
步骤b:固化算法结束后,开始执行压缩算法。压缩算法只在压缩主机节点当中执行,压缩算法的执行过程分为三个阶段,分别为收集阶段、计算阶段和延迟阶段;压缩算法不是由本地时间触发,而是依赖于接收到固化压缩包的固化时刻进行触发。
收集阶段是为了收集正常同步主机节点发送来的固化压缩包,同时排出故障节点发送来的固化压缩包;收集阶段定义观察窗口和最大观察窗口,其中观察窗口的值通过离线配置,最大观察窗口计算公式如下:
最大观察窗口=(f+1)×观察窗口
上式中,冗余值f为系统可以容忍同步主机节点故障的个数,可以离线配置。
收集阶段开启的条件为:当时间到达一个固化压缩包的固化时刻且当前同步周期下没有正在进行的压缩算法,则开始一个收集阶段,并开启一个观察窗口;判断是否开启下一个观察窗口,主要根据当前窗口开启期间到达固化时刻的固化压缩包的数量进行判断,具体描述如下:
1)若当前第一个观察窗口内只有一个到达固化时刻的固化压缩包,则不开启新的观察窗口;
2)对于第二个及第二个以后的观察窗口,若当前观察窗口内有且至少有一个到达固化时刻的固化压缩包,则继续开启下一个观察窗口;若不符合条件,则不再开启新的观察窗口;
3)当开启观察窗口总和等于最大观察窗口时,不再开启新的观察窗口,收集阶段结束。
计算阶段利用收集到的固化压缩包的固化时刻通过容错中值法计算出一个压缩校验值,压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值;容错中值法的计算过程为:
设第i个固化时刻与第一个固化时刻的时间差,计算公式如下:
第i个时间差=第i个固化时刻-第1个固化时刻
收集阶段收集了1个固化压缩包:
压缩校验值=0;
收集阶段收集了2个固化压缩包:
压缩校验值=(第1个时间差+第2个时间差)/2;
收集阶段收集了3个固化压缩包:
压缩校验值=第2个时间差;
收集阶段收集了4个固化压缩包:
压缩校验值=(第2个时间差+第3个时间差)/2;
收集阶段收集了5个固化压缩包:
压缩校验值=(第2个时间差+第4个时间差)/2;
收集阶段收集了5个以上固化压缩包:
压缩校验值=(顺序第N个时间差+倒序第N个时间差)/2;
上式中,N值可以离线配置,一般等于冗余值f;计算阶段计算压缩时刻的相关公式如下:
压缩函数时延=最大观察窗口+计算延时+压缩校验值
压缩时刻=第一包固化时刻+压缩函数时延
上式中,计算延时为计算耗时,一般为常数,可以离线配置;压缩函数时延为执行压缩函数耗费时间;计算出的压缩时刻为实际压缩时刻。
延迟阶段压缩主机节点需要准备新的固化压缩包,并延时压缩函数时延的时间长度,直至压缩时刻到来;当压缩主机节点本地时间计数到压缩时刻时,将向网络中其他节点广播新生成的固化压缩包。
步骤c:执行压缩主机节点时钟修正算法。算法描述如下所示:在压缩主机节点中,时间修正算法根据压缩算法计算出的压缩时刻和计划压缩时刻之差,得到全局同步时间与本地时间的误差,并对本地时间进行修正。其中计划压缩时刻计算公式如下:
计划压缩时刻=同步节点固化压缩包派遣时刻+时分复用时延+最大传播时延+压缩函数时延
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
上式中,同步节点固化压缩包派遣时刻代表压缩主机节点固化的第一个固化压缩包的发送时刻,为0;时分复用时延代表同步主机节点利用时分复用机制发包经历的时延;最终的压缩主机节点本地时间与全局同步时间的误差等于实际固化时刻与计划固化时刻之差,可以为正值,也可以为负值,计算公式如下:
压缩主机节点本地时间修正误差=实际压缩时刻-计划压缩时刻
上式中实际压缩时刻,由压缩算法得出;当压缩主机节点本地时间到达时间修正时刻时进行时间修正,时间修正时刻和本地时间修正计算公式如下:
时间修正时刻=计划压缩时刻+时钟修正延迟
压缩主机节点本地修正时间=压缩主机节点本地时间+压缩主机节点本地时间修正误差
上式中,时钟修正延迟为一个常数,可以离线配置。
S04:同步节点收到固化压缩包,进行同步节点固化算法和同步节点时钟修正算法。具体过程如下:
步骤a:收到固化压缩包后执行同步节点固化算法。算法定义接收节点收到数据包的时刻为接收时刻,相关计算公式为:
同步节点固化延迟=最大传播时延-节点之间传播时延
同步节点固化时刻=接收时刻+同步节点固化延迟
步骤b:固化算法结束后执行同步节点修正算法。相关计算公式如下:
同步节点计划固化时刻=同步节点固化压缩包派遣时刻+2×最大传播时延+压缩函数时延+时分复用时延
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
同步节点本地时间误差=同步节点固化时刻–同步节点计划固化时刻
同步节点本地修正时间=同步节点本地时间+同步节点本地时间误差
上式中,同步节点固化压缩包派遣时刻代表同步主机节点和同步客户节点发送固化压缩包的时刻,为0;时分复用时延代表同步主机节点利用时分复用机制发包经历的时延;同步主机节点个数代表当前网络中探测到的同步主机节点个数;时分复用发包间隔代表时分复用传输机制的时隙;同步节点本地时间误差为本地时间与全局同步时间的误差,可以为正值,也可以为负值。
步骤c:当本次同步周期结束后,判断本次同步阶段内已经执行的同步周期数是否等于预设同步周期数,从而判断同步阶段是否结束。
若仍处于同步阶段,则开启下一个同步周期,重复步骤S02、S03、S04;若同步阶段结束,则返回步骤S01,再次执行监测阶段。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.一种无线局域网时间同步方法,其特征在于,该方法包括监测阶段和同步阶段,且监测阶段和同步阶段交替进行,包括如下步骤:
步骤1,在监测阶段,压缩主机节点探明网络中的所有同步节点,并测量传播时延,将传播时延发送到各个同步节点,所述同步节点包括同步主机节点和同步客户节点;具体过程为:
步骤1.1,压缩主机节点上电后广播发送请求包以探测网络中的同步节点;
步骤1.2,同步节点以收到请求包的时刻为起始时刻按照事先配置好的序号依次向压缩主机节点发送回应包;
步骤1.3,压缩主机节点收到回应包后根据时延算法计算出与各个同步节点之间的传播时延;
步骤1.4,压缩主机节点将传播时延及最大传播时延通过冷启动包广播发送到网络中各个同步节点,并以发送时刻为起始时刻,在经过最大传播时延的时间后,开启本地时间计数;
步骤1.5,同步节点收到冷启动包后,执行同步节点固化算法,计算出固化时刻,在固化时刻各个同步节点同时开启同步阶段并开始本地时间计数;
步骤2,在同步阶段,同步主机节点开启一个同步周期后,以本地时间0时刻为起始时刻按照序号依次向压缩主机节点发送固化压缩包;
步骤3,压缩主机节点收到固化压缩包后,利用压缩节点固化算法和压缩算法计算出时间修正值,并通过压缩节点时钟修正算法修正压缩主机节点本地时间,最后产生新的固化压缩包将修正信息广播发送到同步节点;具体过程为:
步骤3.1,压缩主机节点收到固化压缩包后,执行压缩节点固化算法,计算出每个固化压缩包固化时刻;
所述压缩节点固化算法,计算公式为:
第i个固化压缩包的固化时延=最大传播时延-节点之间传播时延
第i个固化压缩包时分复用时延=(同步主机节点个数-i)×时分复用发包间隔
第i个固化压缩包固化时刻=接收时刻+第i个固化压缩包时分复用时延+第i个固化压缩包的固化时延
其中,接收时刻为压缩主机节点收到固化压缩包的时刻;
步骤3.2,在压缩节点固化算法结束后,执行压缩算法,计算出实际压缩时刻,并产生新的固化压缩包,在压缩主机节点的本地时间计数到实际压缩时刻时,将新的固化压缩包广播发送到各同步节点;
所述压缩算法,计算公式为:
压缩算法只在压缩主机节点当中执行,压缩算法的执行过程分为三个阶段,分别为收集阶段、计算阶段和延迟阶段;压缩算法不是由本地时间触发,而是依赖于接收到固化压缩包的固化时刻进行触发;
收集阶段定义观察窗口和最大观察窗口,其中观察窗口的值通过离线配置,最大观察窗口计算公式如下:
最大观察窗口=(f+1)×观察窗口
上式中,冗余值f为系统容忍同步主机节点故障的个数;
收集阶段开启的条件为:当时间到达一个固化压缩包的固化时刻且当前同步周期下没有正在进行的压缩算法,则开始一个收集阶段,并开启一个观察窗口;判断是否开启下一个观察窗口,根据当前窗口开启期间到达固化时刻的固化压缩包的数量进行判断,具体描述如下:
1)若当前第一个观察窗口内只有一个到达固化时刻的固化压缩包,则不开启新的观察窗口;
2)对于第二个及第二个以后的观察窗口,若当前观察窗口内有且至少有一个到达固化时刻的固化压缩包,则继续开启下一个观察窗口;若不符合条件,则不再开启新的观察窗口;
3)当开启观察窗口总和等于最大观察窗口时,不再开启新的观察窗口,收集阶段结束;
计算阶段利用收集到的固化压缩包的固化时刻通过容错中值法计算出一个压缩校验值,压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值;容错中值法的计算过程为:
设第i个固化时刻与第一个固化时刻的时间差,计算公式如下:
第i个时间差=第i个固化时刻-第1个固化时刻
收集阶段收集了1个固化压缩包:
压缩校验值=0;
收集阶段收集了2个固化压缩包:
压缩校验值=(第1个时间差+第2个时间差)/2;
收集阶段收集了3个固化压缩包:
压缩校验值=第2个时间差;
收集阶段收集了4个固化压缩包:
压缩校验值=(第2个时间差+第3个时间差)/2;
收集阶段收集了5个固化压缩包:
压缩校验值=(第2个时间差+第4个时间差)/2;
收集阶段收集了5个以上固化压缩包:
压缩校验值=(顺序第N个时间差+倒序第N个时间差)/2;
上式中,N值离线配置;
计算阶段计算压缩时刻的公式如下:
压缩函数时延=最大观察窗口+计算延时+压缩校验值
压缩时刻=第一包固化时刻+压缩函数时延
上式中,计算延时的值为常数;压缩函数时延为执行压缩函数耗费时间;计算出的压缩时刻为实际压缩时刻;
延迟阶段压缩主机节点需要准备新的固化压缩包,并延时压缩函数时延的时间长度,直至压缩时刻到来;当压缩主机节点本地时间计数到压缩时刻时,将向网络中其他节点广播新生成的固化压缩包;
步骤3.3,根据实际压缩时刻与计划压缩时刻计算出压缩主机节点本地时间修正误差,利用压缩节点时钟修正算法在压缩主机节点本地时间到达时间修正时刻时对压缩主机节点本地时间进行修正;
步骤4,同步节点收到新的固化压缩包后,进行同步节点固化算法和同步节点时钟修正算法;具体过程为:
步骤4.1,同步节点收到新的固化压缩包后,执行同步节点固化算法,计算出同步节点固化时刻;
所述同步节点固化算法,计算公式为:
某同步节点固化时延=最大传播时延-压缩主机节点与该同步节点之间的传播时延
某同步节点固化时刻=接收时刻+某同步节点固化时延
其中,接收时刻为某同步节点收到冷启动包的时刻;
步骤4.2,在同步节点固化算法结束后,执行同步节点时钟修正算法,对同步节点本地时间进行修正;
所述同步节点时钟修正算法,计算公式为:
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
压缩函数时延=最大观察窗口+计算延时+压缩校验值
同步节点计划固化时刻=同步节点固化压缩包派遣时刻+2×最大传播时延+压缩函数时延+时分复用时延
同步节点本地时间误差=同步节点固化时刻–同步节点计划固化时刻
同步节点本地修正时间=同步节点本地时间+同步节点本地时间误差
其中,同步节点固化压缩包派遣时刻表示同步主机节点和同步客户节点发送固化压缩包的时刻,为0;压缩校验值表示所有发送有效固化压缩包的同步主机节点时间偏差的平均值;
步骤5,当本次同步周期结束后,判断同步阶段内已经执行的同步周期数是否等于预设同步周期数,当本次同步阶段内已经执行的同步周期数小于预设同步周期数时,开启下一个同步周期,重复步骤2-步骤4;当本次同步阶段内已经执行的同步周期数等于预设同步周期数时,同步阶段结束,返回步骤1。
3.根据权利要求1所述无线局域网时间同步方法,其特征在于,步骤3.1所述固化压缩包固化时刻,计算公式为:
压缩主机节点收到第i个同步主机节点发送的固化压缩包的固化时延即第i个固化压缩包的固化时延=最大传播时延–压缩主机节点与第i个同步主机节点之间的传播时延
第i个固化压缩包时分复用时延=(同步主机节点个数-i)×时分复用发包间隔
第i个固化压缩包固化时刻=接收时刻+第i个固化压缩包时分复用时延+第i个固化压缩包的固化时延
其中,接收时刻为压缩主机节点接收到第i个固化压缩包的时刻。
4.根据权利要求1所述无线局域网时间同步方法,其特征在于,步骤3.3所述压缩节点时钟修正算法,计算公式为:
时分复用时延=(同步主机节点个数-1)×时分复用发包间隔
压缩函数时延=最大观察窗口+计算延时+压缩校验值
计划压缩时刻=同步节点固化压缩包派遣时刻+时分复用时延+最大传播时延+压缩函数时延
压缩主机节点本地时间修正误差=实际压缩时刻–计划压缩时刻
压缩主机节点本地修正时间=压缩主机节点本地时间+压缩主机节点本地时间修正误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794213.9A CN110519839B (zh) | 2019-08-27 | 2019-08-27 | 一种无线局域网时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910794213.9A CN110519839B (zh) | 2019-08-27 | 2019-08-27 | 一种无线局域网时间同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519839A CN110519839A (zh) | 2019-11-29 |
CN110519839B true CN110519839B (zh) | 2021-12-07 |
Family
ID=68625358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910794213.9A Active CN110519839B (zh) | 2019-08-27 | 2019-08-27 | 一种无线局域网时间同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519839B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248435A (zh) * | 2013-04-16 | 2013-08-14 | 哈尔滨工程大学 | 一种水声通信网络时分复用方法 |
CN103913645A (zh) * | 2014-03-31 | 2014-07-09 | 南京航空航天大学 | 光纤传感器阵列及天线方向图测量装置、测量方法 |
CN105611621A (zh) * | 2016-01-14 | 2016-05-25 | 南京航空航天大学 | 一种适用于多跳无线传感器网络的主从同步方法 |
CN106686715A (zh) * | 2015-11-10 | 2017-05-17 | 沈阳中科奥维科技股份有限公司 | 一种基于tdma的无线传感器网络时间同步时间源维护方法 |
CN106804058A (zh) * | 2017-02-16 | 2017-06-06 | 上海交通大学 | 一种结合拓扑维护的分簇时间同步方法 |
CN107580362A (zh) * | 2017-08-25 | 2018-01-12 | 东南大学 | 一种低功耗远距离无线传输系统 |
CN109151951A (zh) * | 2018-08-09 | 2019-01-04 | 中软电科智能技术有限公司 | 一种多频集中式网络组网的数据交互方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8599794B2 (en) * | 2010-09-08 | 2013-12-03 | Intel Corporation | Enhanced base station and method for communicating through an enhanced distributed antenna system (eDAS) |
WO2012137194A1 (en) * | 2011-04-06 | 2012-10-11 | Maxtech Communication Networks Ltd. | A dynamically self-organizing ad-hoc tdma communications synchronization method |
-
2019
- 2019-08-27 CN CN201910794213.9A patent/CN110519839B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248435A (zh) * | 2013-04-16 | 2013-08-14 | 哈尔滨工程大学 | 一种水声通信网络时分复用方法 |
CN103913645A (zh) * | 2014-03-31 | 2014-07-09 | 南京航空航天大学 | 光纤传感器阵列及天线方向图测量装置、测量方法 |
CN106686715A (zh) * | 2015-11-10 | 2017-05-17 | 沈阳中科奥维科技股份有限公司 | 一种基于tdma的无线传感器网络时间同步时间源维护方法 |
CN105611621A (zh) * | 2016-01-14 | 2016-05-25 | 南京航空航天大学 | 一种适用于多跳无线传感器网络的主从同步方法 |
CN106804058A (zh) * | 2017-02-16 | 2017-06-06 | 上海交通大学 | 一种结合拓扑维护的分簇时间同步方法 |
CN107580362A (zh) * | 2017-08-25 | 2018-01-12 | 东南大学 | 一种低功耗远距离无线传输系统 |
CN109151951A (zh) * | 2018-08-09 | 2019-01-04 | 中软电科智能技术有限公司 | 一种多频集中式网络组网的数据交互方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110519839A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Modeling and performance analysis for duty-cycled MAC protocols with applications to S-MAC and X-MAC | |
US7171579B2 (en) | Method and device for exchanging data between at least two stations connected via a bus system | |
CN101778405B (zh) | 结构健康监测的无线传感器网络同步采集方法及系统 | |
US9906320B2 (en) | Industrial network apparatus and data communication method | |
JP6456330B2 (ja) | 工業インターネットブロードバンドフィールドバスのリアルタイム性の実現方法 | |
US20180206134A1 (en) | Wireless environment information collection system and method | |
JP2010541298A (ja) | センサネットワークにおける時間同期に関する方法及びシステム | |
US11316654B2 (en) | Communication device and method for operating a communication system for transmitting time critical data | |
US8427987B2 (en) | System and method for time synchronized beacon enabled wireless personal area network communication | |
CN103647682A (zh) | 一种模拟交换式以太网时钟同步的仿真系统 | |
WO2015196685A1 (zh) | 时钟同步方法及装置 | |
CN113992472A (zh) | 一种FlexRay总线IP核的工作方法及系统 | |
CN100382522C (zh) | 一种实现以太网确定性通信的调度方法 | |
Mahmood et al. | Clock synchronization for IEEE 802.11 based wired-wireless hybrid networks using PTP | |
CN103607270A (zh) | 提高Powerlink以太网同步性能的方法 | |
US9300595B2 (en) | Method for network organization | |
CN110519839B (zh) | 一种无线局域网时间同步方法 | |
CN110896339B (zh) | 一种基于局部加权最小二乘法的时钟同步补偿方法 | |
US20110026654A1 (en) | Network device of high-precision synchronization type, network system, and frame transfer method | |
Ochiai et al. | Facility networking with ip over rs485: Packet control for master-slave cascaded networks | |
CN104022515A (zh) | 无功补偿柜及其的无功补偿单元的控制方法 | |
CN102917467A (zh) | 无线传感器网络的异步预约信道接入方法 | |
Friedrich et al. | WRTMAC: A MAC proposal for 802.11 networks in factory automation. | |
JP2014519282A (ja) | パケット経路の信号劣化の検出方法、装置及びシステム | |
Mohiuddin et al. | EEDF-MAC: An energy efficient MAC protocol for wireless sensor 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 |