所图甚大的TSN[2]它在哪里?它如何运行--时钟同步于延时测量 点击:1466 | 回复:0



SeanSong

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:68帖 | 6回
  • 年度积分:0
  • 历史总积分:246
  • 注册:2009年8月25日
发表于:2019-02-25 11:43:43
楼主

上次文章讨论到TSN所图甚大,觉得有必要多研究和大家分享,但是,这方面的文献目前似乎国内还比较少,因此,看的都是英文资料并且都是比较技术细节的,像我这样不懂技术的人看起来比较难,如何写的通俗易懂并非易事,勉力而为,还望高手留言指点错误。

 

在ISO/OSI的Internet参考模型中将网络分为七个层级,考虑到工业网络的特殊性需求,通常,工业总线包括实时以太网仅包括三层结构,物理层、数据链路层与应用层.如图1所示,TSN位于网络的第2层。

1.png

图1-TSN在七层架构中的位置(来源:刘丹.TC124年会TSN技术在智能制造中的应用,2018-11,北京)

 

TSN帧与以太网帧有何不同?

TSN网络是一种“流”概念构成的,它包括了PCP(优先级代码)和VLAN ID来构成。

TSN是在物理层(基于IEEE802.3)及MAC之上的VLAN(Virtual Local Area Network),与标准的以太网帧相比,基于TSN的网络会增加4个字节用于定义其特征:

2.png

图2-TSN的标签位定义

 

(1)标签协议识别:网络类型识别,代表这是一个TSN网络,标记0X8100;

(2)优先级代码:三个优先级位

(3)标志位:1位,0标志规范格式,1非规范格式;

(4)VLAN Identifier:VLAN网络的规模,12位代表可支持的子网数量,2的12次方留一位即2014个子网,说明TSN是为了大型的数据传输而设计的。

 

TSN可以理解为一个软件定义网络(Software Defined Network),在第2层的物理实现之上增加了软件定义的交换机制,并采用了桥接方式(Bridge),传统的实时以太网通常不采用交换机都是Hub透传方式进行,因为交换机有较大的延时,一方面,新的机制确保了延时的降低,而另一方面,交换机的成本也越来越低,TSN数据帧与普通以太网帧的区别就在于增加了上述的4个字节的数据插入和解除,并在TSN网络内部对数据通道按照分类传输,当然,TSN交换机的时钟同步机制和延迟测量更为严格,也区别于普通的交换机,对于TSN不仅桥接节点可以打标签,而且终端节点(End Point)也可以对数据帧打上TSN标签。

在TSN交换机中,当数据由上位进入该网络时增加TSN标签,而离开时则去掉VLAN标签,这样通过数据标签就可以使得TSN交换机实现在不同网络间的切换。

 

优先级的定义

图2中,PCP是优先级代码,在优先级中定义了3位标记,8个不同的优先级,这个会对网络场景进行不同的匹配也是后续Shaper设计中会考虑到数据流调度因素。

表1-TSN网络的PCP优先级代码定义

3.png

通过TSN交换机网络,可以构成实时控制域,也可以与非实时域的数据进行交互,这使得网络变得更为灵活,在交换机内构建不同的Shaper,可以实现不同用应用场景的数据传输方案,包括AVB面向汽车领域,IEC目前针对TSN IA的60802规约,以及在航空航天领域的AS6802规约—关于Shaper-整形器,它是构成TSN的核心机制,将在第3部分专门讲述。

 

以太网交换机的机制

通常而言,TSN交换机分为两个部分,即控制层面(Control Plane)和数据层面(Data Plane),控制平面主要采用软件实现自动配置特性和服务,而数据平面则解决MAC和转发任务,采用硬件来实现。

 

LLC处理底层与上层之间的通信,获得网络协议数据并增加控制信息以便有助于数据被传输至目标。MAC构成数据链路层的低层子层,由硬件实现,典型的是计算机NIC,两个主要职责,数据封装,媒体访问控制。

 

对于支持桥接连接的TSN交换机而言,其处理数据的包括入口处理以下任务:

  • 入口的任务包括:滤波,(去)标记,VID翻译,解包/封装

  • Relay实现转发,滤波任务

  • 出口则实现滤波,(去)标记,VID翻译,封装/解包,计量,排列,传输选择。

对于普通的以太网即是如此实现,在这一点上,TSN与普通交换机没有什么不同,而对于TSN而言,在控制面板(Control Panel)方面则实现了其它我们后续会讲到的控制(整形器)的调度设计。

4.png

图3-TSN网络的结构简图

 

接下来,我们可以了解一下以太网的延时测量与时钟同步机制:


实时网络关键指标

对于TSN而言,其与其它实时网络一致,比较重要的在于确保满足各种应用场景,对于工业应用而言,则聚焦于实时性,因为所有的控制任务都是基于“等时同步”机制而设计的,实时应用主要是精确同步,确定的时延和确定的带宽,具体到TSN的IA,即60802而言,则定义了以下几个比较重要的指标:

  • 与主时钟的最大偏差范围在100nS到1微秒

  • 支持冗余的同步主站和域

  • 在冗余工作时钟域零故障切换时钟

 

网络延时与计算

 

既然对于网络而言,延时最为重要的考虑因素,那就简单了,给每个节点包括桥接节点都带块表呗!不过,大家的表可不一定都是准的啊!对于多个节点的主从/多主结构的网络而言,多个时间如何进行同步就是一个问题,比较广泛的精确时钟协议(PTP)是IEEE1588,当然,IEEE1588也允许针对特殊应用需求的协议,如IEEE802.1Q工作组定义的IEEE802.1AS的gPTP(广义精确时钟协议)就是为TSN桥接网络而设计的,为了进一步满足工业中的可靠性需求,又开发了IEEE8201.1AS-Rev版本。

 

gPTP广义精确始终同步

 

IEEE802.1AS就是采用了广义精确时钟同步协议(gPTP),与 PTP相比而言,gPTP为严苛时间感知网络而设计,用于分发时钟,PTP可以基于MAC层,也可以基于IPV4/IPV6而传输的,即,它可以在第3-4层的IP网络传输,而gPTP集成在MAC硬件中,只在第2层工作,直接对数据帧插入时间戳信息,并随着数据帧传输到每个节点,用于进行延时计算。

5.png

图4-IEEE802.1As的时钟结构

 

对于整个gPTP网络,可以间隔数秒钟进行一次全局对表,过多的对表就会导致时间被消耗在对表这个数据包上,而太长时间的对表则会导致时间产生偏差,影响网络整体的时间精准度,这个对于任何网络而言都是一样的。

 

时钟同步过程

通常,gPTP系统是由分布式和互连的gPTP和非gPTP设备组成(非时间敏感),包括时间感知桥(Bridge)和终端节点(End Point),非gPTP设备不支持分布式网络中的时间同步,gPTP是一种分布式协议,它使用主/从架构将pPTP域所有设备的实时时钟与GM时钟同步,这由两个过程完成,先由BMCA建立主/次结构,每个gPTP设备运行gPTP状态机,由几个gPTP UDP IPv4或IPv6多播和单播消息来建立适当的层次结构,然后同步时间,任何不能中继(桥/终端节点)或同步定时消息的非时间敏感网桥(如普通交换机)都不参与BMCA时钟生成树协议。

 

BMCA-谁的表最好?

BMCA是最佳时钟计算算法(Best Master Clock Algorithm),对于时间感知型网络,每个节点均带有一个时钟,但是,必须选择一个最佳的时钟(Best Clock),BCMA算法就是将各个节点所带的时钟参数进行集中比较,然后表决选出最佳时钟(往往是时钟精度最高的)--这就像一群人都带了快表,各自拿出表,你的表是普通的梅花表,我是Omega,它是Vacheron Constantin,最后有一个人拿出Partek Philippe大家一致认为你的表最好,你就是Master Clock,当你的表出现问题的时候,大家都知道那块Vacheron Constantin不错,是次优的表,但是,当Partek Philippe不在的时候,Vacheron Constantin就可以接管Master Clock,这个重新选择最佳时钟的过程是非常快速的,因为,相当于已经默认了备份。

时间感知网络利用对等路径延迟机制。 计算停留时间,即桥内的入口到出口处理,排队和传输时间,以及链路延迟。

6.png

图5-IEEE802.1AS的时钟结构

 

gPTP应用快速生成树RSTP,这是一种网络中的节点路径规划,网络配置后生成一个最优路径,这个由TSN桥接节点计算并以表格形式分发给每个终端节点存储,当一个TSN节点要发送数据的时候,它会先检查这个表格,就会给出哪个路径是最短的,每个节点都知道应该如何转发,并整个网络与最短路径传送至需要接收的节点。

例如,在图5中,最左下方的802.1AS端点从上游CM接收时间信息,该时间信息包括从GM到上游CM的累积时间。 对于全双工以太网LAN,计算本地CS和直接CM对等体之间的路径延迟测量并用于校正接收时间。 在调整(校正)接收时间后,本地时钟应与gPTP域的GM时钟同步,当然,TSN网络也是支持交叉通信的,就在于每个节点都会有RSTP生成树所给出的路径表。

 

802.1AS定义了多个场景中的延时测量机制,包括802.3全双工的点对点连接、采用无源光学网络(EPON)的连接,针对IEEE802.11无线连接方式,以及通用协调共享网络,如图6所示。

7.png

图6-IEEE802.1AS定义多种场景的时钟同步应用

8.png

图7-IEEE802.1AS-Rev的保障机制

对于IEEE802.1AS而言,会出现主时钟失效的可能性,而这是IEEE802.1 TSN工作组制定的一种机制,它与AS的区别主要在于在主时钟失效时快速切换到次优时钟作为主时钟。

 

802.1AS的核心在于时间戳机制(Timestamping)。PTP消息在进出具备802.1AS功能的端口时,会根据协议触发对本地实时时钟(RTC)的采样,将自己的RTC值与来自该端口相对应的主时钟(Master)的信息进行比较,利用路径延迟测算和补偿技术,将其RTC时钟值匹配到PTP域的时间。当PTP同步机制覆盖了整个AVB局域网,各网络节点设备间就可以通过周期性的PTP消息的交换精确地实现时钟调整和频率匹配算法。最终,所有的PTP节点都将同步到相同的“挂钟”(Wall Clock)时间,即主节点时间。在最大7跳的网络环境中,理论上PTP能够保证时钟同步误差在1μs以内。

 

IEEE802.1AS-Rev主要是在支持新的连接类型(如Wi-fi)、改善冗余路径的支持能力、增强了时间感知网络的主时钟切换时间等性能,为了更为严苛的网络需求而设计,但是,主要原理均与AS相同。

 

延迟的计算

在gPTP中,时间同步的过程与IEEE Std 1588-2008中采用相同的方式:主时钟发送同步时间信息给所有直接与其连接的时间感知系统,这些时间感知系统在收到这个同步时间信息后必需通过加上信息从主时钟传播到本节点的传输时间来修正同步时间信息。如果这个时间感知系统是一个时间感知网桥,则它必需转发修正后的同步时间信息(包含额外的转发过程的延时)给与它连接的其他时间感知系统。

为了保证上述过程正常工作,这个过程中有两个时间间隔必需是精确已知的:一个是转发延时(称作,驻留时间),另一个是同步时间信息在两个时间感知系统之间的传输路径上的延时。驻留时间的测量是在时间感知网桥内部的,测量计算比较简单;而传输路径上的延时则取决于诸多因素,包括介质相关的属性和路径长度等。

 

如图8所示,为在MAC中的内部延时,以及在接收发送端口的延时,这些延时可以被精确计算。

9.png

图8-数据传输过程中的延时

对于每一类型的局域网或传输路径有不同的方法来测量传播时间,但是这些方法都基于同一原理:测量从一个设备发送某个消息的时间以及另一个设备接收到此消息的时间,然后以相反方向发送另一个消息并执行相同的测量,如图9和图10所示。


图9就是一个终端节点Requestor和Responder之间的测量过程:

10.png

图9-标准的延时计算

在这个过程中,我们可以计算Pdelay的值如下公式:

11.png

而其比率r则如下式:

12.png

图10-1次与2次方式的延时测量原理

 

图10显示的是测量路径延时的方法,有1步和2步两种,因为在这个网络中可能有一个节点无法提供准确的时钟,对于时间感知型节点而言,由于时间信息是随着数据载荷发送的,因此,每个节点都会带有时间信息,而对于有一些非时间感知网络,则需要发送数据帧后再发送一个发送的时间信息给另一个节点,因此,对于IEEE802.1AS-Rev而言,是增强了在one Step这种机制的支持,使得实时性得以提高-毕竟,多发一次也是要耗费时间的。

 

关于TSN技术,下一次会就TSN关键的Shaper整形器进行介绍。

来源:微信号 说东道西

作者:宋华振

该作品已获作者授权,未经许可,禁止任何个人及第三方转载。




热门招聘
相关主题

官方公众号

智造工程师