前言

之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步、延时、可靠性、资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用及功能。相信大家对TSN技术已经有了整体的概念。

时间同步作为诸多TSN协议的基础,无疑是十分重要的。今天就带大家深入了解TSN协议族中802.1AS是如何实现时间同步的。

协议基本介绍

802.1AS通用精确时间协议(Generalized Precision Time Protocol),将为汽车、工业自动化控制等领域实现精确时间的测量。本章将从基本概念、测量方式入手,再介绍时间同步过程,最后介绍802.1AS的新特性及汽车领域profile。

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测量机制的基础,将在后续章节中详细讲解。

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时,主时钟度过3/0.9s。

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节点收到该报文,就能计算得出正确的时间偏移。

时间同步实现过程

802.1AS中通过手动配置或者BMCA确立GrandMaster后,GrandMaster周期发送Sync和Follow_Up报文提供主时钟基准;在实现节点同步之前,各个PTP节点通过Signaling报文协商计算NeighborRateRatio的间隔、计算MeanLinkDelay的间隔等信息;最后,各PTP从节点利用已有的NeighborRateRatio、MeanLinkDelay以及接受到的Sync及Follow_Up报文,利用Follow_Up报文中的correctionField信息修正后,就能得出主时钟现在的时刻,从而完成时间同步。

2020版新特性

在新版的802.1AS-2020中,添加了几个重要的新特性,如:多域冗余、支持“一步法”等。下面就来简单了解一下这些特性。

1) 多域冗余

这张图很好地展现了多域冗余特性,主要分为两种方式:

  1. 同一GM(全局主节点)划分多个域,对每个域生成同步树(即同步路径)实现冗余;
  2. 多个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网络提供基础。

----------------------------------------------------------------------------------------------------------------------


喜欢此篇文章的话欢迎一键三联支持小编吧~!

更多相关资讯及业务介绍,欢迎访问上海北汇信息官方网站:上海北汇信息科技有限公司
北汇官方知乎账号:北汇信息-知乎
更多技术干货,行业前沿动态,请关注上海北汇信息官方公众号:

联系方式:

电话:021-34716271

邮箱:info@polelink.com

北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。

时间同步——TSN(Time Sensitive Network-时间敏感网络)协议802.1AS介绍相关推荐

  1. 虹科分享 | Linux终端设备的TSN时间敏感网络协议实现

    通过为以太网带来工业级的稳健性和可靠性,时间敏感网络 (TSN) 提供了 IEEE 标准通信技术,可实现来自任何供应商的符合标准的工业设备之间的互操作性.它还消除了对关键和非关键通信网络进行物理分离的 ...

  2. TSN (Time-Sensitive Networking)时间敏感网络

    TSN是一套协议标准,以保证确定性信息在标准以太网的不同场景下的顺利传输.TSN协议族本身具有很高的灵活性,用户可以根据应用的具体需求来选择相应的协议组合. TSN协议族包含了定时与同步.延时.可靠性 ...

  3. TSN时间敏感网络|学习笔记-看这一篇就够了

    近年来,随着汽车电子电气架构的演进,车载以太网以其高带宽.技术成熟和灵活部署等优势成功占据汽车主干网地位,但是传统以太网具有的时间不确定性,对自动驾驶.智能网联等前沿需求带来巨大挑战.为此,IEEE ...

  4. 一文理清---TSN时间敏感网络

    时间敏感网络 什么是时间敏感网络TSN? 时间敏感网络(TSN,Time Sensitive Network)是指能够保证时延敏感流的服务质量,实现低时延.低抖动.和零丢包率的网络. 时间敏感网络演进 ...

  5. TSN(时间敏感网络)纯干货分享

    背景介绍 TSN(Time-Sensitive Networking)时间敏感网络,即在非确定性的以太网中实现确定性的最小时间延时的协议族,是IEEE 802.1工作组中的TSN工作组开发的一套协议标 ...

  6. 时间敏感网络(TSN)关键协议的介绍

    TSN的概述 为了简洁明了,此笔记不再介绍TSN的背景知识. 由于通信主体的演进,各个业务对于时间敏感程度愈加严格.为了构建一个统一的数据链路层协议,通过标准化使其在不同的领域都可以同构运行,提供实时 ...

  7. 怎样在时间敏感网络(TSN)中进行流量捕获?

    随着工业物联网和工业4.0的兴起,在如今的工业自动化领域对于延迟的要求更加严格.但现有的自动化系统大多是用传统的以太网实现的,无法满足未来的工业网络需求.幸运的是时间敏感网络的出现满足了这一需求,代表 ...

  8. TSN (Time-Sensitive Networking)时间敏感网络:缘起 | TSN历史与现状

    前言 随着工业物联网(IIoT)的兴起和工业4.0的提出,越来越多的设计师.工程师和最终用户关注时间敏感网络(Time-Sensitive Networking,下简称为TSN).TSN为以太网提供确 ...

  9. TSN(时间敏感网络)测试、仿真、分析平台应用攻略

    前言 在汽车领域,近几年车内网络通讯方式的变革诉求,期望能够有更高的数据传输速率,以及保证实时性的通讯方式引入.例如对于ADAS而言,传统的CAN总线已经远远不能满足其对通讯的要求,而基于车载以太网的 ...

最新文章

  1. Android+Eclipse修改包路径
  2. 如何设置、查看以及调试core文件
  3. opensplice dds v6.3.2_信号发生器与DDS技术,如何攻克设计难关?
  4. 修改自增主键初始化_数据库自增ID用完了会怎么样?
  5. 在C#中怎么调用Resources文件中的图片
  6. typora居中_Windows系统下Typora的安装和语法
  7. h5 android数字键盘,【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)...
  8. 三次样条曲线拟合及Matlab/Python实现
  9. 手机应用url抓取_Python爬虫入门,快速抓取大规模数据(第六部分)
  10. 尖括号与双引号所引起的错误
  11. mysql carnation_14 springboot+mybatis集成pageHelper分页
  12. 自定义View(四) ViewGroup 动态添加变长Tag标签 支持自动换行
  13. php obclean函数,php函数ob_start()、ob_end_clean()、ob_get_contents()
  14. iOS开发者必备:五大编程类工具
  15. 【HUSTOJ】1048: 字符图形4-星号正三角
  16. android烧写固定MAC,小系统SN号和MAC地址快速烧录的方法与流程
  17. FlinkSQL字段血缘解决方案及源码
  18. monocle安装不成功 想尽各种办法
  19. hutool生成二维码
  20. iOS开发 - 仿京东添加收货地址效果

热门文章

  1. mysql unique index 允许为null
  2. PHP ajax 远程下载PDF文件保存在本地服务器
  3. Linux socket下read函数详解
  4. 主题:程序的扩展性(BPL+DLL)
  5. 2008年专转本计算机试卷解,2005-2008年专转本计算机真题及答案
  6. 《高效能人士的7个习惯》-知彼解己
  7. 和姜昆平起平坐,任北京曲艺团副团长,李菁离开德云社进入主流界
  8. 西北乱跑娃 --- python分段下载文件io流
  9. linux apache python wsgi,linux下apache2+django+mod_wsgi方式配置web站点
  10. 【scrapy爬虫】了解Scrapy+爬虫豆瓣电影Top250信息