跳至正文

PTP与gPTP协议详解:车载以太网高精度时间同步原理

一、(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)
  • 4)主时钟发送 Delay_Resp 报文(包含时间 t4)→ 从时钟接收 Delay_Resp 报文

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

gPTP / 802.1ASPTP / IEEE 1588
在OSI第2层数据链路层使用以太网帧进行通信支持多种第2层和第3-4层的通信方法,比如UDP
仅允许时间感知系统(支持802.1AS协议的系统)在通信路径上支持非时间感知的系统
需要“点对点”延迟机制提供“端到端”机制可选
知道四种端口状态Master、Slave、Disable和Passive定义了其他不同的端口状态
仅使用“两步”处理允许“一步”和“两步”处理
定义了两种时间感知系统终端设备(普通时钟)和桥接设备(边界时钟)普通时钟、边界时钟、端到端透明时钟和点到点透明时钟

更多内容

不止于技术文章,更多技术资源等您探索