给你的通信打上时间戳

嘿,伙计,现在几点了?您可以回答“是”,现在IEEE 1588标准精确时间协议(PTP)可用于工业自动化应用,用于以太网网络上的精确时间同步(PTS)。PTS为分布式控制节点提供精确的时间同步。

Michael Samuelian, Altera Corp 二零零七年五月一日

嘿,伙计,现在几点了?您可以回答“是”,现在IEEE 1588标准精确时间协议(PTP)可用于工业自动化应用,用于以太网网络上的精确时间同步(PTS)。PTS为分布式控制节点提供精确的时间同步。三速以太网介质访问控制(MAC)对于支持IEEE 1588标准至关重要,可以在FPGA(现场可编程门阵列)中实现。

主从时间差校正,延迟测量或时钟偏差校正确定主从之间的延迟。

IEEE 1588 PTP在不到一微秒的时间内同步工业控制系统。这种定时包括同步传感器、执行器和其他终端设备中的本地时钟,这些设备使用的网络也传输过程数据。这种精确的定时为实时工业以太网提供了坚实的基础,而在此之前,实时功能仅作为专门优化系统的一部分可用。使用用于传输过程数据的相同网络意味着可以在没有额外网络基础设施的情况下分配准确的时间。

IEEE 1588 PTP通过在主从层次结构中组织网络时钟来发挥作用。PTP识别主时钟,然后安排双向定时交换,如“IEEE 1588同步方案”所示。在该方案中,主站向从站发送消息以启动同步。然后,每个从服务器响应,将自己与主服务器同步。这个序列在指定的网络中重复。

1588同步

在IEEE 1588网络的每个点上,在相应以太网数据包的帧(SOF)开始处,传入和传出的ptp数据包都有时间戳。然后,协议使用五种IEEE 1588消息类型在主从设备之间交换这些信息:SYNC、DELAY_REQUEST、FOLLOW_UP、DELAY_RESPONSE和MANAGEMENT。协议软件使用这些消息来计算时间戳之间的偏移和网络延迟,然后应用滤波和平滑,并根据需要调整从时钟的相位和频率。

IEEE 1588网络可以自动配置和分段。每个节点使用最佳主时钟算法(BMC)来确定该段中的最佳时钟。在这个过程中,BMC比较通信时钟的属性,包括精度、层数、漂移和方差。BMC从这些信息中获取所有本地端口的状态。主时钟的当前属性在同步消息中周期性地传输到从时钟。

IEEE 1588示例显示了同步时钟的偏移和延迟校正。

PTP基于IP多播通信,并不局限于以太网。它可以在任何支持组播的总线系统上使用。每个从端口通过与主端口交换同步消息,将其节点的本地时钟同步到主时钟。实际的同步过程分为两个阶段。

首先,纠正主从之间的时间差。这是偏移量测量。在此校正期间,主服务器以定义的时间间隔周期性地向相关的从服务器发送唯一的同步消息。此同步消息包含消息传输的确切时间的估计值。

主服务器测量准确的传输时间,从服务器测量准确的接收时间。然后,主服务器发送第二条消息(后续消息),其中包含向从服务器传输相应同步消息的确切时间。当接收到第一个同步消息和相应的后续消息时,从服务器考虑同步消息的接收时间戳,计算相对于主服务器的校正(偏移量)。然后,从时钟必须通过这个偏移量进行校正。

其次,延迟测量或时钟偏差校正决定从机和主机之间的延迟或延迟。主时钟和从时钟之间的时间差是时钟偏移和消息传输延迟的组合。因此,纠正时钟偏差分两个阶段进行:偏移校正和延迟校正。主时钟使用同步和后续消息启动偏移校正,如“偏移和延迟校正”所示。

当主时钟发送同步消息时,从时钟使用本地时钟来标记到达时间,并将其与主时钟后续消息中的实际同步传输进行比较。两个时间戳之间的差值表示从服务器的偏移量加上消息传输延迟。然后,从时钟根据A点的这个差值调整本地时钟。

为了纠正消息传输延迟,从服务器使用第二组同步和后续消息,并使用已纠正的时钟来计算b点的主到从服务器延迟。第二组消息是考虑网络延迟变化所必需的。然后从服务器给延迟请求消息的发送加上时间戳。主时钟为延迟请求消息的到达打上时间戳。然后发送带有延迟请求到达点C时间戳的延迟响应消息。

时间戳之间的区别是从服务器到主服务器的延迟。从机平均两个方向的延迟,并根据延迟调整时钟以同步两个时钟。因为主时钟和从时钟独立漂移,所以周期性地重复偏移校正和延迟校正使时钟保持同步。

延迟测量是不规则的,并且比偏移测量的时间间隔更长。这样,网络和终端设备就不会过载。但是在主从端时延测量中,保证主从端时延的对称或两个方向的时延值相同是至关重要的。同步过程消除了PTP元素的时间波动和主从之间的延迟时间。

IEEE 1588边界时钟用于网络基础设施组件,如交换机和路由器,以补偿这些组件引入的抖动。在具有单一IEEE 1588边界时钟的系统中,它位于该层次结构的根,并充当每个子网中所有时钟的主时钟。除了同步功能之外,IEEE 1588边界时钟还提供了1588管理消息的适当重传。

FPGA实现

实现该系统的关键是明确的接口定义。IEEE 1588 PTP包括硬件和软件两个部分。在硬件单元中,在发送和接收方向读取同步数据包上的时间戳时生成高精度时间。消息检测器对传入和传出的报文进行分析,并根据报文中的特定值检测同步报文。对于这些数据包,可以节省数据包的准确时间和标识。

硬件和软件供应商已经贡献了IEEE 1588 PTP实现。最有效的实现被认为是“MorethanIP 1588三速以太网MAC核心”。这款支持IEEE 1588的可编程10/100/1000以太网MAC集成了一个带有时间戳模块的标准IEEE 802.3以太网MAC。它支持需要输入和输出帧精确定时参考的以太网应用,以实现IEEE 1588分布式时间同步协议。该核心可选择以通用可合成HDL代码交付,用于FPGA或ASIC或FPGA加密源格式。

作者信息
Michael Samuelian是Altera位于加州圣何塞的Broadbase和工业业务部门的主管。