吧 设备时间不同步?PTP实现纳秒级对时 - 创龙科技

设备时间不同步?PTP实现纳秒级对时

设备时间不同步?PTP实现纳秒级对时

时间:2026-10-26
编辑者:创龙科技

“两台工控机监测同一台机器,一台记14:23:07,怎么另一台记14:23:12?”


同一事件,两份日志记录,谁先触发、谁后响应,没人说得清…这不是软件的BUG,是时间本身没对上。


每台工控机上电后都从自己的起点独立走时,晶振有误差、还会随温度漂移…倘若工业现场有多台工控机协同工作,同一事件记出两个不同的时间,日志无法准确排序,数据将无法融合,损失将无可避免…


PTP(Precision Time Protocol,IEEE 1588)就可以解决这个问题——选出一个主时钟,让一个网络里的所有设备与它对齐,对“现在是几点”达成一致!


1.jpg


▍PTP对时原理:主从关系


PTP对时原理:主从节点之间收发同步数据帧,把报文离开和到达的时刻记下来。从节点拿到这几个时间,就能同时算出两件事——自己跟主时钟差了多少、报文在路上花了多久,再据此纠正本地时钟。


  • 主时钟(Master clock):时间基准源,其他设备都以它为准。

  • 从时钟(Slave clock):周期性跟主时钟对比,根据偏差校准本地时钟。


1793062404327391.png


简要介绍一下PTP请求应答机制(E2E)的对时流程:


(1)Sync:主时钟发送同步报文,记录发送时间t1,从时钟记录接收时间t2。

(2)Follow_Up:主时钟发送后续报文,将精确的发送时间t1告知从时钟。

(3)Delay_Req:从时钟发送延时请求报文,记录发送时间t3,主时钟记录接收时间t4。

(4)Delay_Resp:主时钟回复延时应答报文,将接收时间t4告知从时钟。


通过这四个时间戳,就可以得出:


传输延时:主从时钟之间的单向平均传输延时,


时间偏差:从时钟相对于主时钟的时间差,


▍工控机上如何实现PTP对时?


ptp4l是Linux平台上一款开源的PTP协议实现。它通过网络把多个系统的时钟拉到同一个时间基准上,配合网卡的硬件时间戳能力,可达到纳秒级的同步精度。


以下我们将两块RK3576工控机通过网口直连,设置同网段,分别以主、从模式运行ptp4l程序:


1793062577770154.png


4.png


根据打印信息可以看到:


(1)master offset:即时间偏差,单位为纳秒(ns)。本次实测从-4759279951ns(约4.76秒)逐渐稳定到±50ns以内。

(2)path delay:即传输延时,单位为纳秒(ns)。本次实测从672ns逐渐稳定到500ns上下。


最终,通过PTP对时,两台工控机实现了纳秒级的时间同步。

客服
提交成功
我们将尽快与您联系