随着网络技术的发展,分布式控制系统中对时间同步的要求越来越高。例如在机电控制、通信等领域中已经对时间同步提出了微秒级的要求。在分布式数据采集系统中,考虑到实时性的调度和控制,对时间统一的要求就更为严格。所以建立一个时间统一的分布式系统是分布式网络的基本要求。IEEE1588(简称PTP,PrecisionTimeProtocol)定义了一个在测量和控制系统中,与网络通信,本地计算和分配对象有关的时钟同步协议,该协议适用于任何满足多点通信的分布式控制系统,对于采用多播技术终端的时钟可实现亚微秒级同步。其协议的核心是在一个网络内如何选择佳的主时钟以及网内的从时钟如何与主时钟保持同步。 PTP的网络结构 PTP网络由若干节点组成。节点可以是PTP时钟,也可以是管理节点。包含时钟的节点典型时钟同步网络。在PTP协议中有2种时钟类型:普通时钟OC和边界时钟BC。只有一个PTP通信端口的时钟是普通时钟,有一个以上PTP通信端口的时钟是边界时钟,每个PTP端口提供独立的PTP通信。边界时钟和边界时钟之间的通信,通过路径B使节点13,14能相互通信,通过路径D使节点13,15能相互通信。从通信关系上又可把时钟分为主时钟和从时钟,理论上任何时钟都能实现主时钟和从时钟的功能,但一个PTP通信子网内只能有一个主时钟。 PTP通信通道拓扑形成的是一个非循环的结构,即在任何一对PTP时钟之间都不存在交替的PTP通信通道。PTP域中各节点根据佳时钟算法被为九种状态之一,各从时钟通过同步机制与主时钟保持同步。PTP通信中的报文包括同步报文、跟随报文、延迟请求报文、延迟应答报文和管理报文。 PTP协议原理 佳主时钟算法 佳主时钟算法是在一个网络出现多个主时钟情况下,比较多个主时钟的关键属性值,为本地时钟提供一个优时钟系统源。在当前主时钟故障或性能下降时,系统可选择其他更合适的节点替代它作为主时钟。该算法独立运行于PTP系统中的每个时钟上,即是说,时钟并不诊断哪个是主哪个是从,而是根据BMC算法只计算出自己的状态。 佳主时钟算法由两部分组成:一是数据集比较算法,比较两组数据的优劣,例如一组是代表本地时钟的缺省特性的数据,一组代表从某端口接收的同步报文所包含的信息。二是状态决策算法,根据数据组比较结果计算每个端口的推荐状态(主站、从站、待机、未校正、监听、禁止、初始化、故障状态)。 PTP的时钟同步机制 PTP协议基于同步数据包被传播和接收时的的匹配时间,每个从时钟通过与主时钟交换同步报文而与主时钟达到同步。这个同步过程分为两个阶段:偏移测量阶段和延迟测量阶段。 阶段修正主时钟与从时钟之间的时间偏差,称为偏移测量。为了提高修正精度,考虑主时钟到从时钟的报文传输延迟等待时间的因素,即延迟测量,这是同步过程的第二个阶段。与偏移测量不同,延迟测量是不规则进行的,其测量间隔时间比偏移值测量间隔时间要大。这样使得网络尤其是设备终端的负荷不会太大。 经过延时报文的请求和应答以及同步报文的时间标记,可以计算出两个方向的平均传输延时,在以后的计算中就可以使用。实际上偏移与延时值的测量是互相影响的,要经过多次测量和计算,才会逐步收敛到接近实际值。测量时间间隔的选取很重要,选择间隔短时通信负荷较重,间隔过长则不能保证同步的精度,所以同步和延时的测量间隔应根据同步要求和系统配置选择。 影响同步的因素 通信通道的对称性 从PTP的同步原理可以看出,PTP终端设备为计算其网络延迟和时钟偏移所进行的四次测量都是建立在一个假设的基础上,即报文的传输延迟Delay在传输方向上是相同的。但这只是一种理想情况,在大网络负载的情况下,这种假设几乎是无法保证的。而且目前我们所使用的因特网电缆在设计时就采用了很小的不对称设计,用以减小远程末端的串扰。在这种情况下,随着网络负载的增加,Delay在传输方向上的差异会越来越大,造成同步精度的下降。 线路延迟的偏差和时钟的稳定性 从PTP报文线路延时的计算过程看,由于从终端在接收到同步报文后要随机延长一段时间ΔTs后再发出延迟请求报文,在这段时间,相应的主时钟也会产生一段计时ΔTm,在实际系统中,这是由于主从时钟所采用的晶振源和计数器并不相同,这就导致时钟的运行速度并不相同,因而也不可能等于,那就会对延迟的准确性产生影响。此外,由于主从时钟之间的运行速度的差异,因而主从两边的时间戳的分辨率也将不同,从而导致主从时钟同步时隙的差异,再加上晶振漂移的影响,因而Δ所引起的误差将会更大。因此,只要主从时钟采用相同的时间标尺,就能减小甚至忽略Δ带来的同步性能下降。但在实际系统中,由于主从时钟不可能在速度上*匹配,这就必须通过多次的时间同步对从时钟的晶振进行速度补偿,尽量减小主从时钟之间的速度差异。 |