1588协议
1. 产生背景
PTP( precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度
当通信和网络应用上越来越多的使用分布式系统时,需要在一个统一的标准协议下才能实现多厂商的协作。而传统NTP协议只能实现ms级别的时间同步,GPS等卫星同步方式又存在诸多限制,均不能满足越来越多的高精度时间同步要求。因此1588协议应运而生,它的全称是“网络测量和控制系统的精密时钟同步协议标准”,基本功能是使分布式网络内的最精确时钟与其他时钟保持同步。它定义了一种精确时间协议PTP(Precision Time Protocol),用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级同步。
2. 基本原理
主从时间/频率同步
https://blog.csdn.net/qwe5959798/article/details/129216887
https://www.cnblogs.com/AdaminXie/p/6754644.html
-
单步/两步同步:单步,网卡硬件是否可以支持将发送时的精确时间放到帧里。两步:不支持就分两步,第一步发送sync帧不发送时间只记录,第二步发送follow_up帧,将sync帧从master发送的时间戳发送到slave。
-
前提:master时间精确,slave时间不精确,slave时间减去offset为精确时间,所以需让slave知晓offset调整自己时间为精确。
-
E2E:主从。P2P:端peer对端,不区分主从,均可发送Delay_req。
-
计算消息传递时间D和从设备时间延迟offset,公式:
D=(t4-t1-(t3-t2))/2,需要知道4个时间戳:
t1:master-->slave,sync1包发送时间(master时间)
t2:master<--slave,sync1包接收时间(slave时间)(这一步可不需要,这一步只是让master也可知道该slave的offset)
t3: master<--slave,Delay_req包(slave时间)
t4: master-->slave,Delay_resp包(master时间) -
注:
sync 同步报文是周期性从主时钟master向从时钟slave以广播的形式发出。

浙公网安备 33010602011771号