时间同步——TSN协议802.1AS介绍
前言
之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步、延时、可靠性、资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用及功能。相信大家对TSN技术已经有了整体的概念。
时间同步作为诸多TSN协议的基础,无疑是十分重要的。今天就带大家深入了解TSN协议族中802.1AS是如何实现时间同步的。
协议基本介绍
802.1AS通用精确时间协议(Generalized Precision Time Protocol),将为汽车、工业自动化控制等领域实现精确时间的测量。本章将从基本概念、测量方式入手,再介绍时间同步过程,最后介绍802.1AS的新特性及汽车领域profile。
1. 802.1AS概念
1)基本构成
在802.1AS中,时间同步是按照“域”(domain)划分的,包含多个PTP节点。在这些PTP节点中,有且仅有一个全局主节点(GrandMaster PTP Instance),其负责提供时钟信息给所有其他从节点。
PTP节点又分为两类:PTP End Instance(PTP端节点)和PTP Relay Instance(PTP交换节点)。其中:
- PTP End Instance或者作为GrandMaster,或者接收来自GrandMaster的时间同步信息;
- PTP Relay Instance从某一接口接收时间同步信息,修正时间同步信息后,转发到其他接口。
2)GrandMaster的选取
GrandMaster的选取除了手动设置以外,可以通过比较每个PTP节点的属性,自动选出GrandMaster,这一策略就是BMCA(Best Master Clock Algorithm)。
在BMCA建立的过程中,首先各个PTP节点将自身时钟属性(比如时钟源)、接口信息放入Announce报文中,并发送给gPTP域内所有节点,之后PTP节点比较自身与接收到的时钟属性,优先级高的PTP节点自动成为GrandMaster。
3)报文类型
802.1AS包括两种类型(Message class)General message和Event message,二者的区别在于,发送或接收Event message时,相应的时间戳会被记录,而General message则不会。General message包括Announce、Signaling、Follow_Up、Pdelay_Resp_Follow_Up,Event message包括Sync、Pdelay_Req、Pdelay_Resp。
Announce报文包含时钟相关信息,并且传输中,会记录途径的各PTP节点的Id添加到path trace TLV中;Signaling报文包含该PTP节点支持的信息,比如是否支持“一步法”、允许的Announce Interval等;Sync报文由GrandMaster发送,包含主时钟信息,其他节点计算本地时钟与主时钟的差值,实现同步;Follow_Up以及Pdelay_Resp_Follow_Up则是“两步法”中提供补充时间戳的报文,前者与Sync连用,后者与Pdelay_Resp连用;最后Pdelay_Req与Pdelay_Resp一起构成P2P测量机制的基础,将在后续章节中详细讲解。
2. 802.1AS测量过程
为了实现从节点本地时钟与GrandMaster时钟同步,需要考虑三个因素:
- 时钟频率误差
- 链路延迟
- 驻留时间
时钟频率误差是指PTP从节点的本地时钟频率与GrandMaster的主时钟频率很有可能是不同的,而且各PTP从节点之间也存在误差,这就造成时间测量基准不同,从而引入误差。
链路延迟(MeanLinkDelay)是指两两PTP节点之间通信的链路,在单方向上传播所需要的时间,也称为链路平均传播时间(Mean Propagation Delay)。
驻留时间(residence time)是指PTP Relay Instance将接收到的报文转发出去所用的时间,也就是报文停留在Relay中的时间。
1) 时钟频率误差测量
802.1AS为了消除这种误差,采用累积计算相邻节点时钟频率的比值(NeighborRateRatio)的方式,实现将本地时基(Local Clock Timebase)换算成(GrandMaster Timebase)。
举例来说,GrandMaster的时钟频率为1MHz,而与之相邻的PTP从节点(A)时钟频率有偏差为1.3MHz,对于A节点来说NeighborRateRatio等于1.3。当A节点本地时钟度过2.6s时,使用NeighborRateRatio换算为GrandMaster时基,则得到主时钟度过2s。对于与A相邻的B节点,假设其时钟频率为0.9MHz,经过累积的NeighborRateRatio等于0.9(1.3/1.0*0.9/1.3),当B节点本地时钟度过3s时,主时钟度过2.7s。
2) 链路延迟测量
802.1AS中测量链路延迟采用P2P测量机制(Peer-to-Peer delay Mechanism),假设链路往返延迟一致(链路具有对称性),通过测定四个精确时间戳,计算得出一段链路上的链路延迟(MeanLinkDelay)。
- 对于一段链路,存在两个PTP节点,其中Peer delay initiator(发起者)会主动发出Pdelay_Req报文,接收Pdelay_Req报文的节点称为Peer delay responder(响应者)
- 在initiator端会记录Pdelay_Req报文实际的发出时间戳t1,在responder端会记录报文实际的接收时间戳t2
- responder在接收到Pdelay_Req后会回复Pdelay_Resp报文给initiator,这个报文会包含t2这一信息
- 在responder端会记录Pdelay_Resp发送时间戳t3,在initiator端会记录接收时间戳t4
- responder端会在Pdelay_Resp之后在发送一个Pdelay_Resp_Follow_Up报文给initiator,以包含信息t3
- 至此,在initiator端有t1、t2、t3、t4四个精确时间戳,通过计算t2-t1和t4-t3就能得到这一链路两个方向(i->r、r->i)传播的用时(tir、tri),再对其求均值,就能得到这一链路延迟(MeanLinkDelay);
- 对于进行P2P测量的双方节点会交替作为initiator,从而都能获得该链路延迟(MeanLinkDelay)。
使用P2P测量机制,就能得到gPTP域中每一段链路延迟,在实际进行同步过程中,PTP Relay Instance会将从GrandMaster开始的链路延迟累积记录在Follow_Up报文中的correctionField中,再转发出去;同时,对非对称误差的修正(通过测定后,手动设置参数修正),也放在correctionField中。
3) 驻留时间测量
驻留时间由PTP Relay Instance引入,指的是报文停留在Relay中的时间。想要消除其带来的影响相对简单,就是在转发出的Follow_Up报文中的correctionField中记录这一驻留时间,其他PTP节点收到该报文,就能计算得出正确的时间偏移。
3. 时间同步实现过程
802.1AS中通过手动配置或者BMCA确立GrandMaster后,GrandMaster周期发送Sync和Follow_Up报文提供主时钟基准;在实现节点同步之前,各个PTP节点通过Signaling报文协商计算NeighborRateRatio的间隔、计算MeanLinkDelay的间隔等信息;最后,各PTP从节点利用已有的NeighborRateRatio、MeanLinkDelay以及接受到的Sync及Follow_Up报文,利用Follow_Up报文中的correctionField信息修正后,就能得出主时钟现在的时刻,从而完成时间同步。
4. 2020版新特性
在新版的802.1AS-2020中,添加了几个重要的新特性,如:多域冗余、支持“一步法”等。下面就来简单了解一下这些特性。
1) 多域冗余
这张图很好地展现了多域冗余特性,主要分为两种方式:
- 同一GM(全局主节点)划分多个域,对每个域生成同步树(即同步路径)实现冗余
- 多个GM,每个GM维护一个域生成同步树,多个GM有主次之分,次要GM跟主要GM同步,这种方式也称为hot-standby
在图中,左上角的end station作为主要GM,它划分两个域,为每个域生成一个同步树(即同步路径,分别为蓝色和淡蓝色),右下角的end station作为次要GM跟主要GM同步,此外也划分两个域,为每个域生成同步树(红色和浅红色),这样一共有四个域、四个同步树,确保了冗余。
2) “一步法”
所谓“一步法”(也称为“on-the-fly”)是指在发送报文的同时,将在接近物理层的发送时间戳添加到报文中直接发送出去,这样将所需要的信息放在一帧报文中,更加高效,但是需要额外的硬件支持。对于接收节点,同样需要对“一步法”报文解析的能力。
“两步法”Sync报文
“一步法”Sync报文
与之相对的是“两步法”,这种方法仅在Sync或Pdelay_Resp报文发送时记录发送时间戳,再把这一信息封装在Follow_Up或Pdelay_Resp_Follow_Up报文中发送,从而在不需要额外的硬件支持下获得精确的时间戳。
5. 汽车领域profile
802.1AS能为汽车领域、工业自动化控制等领域实现精确时间的测量。而针对汽车领域的profile目前还未正式发布,这一内容将在802.1dg中体现,届时,我们将带来对其的深入解读。
结语
以上就是本次对802.1AS协议介绍的全部内容了,后续会带来更多TSN协议的解读,敬请期待。
北汇信息作为早期探索TSN领域的专业团队,能够针对AVB/TSN网络架构提供解决方案,包括应用场景设计、需求规范开发、通信系统设计以及演示验证系统开发;针对AVB/TSN网络提供系统级测试解决方案,包括系统测试规范开发、系统测试执行与演示;针对AVB/TSN节点提供协议族。
最后,北汇信息还提供AVB/TSN 网络课程,课程介绍了汽车网络架构的发展带来了各种各样的挑战和问题,如何从通讯角度来应对这些挑战,以及当前TSN协议的发展现状;对TSN各个协议标准进行了剖析,以期听众可以了解TSN各个协议的运作机理,为其配置和使用TSN网络提供基础。
本文来自博客园,作者:{北汇信息},转载请注明原文链接:{https://www.cnblogs.com/polelink/}