跳至正文

时间同步协议

一、(g) PTP 通用精确时间协议

在802.1AS中,时间同步是按照“域”(domain)划分的,包含多个PTP节点。在这些PTP节点中,有且仅有一个全局主节点(GrandMaster PTP Instance),其负责提供时钟信息给所有其他从节点。

PTP节点又分为两类:PTP End Instance(PTP端节点)和PTP Relay Instance(PTP转发节点)。

  • PTP End Instance或者作为全局主节点,或者接收来自全局主节点的时间同步信息
  • PTP Relay Instance从某一接口接收时间同步信息,修正时间同步信息后,转发到其他接口

时间同步过程

802.1AS中通过手动配置或者BMCA确立全局主节点时钟GrandMaster后,GrandMaster周期性的发送Sync和Follow_Up报文提供主时钟基准;

在实现节点同步之前,各个PTP节点通过Signaling报文协商计算NeighborRateRatio的间隔、计算MeanLinkDelay的间隔等信息;

最后,各PTP从节点利用已有的NeighborRateRatio、MeanLinkDelay以及接受到的Sync及Follow_Up报文,利用Follow_Up报文中的correctionField信息修正后,就能得出主时钟现在的时刻,从而完成时间同步。

多域冗余

多域冗余主要分为两种方式:

  • 同一个全局主节点时钟被划分成多个域,每个域生成同步路径实现冗余
  • 多个全局主节点时钟,每个全局主节点维护一个域并生成同步路径,多个全局主节点之间有主次之分,次全局主节点和主全局主节点进行同步

“一步”处理

“一步”处理的Sync报文

“一步”处理(On the Fly)是指在发送报文的同时,将在接近物理层的发送时间戳添加到报文中直接发送出去,这样将所需要的信息放在一帧报文中,更加高效,但是需要额外的硬件支持。对于接收节点,同样需要对“一步法”报文解析的能力。

“两步”处理的Sync报文

与之相对的是“两步法”,这种方法仅在Sync或Pdelay_Resp报文发送时记录发送时间戳,再把这一信息封装在Follow_Up或Pdelay_Resp_Follow_Up报文中发送,从而在不需要额外的硬件支持下获得精确的时间戳。

二、PTP 精确时间协议

PTP(Precision Time Protocol,精确时间协议)是一种IEEE 1588标准定义,用于在以太网中实现高精度的时间同步网络协议。它能够为网络中的所有设备提供一个统一的时间参考,从而确保数据的时效性和一致性。采用硬件时间戳,可以大幅减少软件处理时间,同步精度可以达到亚微秒级。此外,PTP可以运行在L2层(MAC层)和L4层(UDP层),在L2层网络运行时,可以在MAC层中直接进行报文解析,避免在UDP层处理,减少协议栈中驻留时间,进一步提高时间同步精度,十分适用于自动驾驶系统。

PTP网络由一个主时钟(Master Clock)和多个从时钟(Slave Clock)组成。主时钟通常连接到一个高精度的时间源,如GPS;从时钟则分布在网络中的各个设备上,如各类传感器。同时定义了三种时钟节点,包括普通时钟,边界时钟和透明时钟。

  • 普通时钟(Ordinary Clock):基本的从时钟,只有一个PTP通信端口,只同步时间。
  • 边界时钟(Boundary Clock):有多个PTP通信端口的时钟,可以接收一个时间信号并转发到另一个网络段,如交换机或路由器。
  • 透明时钟(Transparent Clock):通过它的报文不需要进行任何处理,直接转发。

PTP通过在主从设备之间交互同步报文,并记录下报文发送时间,从而计算网络传输延迟和主从设备间时钟的偏差。同步报文包括:Sync、Follow_Up、Delay_Req和Delay_Resp,时间同步过程如下:

PTP时间同步过程

1)主时钟周期性的发送 Sync 报文(预计时间) → 从时钟接收 Sync 报文(时间 t2)

2)主时钟发送 Follow_Up 报文(实际发送时间 t1) → 从时钟接收 Follow_Up 报文

3)从时钟发送 Delay_Req 报文(发送时间 t3) → 主时钟接收 Delay_Req 报文(接收时间 t4)

3)主时钟发送 Delay_Resp 报文(包含时间 t4)→ 从时钟接收 Delay_Resp 报文

三、gPTP(802.1AS)和PTP(IEEE 1588)的区别

gPTP / 802.1AS

PTP / IEEE 1588

在OSI第2层数据链路层使用以太网帧进行通信

支持多种第2层和第3-4层的通信方法,比如UDP

仅允许时间感知系统(支持802.1AS协议的系统)

在通信路径上支持非时间感知的系统

需要“点对点”延迟机制

提供“端到端”机制可选

知道四种端口状态

Master、Slave、Disable和Passive

定义了其他不同的端口状态

仅使用“两步”处理

允许“一步”和“两步”处理

定义了两种时间感知系统

终端设备(普通时钟)和桥接设备(边界时钟)

普通时钟、边界时钟、端到端透明时钟和点到点透明时钟

更多内容

多传感器时间同步

揭秘高精度时间同步技术,确保自动驾驶系统各传感器的时间基准一致。

自动驾驶传感器类型

了解不同传感器的功能、优缺点以及应用场景,制定更合理的数采测试方案。

访问资源中心

了解更多自动驾驶相关内容 →