计算机工程 ›› 2019, Vol. 45 ›› Issue (3): 47-53,59.doi: 10.19678/j.issn.1000-3428.0050662

• 体系结构与软件技术 • 上一篇    下一篇

基于PTPd2的精密时钟同步软件实现方法

陶稳静1,陆阳1,2,卫星1,2,贾向利1   

  1. 1.合肥工业大学 计算机与信息学院,合肥 230601; 2.安全关键工业测控技术教育部工程研究中心,合肥 230601
  • 收稿日期:2018-03-07 出版日期:2019-03-15 发布日期:2019-03-15
  • 作者简介:陶稳静(1994—),女,硕士研究生,主研方向为时钟同步技术;陆阳,教授、博士生导师;卫星,副教授;贾向利,硕士研究生。
  • 基金项目:

    国家重点研发计划专项(2016YFC0801405,2016YFC0801804)

Software Implementation of Precision Clock Synchronization Based on PTPd2

TAO Wenjing 1,LU Yang 1,2,WEI Xing 1,2,JIA Xiangli 1   

  1. 1.School of Computer Science and Information Engineering,Hefei University of Technology,Hefei 230601,China; 2.Engineering Research Center of Safety Critical Industry Measure and Control Technology,Ministry of Education,Hefei 230601,China
  • Received:2018-03-07 Online:2019-03-15 Published:2019-03-15

摘要:

针对软件实现方式在协议栈网络驱动层获取时间戳,易受协议栈延时和抖动影响导致同步精度较低的问题,提出一种精密时钟同步软件实现方法。基于开源代码PTPd2采用纯软件方式实现IEEE 1588协议,通过Linux系统的内核函数在网络驱动层获取报文时间戳,相比网络时间协议在应用层获取时间戳可有效避免协议栈的干扰,同时利用Wireshark抓包软件捕获报文经过介质访问控制(MAC)层的时间,在PTPd2中补偿报文从网络驱动层传输到MAC层产生的延时和抖动,提高了时钟同步精度。实验结果表明,当主-从时钟设备直接相连时,合理设置P、I值和同步周期并补偿出边界时间,时钟同步精度可达19 μs,可满足大部分分布式控制系统的要求。

关键词: 精确时间协议, 时钟同步, 软件实现, 出边界时间, 时钟偏差

Abstract:

Aiming at the problem that the software implementation obtains the timestamp in the network driver layer of the protocol stack,which is susceptible to the delay of the protocol stack and the jitter,the synchronization accuracy is low.A precise clock synchronization software implementation method is proposed.Based on open source code PTPd2,this paper uses pure software method to implement the IEEE 1588 protocol,and uses the kernel function of Linux system to get the message timestamp in the network driver layer,it can effectively avoid the interference of protocol stack compared with Network Time Protocol(NTP) that get timestamp in application layer,at the same time,Wireshark packet capture software is used to capture the time when the message passes the Media Access Control(MAC) layer and compensate the delay and jitter generated by the message transmitted from the network driver layer to the MAC layer in PTPd2,thereby it improves the clock synchronization accuracy.Experimental results show that when the master-slave clock device is directly connected,the P、I value and the synchronization period are reasonably set and the boundary time is compensated,and the clock synchronization accuracy can reach 19 μs.This method can meet the requirements of most distributed control systems.

Key words: Precision Time Protocol(PTP), clock synchronization, software implementation, outbound time, clock deviation

中图分类号: