一种基于PTPd2协议的精确时钟同步实现方法技术

技术编号:19547001 阅读:25 留言:0更新日期:2018-11-24 21:09
本发明专利技术涉及一种基于PTPd2协议的精确时钟同步实现方法,属于通信技术及计算机网络领域。本发明专利技术通过主从时钟设备交互通信报文实现精确时钟同步,PTPd2协议可获取报文到达主从时钟设备的网络驱动层的精确时间戳,相比于NTP协议在应用层获取的时间戳,可有效避免协议栈的干扰,同时通过捕获报文到达主从时钟设备的MAC层的时间,并在主从时钟设备中补偿报文从网络驱动层传输到MAC层所产生的延时和抖动,可提高时钟同步精度。测试表明,当主从时钟设备通过网线直接连接时,合理设置参数并补偿出边界时间,时钟同步精度可达19μs,并且通用性强,容易实现。

A Precise Clock Synchronization Method Based on PTPd2 Protocol

The invention relates to an accurate clock synchronization implementation method based on PTPd2 protocol, which belongs to the field of communication technology and computer network. The invention realizes precise clock synchronization by communicating messages between master and slave clock devices. The PTPd2 protocol can acquire precise time stamps of messages reaching the network driver layer of master and slave clock devices. Compared with the time stamps acquired by NTP protocol in application layer, the interference of protocol stack can be effectively avoided, and the master and slave clock settings can be reached by capturing messages. The time of backup MAC layer and the delay and jitter caused by transmission of messages from network driver layer to MAC layer are compensated in master-slave clock device, which can improve clock synchronization accuracy. The test results show that when the master-slave clock device is connected directly through the network cable, the clock synchronization accuracy can reach 19 UGS by reasonably setting parameters and compensating the boundary time, and it is universal and easy to realize.

【技术实现步骤摘要】
一种基于PTPd2协议的精确时钟同步实现方法
本专利技术涉及通信技术以及计算机网络领域,具体涉及一种基于PTPd2协议的精确时钟同步实现方法。
技术介绍
随着信息技术的迅速发展,时钟同步技术成为分布式测控系统中的关键技术,并且很多场合对时钟同步精度的要求越来越高。传统的NTP(NetworkTimeProtocol)协议在2000公里范围的广域网内同步精度在10毫秒级,局域网内的同步精度在1毫秒级,这种毫秒级的精度已经无法适用于对精度要求更高的场合;GPS虽然同步精度达100ns,但是GPS的接入设备昂贵、难于选址和安装,并且存在政治风险,因此不适合大规模使用。而IEEE1588标准定义了一种精确时间协议(PrecisionTimeProtocol,PTP),可以基于现有网络结构实现时钟同步且同步精度在亚微妙级,因此更能满足需求。PTP协议主要由三种实现方式,分别为:(1)基于支持PTP协议的芯片在物理层获取时间戳的硬件实现方式,如DP83640;(2)基于支持PTP协议的微控制器在媒体独立接口(MediaIndependentInterface,MII)处获取时间戳的硬件实现方式;(3)基于PTPd2(PrecisionTimeProtocoldaemon)协议的软件实现方式。软硬件实现的区别在于获取时间戳的方式不同,硬件实现是在底层获取时间戳,需要硬件辅助,精度较高,但在实际应用中需要改变原有网络中的硬件设备,增加了成本;软件实现则是在协议栈获取时间戳,精度稍低,但是实现简单,节约成本,因此更易被广泛使用。PTPd2协议可在协议栈的网络驱动层获取时间戳,而越靠近协议栈底层获取时间戳,能达到的时钟同步精度越高,在进行时钟同步时,报文在时钟设备中从网络驱动层传输到媒体访问控制(MediaAccessControl,MAC)层会受到操作系统和协议栈的干扰产生延时和抖动,误差在几微妙甚至几十微妙,严重影响时钟同步的精度。
技术实现思路
本专利技术的目的在于提供一种基于PTPd2协议的精确时钟同步实现方法,以解决报文在主从时钟设备中从网络驱动层传输到MAC层受操作系统和协议栈的干扰而影响时钟同步精度的问题。为实现上述目的,本专利技术采用了以下技术方案:一种基于PTPd2协议的精确时钟同步实现方法,包括以下步骤:(1)主从时钟设备分别运行PTPd2协议,确定各时钟设备的端口状态,并启动定时器,当定时器超时时,主从时钟设备开始发送通信报文;(2)分别在主从时钟设备中捕获通信报文,提取报文在主从时钟设备中到达MAC层的时间,并提取相应报文字段中记录的报文到达主从时钟设备的网络驱动层的时间,定义出边界时间Δt为报文在主从时钟设备中从网络驱动层传输到MAC层的时间,分别计算主从时钟设备的出边界时间Δt;(3)分别在主从时钟设备中补偿出边界时间Δt,主从时钟设备重新运行PTPd2协议,确定各时钟设备的端口状态并交互报文信息;(4)从时钟设备根据本地时钟同步算法校正本地时钟,与主时钟设备保持同步。上述方案中,所述步骤(2)中,计算主从时钟设备的出边界时间Δt,具体包括以下步骤:(21)主时钟设备首先组播Sync报文Sj,Sync报文Sj到达主时钟设备的MAC层的时间为Tmac_Sj,随后组播Follow_Up报文,Follow_Up报文中记录了Sync报文Sj到达主时钟设备的网络驱动层的精确时间Tip_Sj;(22)在主时钟设备中捕获Sync报文Sj,提取Tmac_Sj;(23)在主时钟设备中捕获跟随Sync报文Sj的Follow_Up报文,提取Tip_Sj;(24)通过以下公式计算主从时钟设备的出边界时间Δt:其中,Δt为主从时钟设备的出边界时间,n为报文数目。上述方案中,所述步骤(3)中,分别在主从时钟设备中补偿出边界时间Δt′,具体为:主从时钟设备分别处理通信报文k,解析报文信息,若报文k是自身时钟设备发送的报文,则将计算的出边界时间Δt补偿到报文到达其自身时钟设备网络驱动层的精确时间Tip_Ak中即Tip_Ak=Tip_Ak+Δt。步骤(4)中,所述从时钟设备根据本地时钟同步算法校正本地时钟,与主时钟设备保持同步,具体包括以下步骤:(41)从时钟设备计算主从时钟设备之间的时钟偏差offset以及报文在主从时钟设备之间的链路延迟delay;(42)设定频率同步门限值Threshold;(43)若offset大于等于Threshold,则从时钟设备进行时间同步;(44)若offset小于Threshold,则从时钟设备进行频率同步。进一步的,步骤(41)中,所述从时钟设备计算主从时钟设备之间的时钟偏差offset以及报文在主从时钟设备之间的链路延迟delay,具体步骤为:从时钟设备采用延迟请求响应测量机制计算offset和delay,通过以下公式计算出offset和delay:其中,t1为主时钟设备发送Sync报文的时间,t2为Sync报文到达从时钟设备的时间,t3为从时钟设备发送Delay_Req报文的时间,t4为Delay_Req报文到达主时钟设备的时间,t1~t4为补偿出边界时间Δt后的时间。上述方案中,步骤(43)中,所述从时钟设备进行时间同步,具体为:从时钟设备根据所述步骤(41)中计算的时钟偏差offset和链路延迟delay直接校正本地时钟。进一步的,步骤(44)中,所述从时钟设备进行频率同步,具体为:从时钟设备使用PI控制器进行频率同步,通过以下公式计算出从时钟设备相对于主时钟设备的频率补偿值:其中,P为比例系数,I为积分系数,Xi为第i个同步周期的主从时钟设备之间的时钟偏差值,Drifft为m个同步周期的主从时钟设备之间的时钟偏差累积值,adj为第m个同步周期计算的频率补偿值,从时钟设备根据adj补偿系统频率与主时钟设备的时钟频率保持一致。上述方案中,所述精确时间Tip_Ak的获取方法为:在主从时钟设备中处理通信报文k,当报文k到达主从时钟设备的网络驱动层时,主从时钟设备的系统内核产生中断,同时存储报文k到达主从时钟设备的网络驱动层的精确时间Tip_Ak,主从时钟设备根据报文k的UDP端口号判断报文是事件报文还是普通报文,若是普通报文则不记录精确时间Tip_Ak,若是事件报文则记录精确时间Tip_Ak,并将Tip_Ak加入相应的报文字段或者记录在主从时钟设备中。由上述技术方案可知,本专利技术基于PTPd2协议通过主从时钟设备交互通信报文实现精确时钟同步,PTPd2协议可获取报文到达主从时钟设备的网络驱动层的精确时间戳,相比于NTP协议在应用层获取的时间戳,可有效避免协议栈的干扰,同时通过捕获报文到达主从时钟设备的MAC层的时间,并在主从时钟设备中补偿报文从网络驱动层传输到MAC层所产生的延时和抖动,可提高时钟同步精度。测试表明,当主从时钟设备通过网线直接连接时,合理设置参数并补偿出边界时间,时钟同步精度可达19μs,并且通用性强,容易实现。附图说明图1为本专利技术实例中时钟同步系统结构示意图;图2为本专利技术实例中基于PTPd2协议的精确时钟同步实现方法的流程图;图3为本专利技术实例中时间戳的产生位置示意图;图4为本专利技术实例中延迟请求响应测量机制示意图。具体实施方式下面结合附图对本专利技术做进一步说明:如图1所示为本专利技术本文档来自技高网
...

【技术保护点】
1.一种基于PTPd2协议的精确时钟同步实现方法,其特征在于,包括以下步骤:(1)主从时钟设备分别运行PTPd2协议,确定各时钟设备的端口状态,并启动定时器,当定时器超时时,主从时钟设备开始发送通信报文;(2)分别在主从时钟设备中捕获通信报文,提取报文在主从时钟设备中到达MAC层的时间,并提取相应报文字段中记录的报文到达主从时钟设备的网络驱动层的时间,定义出边界时间Δt为报文在主从时钟设备中从网络驱动层传输到MAC层的时间,分别计算主从时钟设备的出边界时间Δt;(3)分别在主从时钟设备中补偿出边界时间Δt,主从时钟设备重新运行PTPd2协议,确定各时钟设备的端口状态并交互报文信息;(4)从时钟设备根据本地时钟同步算法校正本地时钟,与主时钟设备保持同步。

【技术特征摘要】
1.一种基于PTPd2协议的精确时钟同步实现方法,其特征在于,包括以下步骤:(1)主从时钟设备分别运行PTPd2协议,确定各时钟设备的端口状态,并启动定时器,当定时器超时时,主从时钟设备开始发送通信报文;(2)分别在主从时钟设备中捕获通信报文,提取报文在主从时钟设备中到达MAC层的时间,并提取相应报文字段中记录的报文到达主从时钟设备的网络驱动层的时间,定义出边界时间Δt为报文在主从时钟设备中从网络驱动层传输到MAC层的时间,分别计算主从时钟设备的出边界时间Δt;(3)分别在主从时钟设备中补偿出边界时间Δt,主从时钟设备重新运行PTPd2协议,确定各时钟设备的端口状态并交互报文信息;(4)从时钟设备根据本地时钟同步算法校正本地时钟,与主时钟设备保持同步。2.根据权利要求1所述的基于PTPd2协议的精确时钟同步实现方法,其特征在于:所述步骤(2)中,计算主从时钟设备的出边界时间Δt,具体包括以下步骤:(21)主时钟设备首先组播Sync报文Sj,Sync报文Sj到达主时钟设备的MAC层的时间为Tmac_Sj,随后组播Follow_Up报文,Follow_Up报文中记录了Sync报文Sj到达主时钟设备的网络驱动层的精确时间Tip_Sj;(22)在主时钟设备中捕获Sync报文Sj,提取Tmac_Sj;(23)在主时钟设备中捕获跟随Sync报文Sj的Follow_Up报文,提取Tip_Sj;(24)通过以下公式计算主从时钟设备的出边界时间Δt:其中,Δt为主从时钟设备的出边界时间,n为报文数目。3.根据权利要求1所述的基于PTPd2协议的精确时钟同步实现方法,其特征在于:所述步骤(3)中,分别在主从时钟设备中补偿出边界时间Δt′,具体为:主从时钟设备分别处理通信报文k,解析报文信息,若报文k是自身时钟设备发送的报文,则将计算的出边界时间Δt补偿到报文到达其自身时钟设备网络驱动层的精确时间Tip_Ak中即Tip_Ak=Tip_Ak+Δt。4.根据权利要求1所述的基于PTPd2协议的精确时钟同步实现方法,其特征在于:步骤(4)中,所述从时钟设备根据本地时钟同步算法校正本地时钟,与主时钟设备保持同步,具体包括以下步骤:(41)从时钟设备计算主从时钟设备之间的时钟偏差offset以及报文在主从时钟设备之间的链路延迟delay...

【专利技术属性】
技术研发人员:陆阳陶稳静卫星石雷徐娟张本宏贾向利高健
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1