CN104507156B - 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 - Google Patents
针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 Download PDFInfo
- Publication number
- CN104507156B CN104507156B CN201410787648.8A CN201410787648A CN104507156B CN 104507156 B CN104507156 B CN 104507156B CN 201410787648 A CN201410787648 A CN 201410787648A CN 104507156 B CN104507156 B CN 104507156B
- Authority
- CN
- China
- Prior art keywords
- node
- delay
- packets
- req
- time
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明是一种针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法。该方法的特征是:在遵从IEEE 1588 PTP时间信息包交换机制的情况下,在时间同步的包交换过程中,侦听并截获其他相邻节点与主节点按照IEEE1588 PTP机制进行交换时的时间信息包,从而实现了一种从‑从同步机制。该方案是对IEEE 1588 PTP主‑从同步的扩展,可以获得更多时间信息,利用从‑从同步机制中所获得的信息冗余,在从节点采用线性回归的方法使得对钟偏移和频率漂移的估计更准确可靠,从而能减弱主从路径不对称,时间戳不够精确因素造成的影响,以在无线网络中实现高精度,高可靠的时间同步。
Description
技术领域
本发明涉及通信领域,尤其涉及一种针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法。
背景技术
无线传感网(WSNs,Wireless Sensor Networks)是由大量共同合作的低功耗节点组成的无线网络,每个节点具有有限的计算能力,无线通信能力和感知能力。通过引入控制执行器,无线传感器执行器网络(WSANs,Wireless Sensor Actuator Networks)指具备无线控制执行功能,适合于过程监测与控制的一种特殊无线传感网。由于无线传感执行器网络节点的本地时钟是通过内部晶振中断计数来实现的,由节点初始计时时刻不同和内部晶振的频率偏差变化等,网络中各节点间的时钟不同步。WSAN的时间同步是指使WSAN中所有或部分节点拥有相同的时间基准,就是要把分布在各节点的时钟对准(同步起来)。
时间同步(Time Synchronization)技术是无线传感执行器网络的重要支撑技术。特别的,在工业自动化***中,自动的工作流程之间的相互协调非常重要,要求相关联的传感器节点能较好执行同步数据采集,相关联的执行器节点能协同一致进行控制操作,因此WSAN对时间同步的精度和可靠性都有更高的要求,高于普通家庭和商用无线网络***。如多传感器的数据融合,目标定位和监测,分布式波束成型阵列与控制,TDMA通信调度,基于睡眠调度 的电池节能等,都对时间同步较高要求,因此,时间同步在WSAN的诸多应用中特别重要,其重要性体现在三个方面:步决定了数据是否准确有效,决定了控制***的性能好坏,决定了网络整体性能优劣(如信道利用率,吞吐量,网络生命周期等)。
目前常用的时间同步方法有:NTP方法,RBS方法,TPSN方法和FTSP方法等。其中,网络时间协议(NTP)主要针对传统的基于IP的英特网,是一种典型的主从同步方法,由NTP的客户端(即从时钟)发起,首先向NTP服务器(即主时钟)发送还有本地时间戳T1的同步请求包,服务器收到该请求包后记录下此包接收时间T2。然后服务器在T3时刻向客户端回复响应包,并把T3时间戳附在该响应包中。客户端接收到该响应包时,记录下接收时间戳T4。客户端从该交换中获取的时间戳信息T1,T2,T3和T4就可以计算出主从时钟之间的偏差,从而完成时间调整和同步。RBS是一种针对无线传感器网路提出来的时间同步方法,该方法基于单向广播机制,有效克服了发送端的操作处理延时和媒介访问延迟(如CSMA/CA指数退避算法的延迟)对同步精度的影响,达到了一定的精度,可靠性较高,但其计算量和同步开销较大,能耗较高。TPSN方法基于双向成对的同步机理,同步效果较高,比RBS的精度更高,但对主节点的依赖较大,可靠性受限。而FTSP方法为泛洪广播式时间同步算法,然后基于最小二乘法进行时钟偏移的估计,虽然单向广播使得同步方式简单,但最小二乘法需要大量的广播数据和较高的计算量,因此会耗费较多的通信带宽和计算资源。FTSP方法存在的问题主要是:对于密度大的网络,泛洪广播会在形成大量的广播数据包的突发发送,引起碰撞的几率很高,消耗节点能量和网络资源。
随着分布式网络测控***的广泛应用,针对基于有线局域以太网 (Ethernet)的测控***,IEEE(Institute of Electrical and Electronics Engineers)在2002年发布了精确时间同步协议(Precision Time Protocol)标准,代号IEEE 1588,的全称是“网络测量和控制***的精密时钟同步协议标准”,简称PTP。在2008年又制定了新版本的IEEE1588v2协议。IEEE 1588是一个比较复杂的主从同步方法,与NTP相似,是通过主从时钟交换带有时间戳信息的数据包来同步。理论上,在时间戳足够精确时(如采用基于硬件的时间戳技术),IEEE 1588PTP可以提供亚毫秒级的精确时间同步,这远比NTP等的精度高的多,且通信贷款和计算资源消耗较低,这使得它适用于工业控制,测量等时间苛刻的应用,因此目前国际上的实时以太网都采用IEEE 1588作为其***的一个核心部分。
IEEE1588是针对有线局域以太网提出来的,它有三个假设,这三个假设的实现程度直接决定了时间同步的精度。这三个假设是:
(1)对称路径及主从传输延迟相等。它要求数据包由主节点到从节点的传输时间与数据包由从节点到主节点的传输时间相等
(2)时钟偏移在时间信息包交换过程中不变。该假设要求较稳定的节点时钟振荡器和较快的包交换时间,带有时间戳的数据包的交换发生在一段很小的时间内,以确保从时钟的时钟偏移在这段时间内是固定不变的。等价地,这个假设也是节点时钟振荡器的稳定性和精度的假设,要求振荡器具有较高的质量。
(3)精确的时间标记。假设主从节点都能够精确地测量出它们发送或接收数据包的时间。
在实际应用中,由于以太网的高速率和线缆信号的传输受外界环境影响较弱,假设(1)和(2)能较好满足,在不太关注供电和设备成本的情况下,在 以太网设备中可以采用高质量晶振和硬件,满足条件(2)和(3)。
但这些假设在无线网络中未必能得到很好的满足。这表现在,受电池供电,硬件设备和环境影响(如温度)的限制,无线节点的晶振精度受限,漂移明显。由于无线信道衰落很大,较有线信道更易受外界环境的电磁干扰,以及隐蔽节点等问题,很容易形成主从之间的传输延迟不对称。因此标准的IEEE 1588PTP并不能很好的适用于无线传感执行器网络。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法。
为了实现本发明的上述目的,本发明提供了一种针对无线网络的基于IEEE1588PTP机制的时间同步改进方法,其关键在于,包括如下步骤:
步骤1,由主节点周期性的启动主节点和从节点之间带有时间戳的时间信息包交换;
步骤2,若干从节点逐一与主节点进行时间信息包交换,在某一从节点未与主节点进行时间信息包交换时,该从节点保持侦听模式,并截获其它相邻从节点和主节点间以广播方式进行交换的时间同步信息包;
步骤3,从节点将截获的相邻从节点和主节点的时间同步信息包中的时间戳进行线性回归优化,获得本从节点的时钟频率偏差和频率漂移的估计值,并利用获得的时钟偏差和频率漂移的估计值对从节点时钟进行调整,实现时间同步。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述步骤1包括:
步骤1-1,主节点首先发送包含发送时间戳信息的同步包(Sync);
步骤1-2,从节点接收到同步包(Sync)后,获取同步包(Sync)的接收时间戳信息,回复延迟请求包(Delay_Req)给主节点,并获取延迟请求包(Delay_Req)的发送时间戳;
步骤1-3,主节点在接收到延迟请求包(Delay_Req)后,获取延迟请求包(Delay_Req)的接收时间戳信息,回复延迟响应包(Delay_Resp)给从节点,并把延迟请求包(Delay_Req)的接收时间戳信息放入延迟响应包(Delay_Resp)中一起发送。当从节点未与主节点进行延迟请求包(Delay_Req)和延迟响应包(Delay_Resp)交换时,转入侦听模式,截获其他从节点与主节点之间交换的延迟请求包(Delay_Req)和延迟响应包(Delay_Resp)及其相应时间戳。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述步骤1包括:
步骤1A,主节点以广播方式发送一个同步包(Sync)给全部从节点,启动时间同步过程;
步骤1B,主节点以本地时钟为参照,获取同步包(Sync)的发送时间戳t1,并将时间戳t1添加在同步包(Sync)中;
步骤1C,从节点处于接收模式,等待接收该同步包(Sync);
步骤1D,从节点在接收到主节点发送的同步包(Sync)后,以从节点本地时钟为参照,立刻获取该同步包(Sync)的接收时间,记作时间戳t2;
步骤1E,从节点解析其接收到的同步包(Sync)中的数据,获取其中的时间戳信息t1。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述步骤2包括:
步骤2A,主节点转入接收模式,准备接收即将由从节点返回的延迟请求包(Delay_Req)包;
步骤2B,从节点转入发送模式,准备发送一个延迟请求包(Delay_Req)消息给主节点,并进入MAC机制所规定的无线信道争用过程;
步骤2C,若从节点获得了无线信道的使用权,以广播方式向主节点发送该Delay_Req包,并以从节点本地时钟为参照,获取延迟请求包(Delay_Req)的发送时间戳t3,将时间戳t3作为时间戳附加在延迟请求包(Delay_Req)中;
步骤2D,主节点在接收到延迟请求包(Delay_Req)后,以主节点本地时钟为参照,立刻获取该延迟请求包(Delay_Req)的接收时间,记作时间戳t4;主节点转入发送模式,将时间戳t4附加到延迟请求包(Delay_Req)中,以广播方式发送延迟请求包(Delay_Req)给从节点;发送完成后,主节点转入接收模式;
步骤2E,从节点接收延迟请求包(Delay_Req),并将时间戳t4解析出来;
步骤2F,若从节点未能获得无线信道的使用权,从节点转入侦听接收模式,侦听并截获其他相邻节点发出的延迟请求包(Delay_Req)和主节点发出的带有时间戳t4的延迟响应包(Delay_Resp)进行截获;在截获延迟请求包(Delay_Req)时,以从节点的本地时钟为参照,获取延迟请求包(Delay_Req)的接收时间,记作时间戳t5;在截获延迟响应包(Delay_Resp)后,将延迟响应包(Delay_Resp)中的时间戳t4解析出来;
步骤2G,对于获得了无线信道的使用权的从节点,当完成步骤2C,2D和2E后,放弃该使用权,转入步骤2F的侦听模式;
步骤2H,对于未获得无线信道的使用权的从节点,在完成步骤2F后,转 入步骤2B的发送模式,竞争使用无线信道使用权,向主节点发送自己的延迟请求包(Delay_Req);
步骤2I,主节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在设定时间阈值内未侦听到任何时间信息报交换,则主节点认为本轮同步完成,结束当前包交换过程,等待下一轮同步周期到,转入步骤1-1;
步骤2J,从节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在一段时间阈值内未侦听到任何时间信息报交换,则从节点认为本轮同步的包交换已经完成,从节点退出接收侦听模式。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述步骤3包括:
步骤3A,从节点与主节点之间包交换得到的t1,t2,t3,t4时间戳和一组通过侦听得到的其他邻节点k和主节点之间包交换得到的t4[k]和t5[k]时间戳,其中k为第k个邻接点,若某从节点拥有N个邻节点,则k={1,2,…N},N为正整数,该从节点最多通过侦听获取到N对{t4[k],t5[k]}时间戳,利用线性回归优化方法,估计出从节点时钟的时间偏差;参照IEEE 1588PTP方式从t1,t2,t3和t4中得到一个关于时钟偏差和传输延迟之间的函数关系式;
步骤3B,侦听获得的N对{t4[k],t5[k]}中得到N个关于偏差和传输延迟之间的函数关系式;
步骤3C,运用最小二乘法对上述N+1个函数关系式进行求解,得到时钟偏差的最优估计值。
步骤3D,得到的时钟偏差最优估计值后,从节点计算出的从节点时钟的频率漂移,得到时钟偏差和频率漂移的估计值;
步骤3E,利用所得到的时钟偏差和频率漂移估计值,对从节点时钟进行 调整,实现时间同步。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述时间信息包交换包括:
步骤101:在时间点TA,主节点以广播方式开始发送Sync时间信息包,并获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送;
步骤102:在时间点TB,该Sync时间信息包到达从节点,各个从节点以本地从时钟为参照,获取Sync包的接收时间,由于各节点的本地从时钟并不一致,所以Sync包的接收时间戳的值也未一样,因此从节点i的Sync包接收之间记作t2[i],以此类推;
步骤103:在时间点TC,经过一段时间的处理延迟和媒介争用过程,从节点i获得了媒介的使用权,在该从节点的时间点t3[i]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤104:在时间点TD,从节点i发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[i],其中i表示该Delay_Req包来自节点i,相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[i];
步骤105:在时间点TE,主节点经过一段时间的处理延迟后,把步骤104中获得的接收时间戳t4[i]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点,包括从节点i;
步骤106:在时间点TF,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[i];
步骤107,在时间点TG,另一从节点k获得了媒介的使用权,在该从节 点的时间点t3[k]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤108,在时间点TH,从节点k发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[k],其中,k表示该Delay_Req包来自节点k;相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[k];
步骤109:在时间点TI,主节点经过一段时间的处理延迟后,主节点把步骤108中获得的接收时间戳t4[k]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤110:在时间点TJ,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[k];
步骤111:循环步骤,网络中的各个从节点,分别重复前述步骤107至步骤110;
步骤112:直到时间点TK,最后一个从节点(记作N)获得媒介使用权,在该从节点的时间点t3[N]向主节点以广播方式回复Delay_Req时间信息包,该包也可以被相邻节点侦听并接收到;
步骤113:在时间点TL,从节点N发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[N],相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[N];
步骤114:在时间点TM,主节点把步骤113中获得的接收时间戳t4[N]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤115:在时间点TN,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[N]。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述主节点工作过程包括:
步骤301:当同步周期到时,主节点通过发送Sync时间信息包来新一轮的同步过程,Sync时间信息包以广播方式开始发送,发送时主节点获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送,
步骤302:发送完Sync包后,主节点转入接收模式,等待来自某个从节点的Delay_Req时间信息包,
步骤303:当有一个Delay_Req包达到时,获取该Delay_Req包的接时间戳,记作t4,
步骤304:主节点生成一个Delay_Resp时间信息包,并把步骤303中的时间戳t4以及前述Delay_Res包来自哪个从节点的信息放入Delay_Resp包中,以广播方式发送Delay_Resp包,
步骤305:主节点检查本轮同步是否完成,判断标准是(a)是否已经接收到所有从节点的Delay_Req包,或者(b)等待是否超时,如果未完成,则转入步骤302,等待接收下一个从节点的Delay_Req包;如果本轮同步已经完成,则转入下一个等待状态,等待下一轮同步周期到,
步骤306:等待下一轮同步周期到,如果新一轮同步周期到,则转入步骤301,开始新一轮的时间同步过程。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述从节点工作过程包括:
步骤401:开始时,从节点i处于侦听接收状态,等待来自主节点的Sync 时间信息包,
步骤402:当侦听到来自主节点的Sync包后,在接收过程中,基于本地时钟获取Sync包的接收时间戳,记作t2[i],
步骤403:从Sync包中提取出t1信息,记作t1[i],
步骤404;本从节点转入发送模式,按照MAC协议规定的方式获取无线信道使用权,如果获得获得信道使用权,则转入步骤405以发送Delay_Req包;如果未获得信道使用权,则转入步骤411以侦听接收其他节点的时间信息包,
步骤405:本从节点获得了信道使用权,则向主节点发送Delay_Req时间信息包,基于本地时钟获取Sync包的发送时间戳,记作t3[i],该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到,
步骤406:发送Delay_Req包完成后,转入接收模式,等待接收主节点返回的Delay_Resp时间信息包,
步骤407:当来自主节点的Delay_Resp包接收完成后,提取Delay_Resp包中的时间戳信息t4,记作t4[i],
步骤408:从节点检查本轮同步是否完成,判断标准是(a)是否已经接收到所有从节点的Delay_Req/Delay_Resp包,或者(b)本轮时间同步的包交换是否超时,如果未完成,则转入步骤409;如果已完成则转入数据处理步骤413,
步骤409:从节点检查自己是否已经发送过Delay_Req包并成功接收了Delay_Resp包,如果已完成,则转入步骤410;如果未完成,则转入步骤404,
步骤410:从节点进入接收侦听模式,等待截获其他从节点与主节点之间的Delay_Req和Delay_Resp包交换,
步骤411:当侦听到来自其他从节点,设为从节点k的Delay_Req包后, 在接收过程中,基于本地时钟获取该Delay_Req包的接收时间戳,记作t5[k],
步骤412:等待并接收来自主节点回复给从节点k的Delay_Resp包,接收完成后,提取该包中的时间戳信息t4,记作t4[k],然后转入步骤408;
步骤413:数据处理步骤,从节点将截获的相邻从节点和主节点的时间同步信息包中的时间戳进行线性回归优化,获得从节点的时钟频率偏差和频率漂移的估计值,并在同步过程中利用获得的时钟偏差和频率漂移的估计值对从节点时钟进行调整,实现时间同步。
所述的针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法,优选的,所述数据处理步骤413包括:
步骤P1,将从时钟在TA时刻的时钟偏差记作θ[0],θ[0]为未知值,此刻从时钟的时间值近似为t2[i],主时钟的时间值为t1[i]=t1;
步骤P2,当本从节点i与主节点完成Sync,Delay_Req和Delay_Resp包交换后,便获得了时间戳t1[i],t2[i],t3[i]和t4[i],据此可按照下述公式计算在TD时刻的从时钟的时钟偏差值θ[i],即
和dsm和dm s为时间主从之间的传输延迟
以主时钟的角度来看,TD和TA时刻之间的时间差τ[i]为
τ[i]=t4[i]-t1[i]
因此θ[i]和θ[0]之间的关系用一个线性回归方程来描述
θ[i]=θ[0]+γ·τ[i]
步骤P3:在TH时刻截获了相邻从节点k发出的Delay_Req包,在该时刻从时钟的时间值为t5[k],记该时刻的时钟偏差为θ[k]。在稍后获到了t4[k]后,θ[k]计算如下
θ[k]=t5[k]-t4[k]
以主时钟的角度来看,TH和TA时刻之间的时间差τ[k]为
τ[k]=t4[k]-t1[i]
因此θ[k]和θ[0]之间的关系用一个线性回归方程来描述
θ[k]=θ[0]+γ·τ[k];
步骤P4,重复步骤P3,得到多个上述方程,用矩阵描述如下
对上述方程组采用最小二乘法求解,可以得到对θ[0]和γ的一个最优估计,
上式中,上标T表示矩阵转置,上标-1表示矩阵求逆。
步骤P5,时钟校正,将时钟偏差和频率漂移的最优估计值Γ用于对时钟的校正。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本方案IEEE 1588PTP同步机制的时间同步改进方法,该方法能与IEEE1588PTP标准兼容,但充分利用了无线通信的广播特性,在不改变IEEE 1588PTP包交换过程的情况下,将从-从同步机制作为对IEEE 1588PTP主-从同步的扩展,利用从-从机制中的信息冗余,在从节点采用线性回归的方法更好完成时钟偏移和频率漂移的估计,从而减少主从路径不对称,时间戳不够精确等因素造成的影响,以在无线网络或者无线传感器网络下实现高精度,高可靠的时间同步。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法的原理流程图;
图2是本发明针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法的时间戳示意图;
图3是本发明针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法中主节点的包收发和数据处理流程图;
图4是本发明针对无线网络的基于IEEE 1588PTP机制的时间同步改进方法中从节点的包收发和数据处理流程图。
具体实施方式
为克服在无线网络中运用IEEE 1588PTP进行时间同步时的不足,本发明的目的在于提供一种适用于无线网络的,基于IEEE 1588PTP同步机制的时间同步改进方法,该方法能与IEEE 1588PTP标准兼容,但充分利用了无线通信的广播特性,在不改变IEEE 1588PTP包交换过程的情况下,将从-从同步机制作为对IEEE 1588PTP主-从同步的扩展,利用从-从机制中的信息冗余,在从节点采用线性回归的方法更好完成时钟偏移和频率漂移的估计,从而减少主从路径不对称,时间戳不够精确等因素造成的影响,以在无线网络或者无线传感器网络下实现高精度,高可靠的时间同步。
为达到上述目的,本发明解决该技术问题所采用的技术方案是,
一种基于IEEE 1588PTP机制的高可靠时间同步改进方法,包括以下步骤:
步骤一:由主节点发起,在主节点与从节点间按照IEEE 1588PTP标准的包交换机制启动带时间戳信息的包交换。
步骤二:从节点按照MAC机制竞争使用无线信道,逐一与主节点完成IEEE 1588PTP标准规定的时间同步信息包的交换。在此争用过程中,从节点在未与主节点按照进行包交换时,该从节点保持侦听模式,尽可能多的接收相邻从节点和主节点之间的时间同步信息包。该侦听过程并不影响其他相邻从节点与主节点之间的同步交换过程。
步骤三:参照IEEE 1588PTP标准的主从时钟偏移计算方法,利用统计计算方法对步骤二中侦听截获的相邻节点的时间同步信息包中的时间戳进行线 性回归优化,利用信息冗余,克服接收延迟不确定性对从时钟偏差估计值影响,减少主从路径不对称,发送延迟不确定,时间戳不准确对时钟偏差估计值影响,提高从时钟的时间偏差的测量精度。
步骤四:从节点的时钟频率漂移估计,并在后继过程中利用估计出的时钟偏差和频率漂移对从时钟进行调整,实现时间同步。
步骤五:按照一定周期重复上述步骤一到步骤四。该重复过程由主节点控制,即主节点周期性地启动步骤一。
进一步的,在步骤一中执行的是IEEE 1588PTP的Sync包的收发过程,包含以下几个子步骤:(1a)主节点以广播方式发送一个Sync数据包给所有从节点,以启动时间同步过程;(1b)主节点以本地主时钟为参照,获取Sync包的发送时间t1,并将t1作为时间戳附添加在Sync包中。(1c)从节点处于接收模式,等待接收该Sync包。(1d)从节点在接收到主节点发送的Sync包后,以从节点本地时钟为参照,立刻获取该Sync包的接收时间,记作t2。(1e)从节点解析其接收到的Sync包中的数据,获取其中的时间戳信息t1。
进一步的,在步骤二中执行的是IEEE 1855PTP Delay_Req和Delay_Resp包的收发和侦听过程,包含以下几个子步骤:(2a)主节点转入接收模式,准备接收即将由从节点返回的Delay_Req包。(2b)从节点转入发送模式,准备发送一个Delay_Req消息给主节点,并进入MAC机制所规定的无线信道争用过程。(2b)若从节点获得了无线信道的使用权,以广播方式向主节点发送该Delay_Req数据包,并以从节点本地时钟为参照,获取Delay_Req的发送时间t3,将t3作为时间戳附加在Delay_Req数据包中。(2c)若从节点未能获得无线信道的使用权,从节点转入接收模式,侦听并截获其他相邻节点发出的带有t3的Delay_Req数据包。(2d)主节点在接收到Delay_Req数据包后,以主节 点本地时钟为参照,立刻获取该Delay_Req包的接收时间,记作t4。接着主节点转入发送模式,将t4作为时间戳附加到Delay_Resp数据包中,以广播方式发送Delay_Resp数据包给从节点。发送完成后,主节点转入接收模式。(2e)从节点接收Delay_Resp包,并将时间戳信息t4解析出来;(2f)处于侦听模式的从节点也对Delay_Req和Delay_Resp包进行截获。在截获Delay_Req包时,以从节点的本地时钟为参照,获取Delay_Req包的接收时间,记作t5;在截获Delay_Resp包后,将Delay_Resp中的时间戳信息t4解析出来。(2e)刚才获得了获得了无线信道的使用权的从节点放弃该使用权,转入步骤(2c)的侦听模式。(2f)刚才未获得无线信道的使用权的从节点转入步骤(2b)的发送模式,竞争使用无线信道的使用权,向主节点发送自己的Delay_Req数据包。(2g)主节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在一段时间阈值内未侦听到任何时间信息报交换,则主节点认为本轮同步完成,结束当前包交换过程,等待下一轮同步周期到,转入步骤一。(2h)从节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在一段时间阈值内未侦听到任何时间信息报交换,则从节点认为本轮同步的包交换已经完成,从节点退出接收侦听模式,进入步骤三。
进一步的,在步骤三中,从节点根据的本节点与主节点之间包交换得到的t1,t2,t3,t4时间戳信息和一组通过侦听得到的其他邻节点k和主节点之间包交换得到的t4[k]和t5[k]时间戳信息(k代表第k个邻接点,若某从节点拥有N个邻节点,则k={1,2,…N},因此该从节点可以最多通过侦听获取到N对{t4[k],t5[k]}时间戳),利用线性回归优化方法,估计出从时钟的时间偏差。包含以下几个子步骤:(3a)参照IEEE 1588PTP方式从t1,t2,t3和t4中得到一个关于时钟偏差和传输延迟之间的函数关系式;(3b)从侦听获 得的N对{t4[k],t5[k]}中得到N个关于之中偏差和传输延迟之间的函数关系式;(3c)运用最小二乘法对上述N个函数关系式进行求解,得到时钟偏差的最优估计值。
进一步,在步骤四中,包含以下两个步骤:(4a)基于步骤三中得到的时钟偏差最优估计值,从节点计算出的从时钟的频率漂移,得到时钟频率漂移的估计值;(4c)利用所得到的时钟偏差和时钟频率漂移估计值,对从时钟进行调整,实现时间同步。
本发明所述方法设计的无线设备,包括时间基准源节点(称作主节点),无线网络节点、无线传感器节点和无线执行器节点(统称作从节点)。
主节点一般为网络的中心设备,如数据汇聚点,无线接入节点(Access Point),控制网络中的中央控制点,主节点维护网络的唯一全局时间,网络中的从节点通过时间同步协议与主节点进行时间信息包的交换,从保持与主节点的网络全局时间一致,达到时间同步。
本发明的时间信息包交换和时间戳解析过程如图1所示,实施方式以一个具有一个主节点和N个从节点的无线传感器执行器网络的时间同步为例。主节点上的主时钟是一个精确的时钟(即主时钟的时钟偏差θ=0,频率漂移γ=0),该主时钟的时间值作为全局时间。从节点各自有一个从时钟,由于晶振品质不同,供电,环境温度变化等原因,各从时钟并不准确(即时钟偏差θ≠0,频率漂移γ≠0),且每个从节点的时钟偏差和频率漂移值并不相同。
如图1所示,本发明的时间信息包交换包括以下步骤:
步骤101:在时间点TA,主节点以广播方式开始发送Sync时间信息包,并获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送;
步骤102:在时间点TB,该Sync时间信息包到达从节点,各个从节点以 本地从时钟为参照,获取Sync包的接收时间,由于各节点的本地从时钟并不一致,所以Sync包的接收时间戳的值也未一样,因此从节点i的Sync包接收之间记作t2[i],以此类推;
步骤103:在时间点TC,经过一段时间的处理延迟和媒介争用过程,从节点i获得了媒介的使用权,在该从节点的时间点t3[i]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤104:在时间点TD,从节点i发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[i],其中i表示该Delay_Req包来自节点i,相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[i];
步骤105:在时间点TE,主节点经过一段时间的处理延迟后,把步骤104中获得的接收时间戳t4[i]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点,包括从节点i;
步骤106:在时间点TF,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[i];
步骤107,在时间点TG,另一从节点k获得了媒介的使用权,在该从节点的时间点t3[k]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤108,在时间点TH,从节点k发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[k],其中,k表示该Delay_Req包来自节点k;相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[k];
步骤109:在时间点TI,主节点经过一段时间的处理延迟后,主节点把步骤108中获得的接收时间戳t4[k]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤110:在时间点TJ,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[k];
步骤111:循环步骤,网络中的各个从节点,分别重复前述步骤107至步骤110;
步骤112:直到时间点TK,最后一个从节点(记作N)获得媒介使用权,在该从节点的时间点t3[N]向主节点以广播方式回复Delay_Req时间信息包,该包也可以被相邻节点侦听并接收到;
步骤113:在时间点TL,从节点N发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[N],相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[N];
步骤114:在时间点TM,主节点把步骤113中获得的接收时间戳t4[N]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤115:在时间点TN,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[N]。
至此时间信息包交换完成,各从节点开始对获取到的时间信息进行处理。以节点i为例,可能获取到的时间戳有t1,t2[i],t3[i],t4[i]和t4[k],t5[k],其中,k∈{1,2,3,...N},且k≠i;
根据上述实施实例,在给定的时间范围内,仅有一个节点进行发送,而其 余节点处于侦听和接收模式。
值得注意的是,在上述包交换中,有可能由于环境干扰等原因造成某相邻节点(记作k)发出的Delay_Req包或者相应的Delay_Resp包没有被其他从节点侦听并接收到,则从节点在处理将上述时间信息包时,略去t4[k],t5[k]。在大多数情况下,总能成功侦听并接收到一部分相邻节点的Delay_Req包及其对应的Delay_Resp包,因此总会获得一些t4[k],t5[k]用于后继的时间信息处理。
在上述包交换中,所述主节点和从节点可在收发无线时间信息包时,可以通过专用硬件设备或者中断处理等手段,具有获取时间信息包的发送时间戳和接收时间戳时间的能力。而且对于同一个时间信息包的发送和接收,发送时间戳和接收时间戳是在包的同一位置进行获取,如图2所示,时间戳均在无线数据包的SFD(Start Frame Delimiter)结束处获取。
本发明所涉及的主节点的通信处理流程如图3所示,包括如下步骤:、
步骤301:当同步周期到时,主节点通过发送Sync时间信息包来新一轮的同步过程。Sync时间信息包以广播方式开始发送,发送时主节点按照图2所示方式获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送。
步骤302:发送完Sync包后,主节点转入接收模式,等待来自某个从节点的Delay_Req时间信息包。
步骤303:当有一个Delay_Req包达到时,按照图2所示方式获取该Delay_Req包的接时间戳,记作t4。
步骤304:主节点生成一个Delay_Resp时间信息包,并把步骤303中的时间戳t4以及前述Delay_Res包来自哪个从节点的信息放入Delay_Resp包中,以广播方式发送Delay_Resp包。
步骤305:主节点检查本轮同步是否完成,判断标准可以是(a)是否已经接收到所有从节点的Delay_Req包,或者(b)等待是否超时。如果未完成,则转入步骤302,等待接收下一个从节点的Delay_Req包;如果本轮同步已经完成,则转入下一个等待状态,等待下一轮同步周期到。
步骤306:等待下一轮同步周期到。如果新一轮同步周期到,则转入步骤301,开始新一轮的时间同步过程。
上述步骤以一定的时间间隔(即同步周期)循环进行。
本发明所涉及的从节点通信处理流程如图4所示,本实施实例中以编号为i的从节点为例,包括如下步骤
步骤401:开始时,从节点i处于侦听接收状态,等待来自主节点的Sync时间信息包。
步骤402:当侦听到来自主节点的Sync包后,在接收过程中,按照图2所示方式,基于本地时钟获取Sync包的接收时间戳,记作t2[i]。
步骤403:从Sync包中提取出t1信息,记作t1[i].
步骤404;本从节点转入发送模式,按照MAC协议规定的方式获取无线信道使用权。如果获得获得信道使用权,则转入步骤405以发送Delay_Req包;如果未获得信道使用权,则转入步骤411以侦听接收其他节点的时间信息包。
步骤405:本从节点获得了信道使用权,则向主节点发送Delay_Req时间信息包,并按照图2所示方式,基于本地时钟获取Sync包的发送时间戳,记作t3[i]。该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到。
步骤406:发送Delay_Req包完成后,转入接收模式,等待接收主节点返回的Delay_Resp时间信息包。
步骤407:当来自主节点的Delay_Resp包接收完成后,提取Delay_Resp包中的时间戳信息t4,记作t4[i]。
步骤408:从节点检查本轮同步是否完成,判断标准可以是(a)是否已经接收到所有从节点的Delay_Req/Delay_Resp包,或者(b)本轮时间同步的包交换是否超时。如果未完成,则转入步骤409;如果已完成则转入数据处理步骤413。
步骤409:从节点检查自己是否已经发送过Delay_Req包并成功接收了Delay_Resp包。如果已完成,则转入步骤410;如果未完成,则转入步骤404。
步骤410:从节点进入接收侦听模式,等待截获其他从节点与主节点之间的Delay_Req和Delay_Resp包交换。
步骤411:当侦听到来自其他从节点(设为从节点k)的Delay_Req包后,在接收过程中,基于本地时钟获取该Delay_Req包的接收时间戳,记作t5[k]。
步骤412:等待并接收来自主节点回复给从节点k的Delay_Resp包,接收完成后,提取该包中的时间戳信息t4,记作t4[k]。然后转入步骤408
步骤413:数据处理步骤。当从节点i在完成上述时间信息包交换流程后,不仅获得了IEEE 1588所要求的时间戳t1[i],t2[i],t3[i]和t4[i],而且通过侦听截获方式,在没有增加包交换总体数量的情况下,获取了一组{t5[k],t4[k]}(k∈{1,2,3,...N},但不包括自己,即k≠i)时间戳。该数据处理步骤由从节点在完成前述包交换后执行,主要是对所获得的时间戳信息进行处理,利用冗余信息{t5[k],t4[k]},进一步提高时间同步的精度。
进一步的,数据处理包括以下几个步骤:
步骤P1:将从时钟在TA时刻的时钟偏差记作θ[0],θ[0]为未知值,此刻 从时钟的时间值近似为t2[i],主时钟的时间值为t1[i]=t1。
步骤P2,当本从节点i与主节点完成Sync,Delay_Req和Delay_Resp包交换后,便获得了时间戳t1[i],t2[i],t3[i]和t4[i],据此可按照下述公式计算在TD时刻的从时钟的时钟偏差值θ[i],即
和主从之间的传输延迟
以主时钟的角度来看,TD和TA时刻之间的时间差τ[i]为
τ[i]=t4[i]-t1[i]
因此θ[i]和θ[0]之间的关系可用一个线性回归方程来描述
θ[i]=θ[0]+γ·τ[i]
步骤P3:在TH时刻截获了相邻从节点k发出的Delay_Req包,在该时刻从时钟的时间值为t5[k],记该时刻的时钟偏差为θ[k]。在稍后获到了t4[k]后,θ[k]计算如下
θ[k]=t5[k]-t4[k]
以主时钟的角度来看,TH和TA时刻之间的时间差τ[k]为
τ[k]=t4[k]-t1[i]
因此θ[k]和θ[0]之间的关系可用一个线性回归方程来描述
θ[k]=θ[0]+γ·τ[k]
步骤P4,重复步骤P3,可以得到多个上述方程,用矩阵描述如下
对上述方程组采用最小二乘法求解,可以得到对θ[0]和γ的一个最优估计,
上式中,上标T表示矩阵转置,上标-1表示矩阵求逆。
步骤P5:时钟校正,将时钟偏差和频率漂移的最优估计值Γ用于对时钟的校正。根据实际***的配置和要求,有多种校正方法可以采用。
本发明是一种适用于无线网络的,基于IEEE 1588PTP机制的时间同步改进方法。在遵从IEEE 1588PTP时间信息包交换机制的情况下,充分利用无线通信的广播特性,在时间同步的包交换过程中,侦听并截获其他相邻节点与主节点按照IEEE 1588PTP机制进行交换时的时间信息包,从而实现了一种从-从时间同步机制。该从从同步机制作为对IEEE1588PTP主-从同步的扩展,可以获得更多的时间信息,并利用从-从机制中所获得的信息冗余,在从节点采用线性回归的方法使得对钟偏移和频率漂移的估计更准确可靠。
主从节点之间的时间信息包交换服从IEEE 1588PTP信息包交换机制,与 基于IEEE 1588PTP的无线网络时间同步设备具有很好的兼容性。从节点与主节点的时间信息包交换过程中,涉及到的步骤包括:
a.主节点首先发送Sync包,包含发送时间戳信息t1
b.从节点接收到Sync包后,获取Sync包的接收时间戳信息t2,然后回复Delay-Req包给主节点,并获取Delay_Req包的发送时间戳t3
c.主节点在接收到Delay_Req包后,获取Delay_Req包的接收时间戳信息t4,回复Delay_Resp包给从节点,并把t4放入Delay_Resp包中一起发送。
以上三个时间信息包的发送均按照广播方式进行。
当从节点不于主节点交换时间信息包时,引入了侦听接收机制,利用时间信息包的广播发送特性,侦听并截获其他相邻节点与主节点间的Delay_Req和Delay_Resp时间信息包,对截获Delay_Req包是获取其接收时间戳(记作t5),对截获的Delay_Resp包,解析获取其中包含的时间戳信息t4。由于从节点通常具有多个相邻节点,因此可以获取多组[t5,t4]时间戳。
在获取了t1,t2,t3,t4和多组相邻节点的[t5,t4]时间戳信息后,除了按照IEEE1588PTP标准从t1,t2,t3,t4中计算出时钟偏差外,还可以从[t5,t4]中计算出时钟偏差。按照时间戳,时间偏差与时钟频率漂移之间的关系,得到了一组回归方程。利用最小二乘法求解,即可得到一个更准确的对时间偏差和时钟频率漂移的估计。侦听并截获相邻从节点时间信息包,然后从[t5,t4]中计算出时钟偏差的过程是一种从-从同步过程,本发明所述的时间同步改进方法,其主要技术改进就在于,引入并实现了一种从-从同步机制,该从从同步机制作为对IEEE 1588PTP主-从同步的扩展,可以获得更多的时间信息,并利用最小二乘法达到提高时钟偏差和时钟频率漂移估计精度和可靠性的目的。
与现有技术相比,本发明结合了主从同步和从从同步的优点,具有以下优点和有益的技术效果:
1.本发明提出的无线网络的高精度高可靠时间同步方法,在遵从IEEE1588PTP所规定的时间信息包交换过程的情况下,充分利用了无线通信的广播特性,通过侦听邻接点与主节点之间的IEEE 1588PTP包交换,实现了从-从同步机制。该方法无需额外增加时间信息包的交换,所需的包交换数量与IEEE 1588PTP标准相同。而且在出现时间信息包丢包的情况下(比如工业应用中恶劣环境电磁干扰所带来的较高丢包率),无需重传时间信息包,也能实现同步,降低了对通信资源的消耗。
2.本发明提出的无线网络的高精度高可靠时间同步方法,在IEEE 1588PTP主-从同步的基础上,利用所提出的从-从同步机制中的信息冗余,采用线性回归的方法更好完成时钟偏移和频率漂移的估计,从而能有效减少主从路径不对称,发送延迟,传输延迟抖动,时间戳不够精确等因素造成的影响,以提高无线传感执行器网络中时间同步的精度。
3.本发明提出的无线网络的高精度高可靠时间同步方法,在出现部分时间同步数据包丢失时,如与主节点通信不畅,出现时间信息包被丢包时,仍能通过从-从同步机制实现同步,而无需重传时间信息包,既能提高可靠性,又能降低同步方法对通信资源的消耗。又如在出现某几个邻接点失效时,能通过与主节点包交换和侦听其他未失效的邻接点的包交换来实现同步,因此比单纯的主-从同步方法更加可靠。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,包括如下步骤:
步骤1,由主节点周期性的启动主节点和从节点之间带有时间戳的时间信息包交换;
步骤2,若干从节点逐一与主节点进行时间信息包交换,在某一从节点未与主节点进行时间信息包交换时,该从节点保持侦听模式,并截获其它相邻从节点和主节点间以广播方式进行交换的时间同步信息包;
步骤3,从节点将截获的相邻从节点和主节点的时间同步信息包中的时间戳进行线性回归优化,获得本从节点的时钟频率偏差和频率漂移的估计值,并利用获得的时钟偏差和频率漂移的估计值对从节点时钟进行调整,实现时间同步;
所述时间信息包交换包括:
步骤101:在时间点TA,主节点以广播方式开始发送Sync时间信息包,并获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送;
步骤102:在时间点TB,该Sync时间信息包到达从节点,各个从节点以本地从时钟为参照,获取Sync包的接收时间,由于各节点的本地从时钟并不一致,所以Sync包的接收时间戳的值也未一样,因此从节点i的Sync包接收之间记作t2[i],以此类推;
步骤103:在时间点TC,经过一段时间的处理延迟和媒介争用过程,从节点i获得了媒介的使用权,在该从节点的时间点t3[i]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤104:在时间点TD,从节点i发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[i],其中i表示该Delay_Req包来自节点i,相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[i];
步骤105:在时间点TE,主节点经过一段时间的处理延迟后,把步骤104中获得的接收时间戳t4[i]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点,包括从节点i;
步骤106:在时间点TF,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[i];
步骤107,在时间点TG,另一从节点k获得了媒介的使用权,在该从节点的时间点t3[k]向主节点回复Delay_Req时间信息包,该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到;
步骤108,在时间点TH,从节点k发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[k],其中,k表示该Delay_Req包来自节点k;相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[k];
步骤109:在时间点TI,主节点经过一段时间的处理延迟后,主节点把步骤108中获得的接收时间戳t4[k]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤110:在时间点TJ,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[k];
步骤111:循环步骤,网络中的各个从节点,分别重复前述步骤107至步骤110;
步骤112:直到时间点TK,最后一个从节点(记作N)获得媒介使用权,在该从节点的时间点t3[N]向主节点以广播方式回复Delay_Req时间信息包,该包也可以被相邻节点侦听并接收到;
步骤113:在时间点TL,从节点N发出的Delay_Req时间信息包到达主节点和各相邻节点,主节点以主时钟为参照,获取Delay_Req包到达主节点的时间,记作t4[N],相邻从节点以各自从时钟为参照,获取Delay_Req包到达各从节点的时间,分别记作t5[N];
步骤114:在时间点TM,主节点把步骤113中获得的接收时间戳t4[N]放入一个Delay_Resp时间信息包,并以广播方式发送该Delay_Resp时间信息包给所有从节点;
步骤115:在时间点TN,该Delay_Resp时间信息包到达从节点,各个从节点从该Delay_Resp包中提取出时间戳信息t4[N]。
2.根据权利要求1所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述步骤1包括:
步骤1-1,主节点首先发送包含发送时间戳信息的同步包(Sync);
步骤1-2,从节点接收到同步包(Sync)后,获取同步包(Sync)的接收时间戳信息,回复延迟请求包(Delay_Req)给主节点,并获取延迟请求包(Delay_Req)的发送时间戳;
步骤1-3,主节点在接收到延迟请求包(Delay_Req)后,获取延迟请求包(Delay_Req)的接收时间戳信息,回复延迟响应包(Delay_Resp)给从节点,并把延迟请求包(Delay_Req)的接收时间戳信息放入延迟响应包(Delay_Resp)中一起发送;当从节点未与主节点进行延迟请求包(Delay_Req)和延迟响应包(Delay_Resp)交换时,转入侦听模式,截获其他从节点与主节点之间交换的延迟请求包(Delay_Req)和延迟响应包(Delay_Resp)及其相应时间戳。
3.根据权利要求2所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述步骤1包括:
步骤1A,主节点以广播方式发送一个同步包(Sync)给全部从节点,启动时间同步过程;
步骤1B,主节点以本地时钟为参照,获取同步包(Sync)的发送时间戳t1,并将时间戳t1添加在同步包(Sync)中;
步骤1C,从节点处于接收模式,等待接收该同步包(Sync);
步骤1D,从节点在接收到主节点发送的同步包(Sync)后,以从节点本地时钟为参照,立刻获取该同步包(Sync)的接收时间,记作时间戳t2;
步骤1E,从节点解析其接收到的同步包(Sync)中的数据,获取其中的时间戳信息t1。
4.根据权利要求2所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述步骤2包括:
步骤2A,主节点转入接收模式,准备接收即将由从节点返回的延迟请求包(Delay_Req)包;
步骤2B,从节点转入发送模式,准备发送一个延迟请求包(Delay_Req)消息给主节点,并进入MAC机制所规定的无线信道争用过程;
步骤2C,若从节点获得了无线信道的使用权,以广播方式向主节点发送该Delay_Req包,并以从节点本地时钟为参照,获取延迟请求包(Delay_Req)的发送时间戳t3,将时间戳t3作为时间戳附加在延迟请求包(Delay_Req)中;
步骤2D,主节点在接收到延迟请求包(Delay_Req)后,以主节点本地时钟为参照,立刻获取该延迟请求包(Delay_Req)的接收时间,记作时间戳t4;主节点转入发送模式,将时间戳t4附加到延迟请求包(Delay_Req)中,以广播方式发送延迟请求包(Delay_Req)给从节点;发送完成后,主节点转入接收模式;
步骤2E,从节点接收延迟请求包(Delay_Req),并将时间戳t4解析出来;
步骤2F,若从节点未能获得无线信道的使用权,从节点转入侦听接收模式,侦听并截获其他相邻节点发出的延迟请求包(Delay_Req)和主节点发出的带有时间戳t4的延迟响应包(Delay_Resp)进行截获;在截获延迟请求包(Delay_Req)时,以从节点的本地时钟为参照,获取延迟请求包(Delay_Req)的接收时间,记作时间戳t5;在截获延迟响应包(Delay_Resp)后,将延迟响应包(Delay_Resp)中的时间戳t4解析出来;
步骤2G,对于获得了无线信道的使用权的从节点,当完成步骤2C,2D和2E后,放弃该使用权,转入步骤2F的侦听模式;
步骤2H,对于未获得无线信道的使用权的从节点,在完成步骤2F后,转入步骤2B的发送模式,竞争使用无线信道使用权,向主节点发送自己的延迟请求包(Delay_Req);
步骤2I,主节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在设定时间阈值内未侦听到任何时间信息报交换,则主节点认为本轮同步完成,结束当前包交换过程,等待下一轮同步周期到,转入步骤1-1;
步骤2J,从节点的包交换结束机制,当所有从节点均与主节点完成包交换后,或者在一段时间阈值内未侦听到任何时间信息报交换,则从节点认为本轮同步的包交换已经完成,从节点退出接收侦听模式。
5.根据权利要求2所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述步骤3包括:
步骤3A,从节点与主节点之间包交换得到的t1,t2,t3,t4时间戳和一组通过侦听得到的其他邻节点k和主节点之间包交换得到的t4[k]和t5[k]时间戳,其中k为第k个邻接点,若某从节点拥有N个邻节点,则k={1,2,…N},N为正整数,该从节点最多通过侦听获取到N对{t4[k],t5[k]}时间戳,利用线性回归优化方法,估计出从节点时钟的时间偏差;参照IEEE1588 PTP方式从t1,t2,t3和t4中得到一个关于时钟偏差和传输延迟之间的函数关系式;
步骤3B,侦听获得的N对{t4[k],t5[k]}中得到N个关于偏差和传输延迟之间的函数关系式;
步骤3C,运用最小二乘法对N+1个函数关系式进行求解,得到时钟偏差的最优估计值;
步骤3D,得到的时钟偏差最优估计值后,从节点计算出的从节点时钟的频率漂移,得到时钟偏差和频率漂移的估计值;
步骤3E,利用所得到的时钟偏差和频率漂移估计值,对从节点时钟进行调整,实现时间同步。
6.根据权利要求1所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述主节点工作过程包括:
步骤301:当同步周期到时,主节点通过发送Sync时间信息包来新一轮的同步过程,Sync时间信息包以广播方式开始发送,发送时主节点获取该Sync包的发送时间t1,并将t1放入Sync包中一起发送,
步骤302:发送完Sync包后,主节点转入接收模式,等待来自某个从节点的Delay_Req时间信息包,
步骤303:当有一个Delay_Req包达到时,获取该Delay_Req包的接时间戳,记作t4,
步骤304:主节点生成一个Delay_Resp时间信息包,并把步骤303中的时间戳t4以及前述Delay_Res包来自哪个从节点的信息放入Delay_Resp包中,以广播方式发送Delay_Resp包,
步骤305:主节点检查本轮同步是否完成,判断标准是(a)是否已经接收到所有从节点的Delay_Req包,或者(b)等待是否超时,如果未完成,则转入步骤302,等待接收下一个从节点的Delay_Req包;如果本轮同步已经完成,则转入下一个等待状态,等待下一轮同步周期到,
步骤306:等待下一轮同步周期到,如果新一轮同步周期到,则转入步骤301,开始新一轮的时间同步过程。
7.根据权利要求1所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述从节点工作过程包括:
步骤401:开始时,从节点i处于侦听接收状态,等待来自主节点的Sync时间信息包,
步骤402:当侦听到来自主节点的Sync包后,在接收过程中,基于本地时钟获取Sync包的接收时间戳,记作t2[i],
步骤403:从Sync包中提取出t1信息,记作t1[i],
步骤404;本从节点转入发送模式,按照MAC协议规定的方式获取无线信道使用权,如果获得获得信道使用权,则转入步骤405以发送Delay_Req包;如果未获得信道使用权,则转入步骤411以侦听接收其他节点的时间信息包,
步骤405:本从节点获得了信道使用权,则向主节点发送Delay_Req时间信息包,基于本地时钟获取Sync包的发送时间戳,记作t3[i],该Delay_Req包也以广播方式发送,也可以被相邻节点侦听并接收到,
步骤406:发送Delay_Req包完成后,转入接收模式,等待接收主节点返回的Delay_Resp时间信息包,
步骤407:当来自主节点的Delay_Resp包接收完成后,提取Delay_Resp包中的时间戳信息t4,记作t4[i],
步骤408:从节点检查本轮同步是否完成,判断标准是(a)是否已经接收到所有从节点的Delay_Req/Delay_Resp包,或者(b)本轮时间同步的包交换是否超时,如果未完成,则转入步骤409;如果已完成则转入数据处理步骤413,
步骤409:从节点检查自己是否已经发送过Delay_Req包并成功接收了Delay_Resp包,如果已完成,则转入步骤410;如果未完成,则转入步骤404,
步骤410:从节点进入接收侦听模式,等待截获其他从节点与主节点之间的Delay_Req和Delay_Resp包交换,
步骤411:当侦听到来自其他从节点,设为从节点k的Delay_Req包后,在接收过程中,基于本地时钟获取该Delay_Req包的接收时间戳,记作t5[k],
步骤412:等待并接收来自主节点回复给从节点k的Delay_Resp包,接收完成后,提取该包中的时间戳信息t4,记作t4[k],然后转入步骤408;
步骤413:数据处理步骤,从节点将截获的相邻从节点和主节点的时间同步信息包中的时间戳进行线性回归优化,获得从节点的时钟频率偏差和频率漂移的估计值,并在同步过程中利用获得的时钟偏差和频率漂移的估计值对从节点时钟进行调整,实现时间同步。
8.根据权利要求1所述的针对无线网络的基于IEEE 1588 PTP机制的时间同步改进方法,其特征在于,所述数据处理步骤413包括:
步骤P1,将从时钟在TA时刻的时钟偏差记作θ[0],θ[0]为未知值,此刻从时钟的时间值近似为t2[i],主时钟的时间值为t1[i]=t1;
步骤P2,当本从节点i与主节点完成Sync,Delay_Req和Delay_Resp包交换后,便获得了时间戳t1[i],t2[i],t3[i]和t4[i],据此可按照下述公式计算在TD时刻的从时钟的时钟偏差值θ[i],即
和dsm和dms为时间主从之间的传输延迟
以主时钟的角度来看,TD和TA时刻之间的时间差τ[i]为
τ[i]=t4[i]-t1[i]
因此θ[i]和θ[0]之间的关系用一个线性回归方程来描述
θ[i]=θ[0]+γ·τ[i]
步骤P3:在TH时刻截获了相邻从节点k发出的Delay_Req包,在该时刻从时钟的时间值为t5[k],记该时刻的时钟偏差为θ[k]。在稍后获到了t4[k]后,θ[k]计算如下
θ[k]=t5[k]-t4[k]
以主时钟的角度来看,TH和TA时刻之间的时间差τ[k]为
τ[k]=t4[k]-t1[i]
因此θ[k]和θ[0]之间的关系用一个线性回归方程来描述
θ[k]=θ[0]+γ·τ[k];
步骤P4,重复步骤P3,得到多个方程,用矩阵描述如下
对上述方程组采用最小二乘法求解,可以得到对θ[0]和γ的一个最优估计,
上式中,上标T表示矩阵转置,上标-1表示矩阵求逆;
步骤P5,时钟校正,将时钟偏差和频率漂移的最优估计值Γ用于对时钟的校正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410787648.8A CN104507156B (zh) | 2014-12-17 | 2014-12-17 | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410787648.8A CN104507156B (zh) | 2014-12-17 | 2014-12-17 | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104507156A CN104507156A (zh) | 2015-04-08 |
CN104507156B true CN104507156B (zh) | 2018-10-30 |
Family
ID=52948856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410787648.8A Expired - Fee Related CN104507156B (zh) | 2014-12-17 | 2014-12-17 | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104507156B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3866358A4 (en) * | 2019-12-19 | 2022-10-12 | Shenyang Institute of Automation, Chinese Academy of Sciences | TIME SYNCHRONIZATION METHOD FOR A REDUNDANT NETWORK |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993898B (zh) * | 2015-05-28 | 2018-04-27 | 重庆邮电大学 | 一种wia-pa网络中簇内节点间监听式时钟同步的方法 |
CN105025568A (zh) * | 2015-06-16 | 2015-11-04 | 山东大学(威海) | 一种基于频偏竞标及动态拓扑的大规模无线传感器网络同步器 |
CN105467827B (zh) * | 2015-12-08 | 2018-01-19 | 广西电网有限责任公司电力科学研究院 | 一种基于集中器的非对称时钟的校正方法及*** |
CN106921456B (zh) | 2015-12-24 | 2018-06-19 | 中国科学院沈阳自动化研究所 | 基于ptp协议的多跳无线回程网络时间同步误差补偿方法 |
CN105490799B (zh) * | 2016-01-15 | 2018-04-03 | 南京邮电大学 | 一种基于双向报文交换的多终端时间同步方法 |
JP6487386B2 (ja) * | 2016-07-22 | 2019-03-20 | ファナック株式会社 | 時刻精度を維持するためのサーバ、方法、プログラム、記録媒体、及びシステム |
CN106789196B (zh) * | 2016-12-06 | 2020-10-09 | 中国电子科技集团公司第三十二研究所 | 可灵活配置的高冗余高精度时间同步*** |
CN110351823A (zh) * | 2018-04-03 | 2019-10-18 | 华为技术有限公司 | 通信的方法和装置 |
US11974238B2 (en) | 2018-06-21 | 2024-04-30 | Nokia Technologies Oy | Time-synchronized radio bearer for supporting precision timing protocol (PTP) based time sensitive network (TSN) applications |
CN109068385B (zh) * | 2018-09-14 | 2020-11-06 | 西北工业大学 | 一种具有容错性的水下无线网络时间同步方法 |
CN109672728A (zh) * | 2018-12-06 | 2019-04-23 | 航天恒星科技有限公司 | 一种大规模分布式集群节点信息快速获取方法 |
CN109672731A (zh) * | 2018-12-17 | 2019-04-23 | 航天恒星科技有限公司 | 一种分布式节点信息监测方法、***及应用 |
US10812251B2 (en) * | 2018-12-18 | 2020-10-20 | Simmonds Precision Products, Inc. | Distributed time synchronization protocol for an asynchronous communication system |
CN109548135B (zh) * | 2019-01-28 | 2020-12-01 | 青岛联合创智科技有限公司 | 一种优化的无线网络时间同步方法 |
CN111817819B (zh) * | 2019-04-12 | 2023-06-02 | 中兴通讯股份有限公司 | 一种fec模式的同步方法、***、主节点及从节点 |
CN110366101B (zh) * | 2019-07-26 | 2023-06-06 | 杭州微萤科技有限公司 | 一种uwb集中式计算实现大规模定位的方法 |
CN110446253A (zh) * | 2019-07-26 | 2019-11-12 | 杭州微萤科技有限公司 | 一种通过uwb定位过程中卫星的同步方法 |
CN110446156B (zh) * | 2019-07-26 | 2023-06-06 | 杭州微萤科技有限公司 | 一种uwb分布式计算实现大规模定位的方法 |
CN111107623A (zh) * | 2019-12-10 | 2020-05-05 | 陕西凌云电器集团有限公司 | 一种***时钟同步方法 |
CN113132045A (zh) * | 2021-03-25 | 2021-07-16 | 井芯微电子技术(天津)有限公司 | 冗余***的时钟同步方法、冗余***及网络*** |
CN113315596B (zh) * | 2021-05-27 | 2022-07-22 | 北京邮电大学 | 一种包交换网络中的时间同步方法及装置 |
CN113507741A (zh) * | 2021-07-01 | 2021-10-15 | 北京佰才邦技术股份有限公司 | 通信时延确定方法和电子设备 |
CN114337890B (zh) * | 2021-11-25 | 2023-08-01 | 伟乐视讯科技股份有限公司 | 一种基于ptp网络同步的多终端播发同步***及方法 |
CN114374462B (zh) * | 2022-01-17 | 2023-12-19 | 上海交通大学 | 一种工业无线网络的时钟同步***及方法 |
CN114845374B (zh) * | 2022-04-15 | 2024-03-29 | 沈阳中科奥维科技股份有限公司 | 一种基于wia-pa无线网络的高频率同步方法 |
CN116208289B (zh) * | 2023-04-28 | 2023-07-21 | 北京邮电大学 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800648A (zh) * | 2010-01-27 | 2010-08-11 | 成都天奥电子有限公司 | 一种兼具ntp和ptp功能的以太网卡及其实现方法 |
CN101848075A (zh) * | 2009-03-26 | 2010-09-29 | 索尼公司 | 接收装置和用于接收装置的时刻校正方法 |
CN102098155A (zh) * | 2011-03-18 | 2011-06-15 | 北京国智恒电力管理科技有限公司 | 基于ptp协议实现亚微秒级同步精度的方法 |
CN103546868A (zh) * | 2012-07-12 | 2014-01-29 | 华为技术有限公司 | 一种无线传感器网络的时间同步方法、网络***和节点 |
-
2014
- 2014-12-17 CN CN201410787648.8A patent/CN104507156B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848075A (zh) * | 2009-03-26 | 2010-09-29 | 索尼公司 | 接收装置和用于接收装置的时刻校正方法 |
CN101800648A (zh) * | 2010-01-27 | 2010-08-11 | 成都天奥电子有限公司 | 一种兼具ntp和ptp功能的以太网卡及其实现方法 |
CN102098155A (zh) * | 2011-03-18 | 2011-06-15 | 北京国智恒电力管理科技有限公司 | 基于ptp协议实现亚微秒级同步精度的方法 |
CN103546868A (zh) * | 2012-07-12 | 2014-01-29 | 华为技术有限公司 | 一种无线传感器网络的时间同步方法、网络***和节点 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3866358A4 (en) * | 2019-12-19 | 2022-10-12 | Shenyang Institute of Automation, Chinese Academy of Sciences | TIME SYNCHRONIZATION METHOD FOR A REDUNDANT NETWORK |
Also Published As
Publication number | Publication date |
---|---|
CN104507156A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104507156B (zh) | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 | |
CN100561904C (zh) | 一种实现以太网链状网络节点间同步的装置和方法 | |
US9252902B2 (en) | Precision timing in a data over cable service interface specification (DOCSIS) system | |
CN106992830B (zh) | 一种fc-ae-1553网络中的时钟同步方法 | |
CN102244603B (zh) | 传输承载时间的报文的方法、设备及*** | |
CN102013931B (zh) | 时间同步方法及***、从属定时设备及主定时设备 | |
CN102710410B (zh) | 一种ntp网络和ptp网络之间时钟同步的方法 | |
CN106357362B (zh) | 一种时间同步方法、装置及ptp*** | |
CN102869087B (zh) | 工业物联网芯片的硬件时间同步实现方法 | |
CN108667547A (zh) | 一种网络时间协议转换方法及*** | |
CN107579793A (zh) | 一种通信网络设备间时间同步的优化方法、装置及设备 | |
CN102299788A (zh) | 自动发送ieee1588协议报文的控制方法及装置 | |
CN104754722A (zh) | 一种面向层次化异构网络的时间同步方法 | |
CN103607270B (zh) | 提高Powerlink以太网同步性能的方法 | |
CN107786293A (zh) | 时间同步方法、主时钟设备、从时钟设备及时间同步*** | |
CN110572230A (zh) | 一种用于实现时间同步的修正方法及装置 | |
CN103117829A (zh) | 一种不对称网络间的时间同步与补偿方法或者装置 | |
CN103647614A (zh) | 基于ieee1588协议的可靠提高时间同步精度方法 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
CN105978652A (zh) | 冗余以太网的同步对时设备、***及方法 | |
CN107548147B (zh) | 一种无线自组织网络无外时钟网同步算法 | |
CN110808807B (zh) | 一种局域网络中设备的时钟同步方法 | |
CN105634637A (zh) | 一种ptp和sync-e融合的时频同步方法 | |
CN102571253B (zh) | 实现精确时间同步的方法和设备 | |
Gaderer et al. | A novel, wireless sensor/actuator network for the factory floor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181030 Termination date: 20201217 |