热度 12
2022-10-12 10:04
1614 次阅读|
0 个评论
一、 前言 之前的主题 TSN 的发展历史和协议族现状( TSN 时间敏感网络:缘起-面包板社区 (eet-china.com) ) 介绍了 TSN 技术的缘起,最近一期的主题 TSN 协议导读( TSN(Time-Sensitive Networking)协议导读-面包板社区 (eet-china.com) ) 从定时与同步、延时、可靠性、资源管理四个方面,帮助大家了解 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 交换节点)。其中: l PTP End Instance 或者作为 GrandMaster ,或者接收来自 GrandMaster 的时间同步信息; l 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 时钟同步,需要考虑三个因素: l 时钟频率误差; l 链路延迟; l 驻留时间。 时钟频率误差是指 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 ,当 B 节点本地时钟度过 3s 时,主时钟度过 2.7s 。 2) 链路延迟测量 802.1AS 中测量链路延迟采用 P2P 测量机制( Peer-to-Peer delay Mechanism ),假设链路往返延迟一致(链路具有对称性),通过测定四个精确时间戳,计算得出一段链路上的链路延迟( MeanLinkDelay )。 l 对于一段链路,存在两个 PTP 节点,其中 Peer delay initiator (发起者)会主动发出 Pdelay_Req 报文,接收 Pdelay_Req 报文的节点称为 Peer delay responder (响应者); l 在 initiator 端会记录 Pdelay_Req 报文实际的发出时间戳 t1 ,在 responder 端会记录报文实际的接收时间戳 t2 ; l responder 在接收到 Pdelay_Req 后会回复 Pdelay_Resp 报文给 initiator ,这个报文会包含 t2 这一信息; l 在 responder 端会记录 Pdelay_Resp 发送时间戳 t3 ,在 initiator 端会记录接收时间戳 t4 ; l responder 端会在 Pdelay_Resp 之后在发送一个 Pdelay_Resp_Follow_Up 报文给 initiator ,以包含信息 t3 ; l 至此,在 initiator 端有 t1 、 t2 、 t3 、 t4 四个精确时间戳,通过计算 t2-t1 和 t4-t3 就能得到这一链路两个方向( r 、 i )传播的用时( tir 、 tri ),再对其求均值,就能得到这一链路延迟( MeanLinkDelay ); l 对于进行 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) 多域冗余 这张图很好地展现了多域冗余特性,主要分为两种方式: l 同一 GM (全局主节点)划分多个域,对每个域生成同步树(即同步路径)实现冗余; l 多个 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 网络提供基础。