众所周知,通用以太网是以非同步方式工作的,网络中任何设备都可以随时发送数据,因此在数据的传输时间上既不精准也不确定;同时,广播数据或视频等大规模数据的传输,也会因网络负载的增加而导致通讯的延迟甚至瘫痪。因此,通用以太网技术仅仅是解决了许多设备共享网络基础设施和数据连接的问题,但却并没有很好的实现设备之间实时、确定和可靠的数据传输。
最初,以奔驰为首的德国公司在2000年发明了Flexray总线来解决问题,今天TSN标准里最核心的时间触发机制和无缝冗余理念都来自Flexray,但Flexray传输速率最高仅20Mbps,远远不能满足完全无人驾驶的要求,但对于L2级自动驾驶则绰绰有余,这也是奔驰和宝马对TSN不太感冒的原因之一,Flexray可以看做轻量级的TSN。
2006年,IEEE802.1工作组成立AVB音频视频桥接任务组,并在随后的几年里成功解决了音频视频网络中数据实时同步传输的问题。这一点立刻受到来自汽车和工业等领域人士的关注。2012年,AVB任务组在其章程中扩大了时间确定性以太网的应用需求和适用范围,并同时将任务组名称改为现在的TSN任务组。
TSN其实指的是在IEEE802.1标准框架下,基于特定应用需求制定的一组“子标准”,旨在为以太网协议建立“通用”的时间敏感机制,以确保网络数据传输的时间确定性。同时利用数据整形,确保延迟达到微秒级(一般每桥不超过250微秒),利用frameReplication and Elimination帧复制和消除,确保无论发生链路故障、电缆断裂以及其他错误,均能强制实现可靠的通讯。此选项确保关键流量的复本在网络中能以不相交集的路径进行传送,只保留首先到达目的地的任何封包,从而实现无缝冗余,达到超高的可靠性,这对无人驾驶尤其重要。
同时还有灵活的资源管理。TSN就仅仅是关于以太网通讯协议模型中的第二层,也就是数据链路层(更确切的说是MAC层)的协议标准。请注意,是一套协议标准,而不是一种协议,就是说TSN将会为以太网协议的MAC层提供一套通用的时间敏感机制,在确保以太网数据通讯的时间确定性的同时,为不同协议网络之间的互操作提供了可能性。
状态分4种,分别是已公开、工作组(WG)、任务组(TG)和倡议(Sponsor)。有关汽车工业的除P802.1DG外,都已公开。不过这并不妨碍TSN在汽车领域的应用。只要有TSN的核心组件即可投入使用,TSN有4个核心组件,分别是时间同步、低延迟、超高可靠性和特定资源管理。
车载TSN的6大核心标准
01
时间同步
所有通信问题均基于时钟,确保时钟同步精度是最为基础的问题,TSN工作组开发基于IEEE1588的时钟,并制定新的标准IEEE802.1AS-Rev。它用于实现高精度的时钟同步。对于TSN而言,其最为重要的不是“最快的传输”和“平均延时”,而是“最差状态下的延时”—这如同“木桶理论”,系统的能力取决于最短的那块板,即,对于确定性网络而言,最差的延时才是系统的延时定义。
IEEE1588 协议,又称 PTP( precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于 2002 年发布 version 1,2008 年发布 version 2。它的主要原理是通过一个同步信号周期性地对网络中所有节点的时钟进行校正同步,可以使基于以太网的分布式系统达到精确同步,IEEE 1588PTP时钟同步技术也可以应用于任何组播网络中。
IEEE1588 协议的同步原理,所提出的 Delay Request-Response Mechanism(延时响应机制)如上图,IEEE1588 把所涉及到的报文分为 事件报文 和 通用报文,分类依据是:是否在收发报文时需要记录精确时间戳,根据上文中所描述的几种报文,可以进行如下分类:
事件报文(event message) < 收发时候需要记录精确时间戳 > : sync /Delay_Req/Pdelay_Req/Pdelay_Resp。
通用报文 (general message)< 收发时候不需要几率精确时间戳 > :Announce/Follow_up/Delay_resp /Pdelay_Resp_Follow_Up/Magnament/Siganling。Pdelay_Req /Pdelay_Resp/ Pdelay_Resp_Follow_Up通过peer延迟机制测量两个时钟端口之间的链接延时,链接延时被用来更正Sync和Follow_Up报文中的时间信息。
IEEE802.1AS-Rev是为以太网第二层所定义的1588规范加以扩展,它的扩展包括了所有域常用peer延迟服务,支持精细时间测量FTM,对链路聚合(802.1AX)的支持,改善的使用范围-包括1步时间戳标准化处理以及针对长链、环的支持,更好的响应能力,这包括了更快的主站交互、降低BMCA收敛时间。另外IEEE802.1AS-Rev支持了多域的同步信息传输以及冗余支持能力(可配置冗余路径和冗余主站)。对无线网络采用时间测量提供更好的支持。IEEE802.1AS-Rev的制定得到了AVNU联盟的大力支持。
AVNU联盟由英特尔、思科和三星哈曼发起,是EAVB协议的主要提供者,AVNU联盟为IEEE802.1AS-Rev的实施提供协助,能够提供完整的协议栈和测试认证,国内加入AVNU的有恒润科技、中国信通院、德赛西威、赫千科技、东信创智、怿星科技。
同时在新出的自适应Autosar也对IEEE802.1AS-Rev做了特别支持。也就是说你要用TSN,恐怕是离不开自适应Autosar的。
02
低延迟
汽车控制数据可以分为三种,Scheduled Traffic、Reserved Traffic、Best-effort Traffic。
ScheduledTraffic如底盘控制数据,没有任何的妥协余地,必须按照严格的时间要求送达,有些是只需要尽力而为的如娱乐系统数据,可以灵活掌握。汽车行业一般要求底盘系统延迟不超过5毫秒,最好是2.5毫秒或1毫秒,这也是车载以太网与通用以太网最大不同之处,要求低延迟。
在TSN标准里,数据则被分为4级,最高的预计延迟时间仅为100微秒。
低延迟的核心标准是IEEE802.1Qbv时间感知队列。
通过时间感知整形器(Time Aware Shaper,TAS)使TSN交换机能够来控制队列流量(queued traffic),以太网帧被标识并指派给基于优先级的VLAN Tag,每个队列在一个时间表中定义,然后这些数据队列报文在预定时间窗口在出口执行传输。其它队列将被锁定在规定时间窗口里。因此消除了周期性数据被非周期性数据所影响的结果。这意味着每个交换机的延迟是确定的,可知的。而在TSN网络的数据报文延时被得到保障。
TAS介绍了一个传输门概念,这个门有“开”、“关”两个状态。传输的选择过程-仅选择那些数据队列的门是“开”状态的信息。而这些门的状态由网络时间进度表network schedule进行定义。对没有进入network schedule的队列流量关闭,这样就能保障那些对传输时间要求严格的队列的带宽和延迟时间。TAS保障时间要求严苛的队列免受其它网络信息的干扰,它未必带来最佳的带宽使用和最小通信延迟。当优先级非常高时,抢占机制可以被使用。
在网络进行配置时队列分为Scheduled Traffic、Reserved Traffic、Best-effort Traffic三种,对于Schedule Traffic而言则直接按照原定的时间规划通过,其它则按优先级,Best-effort Traffic通常排在最后。Qbv主要为那些时间严苛型应用而设计,其必须确保非常低的抖动和延时。Qbv确保了实时数据的传输,以及其它非实时数据的交换。