时间敏感网络(TSN)是负责数据链路层标准的IEEE 802.1任务组的名称,该技术旨在提升以太网的性能,使其更具备确定性、鲁棒性、可靠性。随着TSN技术在航空航天、汽车、轨道交通等领域的应用越来越多,工业领域、汽车领域的许多厂商也开始布局TSN相关的设备研发与制造。
现代汽车中包括了各种各样的传感器和执行器,从下图中可以看到,在汽车中存在着大量节点,比如雷达、激光雷达、超声波、照相机等。按照原先的传统设计,不同的设备之间的通信使用点对点的连接或特定的通信协议,如CAN或LIN。但是,由于汽车中需要互连的设备越来越多,而且随着这些通信的具体要求也越来越多,传统的连接方式弊端逐渐显现,因为在实际应用中,互连线束的复杂性成倍增加,而元件的制造是难以自动化的过程。
所以作为现代汽车的互连网络,以太网成为一个有吸引力的解决方案,因为它是通用的,并且能够提供一个高带宽的通信通道。然而,以太网仍然存在问题——它被设计成了一个尽力而为的解决方案,缺乏服务质量机制、带宽控制、确定性或冗余性。因此,有必要提供一个高于以太网的解决方案,来实现确定性和可靠的通信。
TSN技术能够提供可靠的确定性通信方式。该技术是IEEE定义的一套标准,可以用来解决上面提到的以太网网络缺乏确定性和QoS的一些问题。TSN主要有4个层面的内容:时间同步、可靠性、延时管理和资源管理。但是需要注意的是,TSN中定义的提供时间同步、可靠性和延迟管理的协议有特定的要求,在大多数情况下,是需要通过使用硬件来实现或者解决的。因此,这些协议和功能不容易在软件中实现,需要硬件加速。
目前,已有专用TSN标准规定了汽车车载桥接IEEE 802.3以太网的配置文件。该配置文件可用于确定性IEEE 802.3以太网的设计和实施,并支持所有的车内应用,包括那些需要安全、高可用性和可靠性、可维护性和约束延迟的应用。
时间同步是TSN的一个关键部分,因为带宽控制和整形功能是依赖于网络上所有设备都能访问的共享时间进行参考的。比如,时间感知整形器(Qbv)依靠纳秒级的精度来控制和整形网络的带宽。汽车中的几个实时应用和服务也使用一个共同的时间参考。
TSN使用IEEE 802.1 AS协议,为以太网中的所有TSN设备提供时间同步。这个功能的实现它依赖于一个主从机制,允许从设备获得主设备的时间并合成到它们的时钟以达到纳秒级的精度。而且正如之前所说的,为了提供高精度(纳秒级)的精度,有必要对IEEE 802.1 AS消息进行硬件时间标记。
另外,当使用以太网作为汽车中的通信机制时,要对不同的流量类别使用VLAN TAG的优先级位(PCP)进行分类,分为不同的优先级。对于几种服务、应用和设备,它们可能有不同的带宽、延迟和损失容忍度要求。
从表中可以看出,每个流量类别的带宽利用率可以从1-5%到+25%不等。然而,有些流量类别可能对带宽要求不高,但对时间限制很严格,范围在几毫秒。
流量整形也是TSN中定义的机制,用于控制通信的带宽和延时。流量整形有两个协议,第一种IEEE 802.1 Qbv也被叫做基于时间感知的整形,是TSN中定义的用于流量整形的两个协议之一。该协议包括一个不断重复的周期时间(根据使用情况可配置持续时间)。
(1) Qbv周期是由可配置的时隙组成的。每个时隙也有一个可配置的持续时间,其中允许一个或几个流量类别被传输。例如,在图5中,Qbv周期由两个时隙组成。在第一个时隙,只允许传输计划的流量(优先级2,硬实时信息,如传感器和控制流量),而在第二个时隙,允许传输其余的流量类别(尽力而为流量和预流量)。
(2) 根据每个流量类别的要求,可以相应地配置所需的时隙数量、持续时间和允许的流量类别,以便控制每个通信的延迟和带宽使用。这种配置对汽车TSN网络上每个设备的每个以太网端口都是独立的。
(3) 但是为了确保Qbv的正确行为,有必要通过IEEE 802.1 AS协议来实现纳秒级的时间同步的。
IEEE 802.1 Qav是TSN中定义的第二个流量整形协议。这个协议的主要目的是限制每个类别优先级的可用带宽。虽然可以用Qbv限制和控制带宽,但如果配置了允许多个流量类别的时隙,比如说图5的第二个时隙,那些具有较高优先级的流量类别可以利用该时隙的所有可用带宽。
Qav使用一种基于信用的机制来限制每个流量类别可以发送的数据包的突发量。与Qbv的情况一样,可以为TSN网络中每个设备的每个以太网端口中的每个流量类别配置不同的最大突发配置,以防止有较高优先级的流量消耗其插槽中的所有可用带宽。
高可用性是由于汽车中有些通信的丢包容忍度很低甚至为零,因此会要求TSN提供一种机制来确保通信的高可用性和冗余性。
IEEE 802.1 CB是TSN协议组中定义的一个零恢复时间冗余协议。它可以在一对设备之间的链路断开的情况下提供通信冗余和零数据包丢失。主要是通过数据的冗余备份和冗余链路进行并行传输来提高可靠性,通过在不相交的网络路径上发送关键流量的重复副本,从而最大限度地减少了拥塞和故障的影响,来实现无缝的数据冗余,但是代价是会有额外的带宽消耗。这个协议会根据流量类别和TSN流标识获取路径信息以及序列生成功能来选择数据包复制,确定要丢弃的帧和传递的帧,最终确保正确的帧恢复和合并。RSTP和MSTP这两个协议是在以太网上提供高可用性的协议,然而它们有恢复时间,在这个时间里,通信会停止,数据会丢失。所以可以把QCB与RSTP/MSTP相结合。
上图中的结构图是一个使用IEEE 802.1 CB的设备A和B之间冗余通信的示例图。网络中的每个节点都会生成一个需要发送的数据包的副本。相应地,网络中的每个节点都会丢弃重复的数据包,并生成新的副本,使用冗余链路(如果有的话)发送。因此,可以提供冗余,并使引入的带宽开销最小化。
此外,TSN还定义了IEEE 802.1 Qci作为一个用于高可用性的协议。这个协议的作用是防止未配置或有故障的设备向网络发送不需要的流量,从而影响其他流量类别,恶化网络性能。这个协议能够使用以太网帧的不同字段来识别流,如MAC地址、VLAN ID等。一旦每个流被正确识别,就有可能对每个流独立设置规则。可以应用于每个流的一些规则是设置允许的最大数据包大小、允许的最大带宽、启用或禁用数据包传输等,也就是限流,阻断这些方式,主要是用在交换机的入口,通过各种约束或者规则来监管每个流的输入,以防止出站队列被非法帧淹没。
Qci中的带宽限制是由一个信用和一个彩色桶机制实现的(或者说是令牌桶算法)。令牌桶可以看作是一个存放令牌的容器,预先设定一定的容量。系统按给定的速度向桶中放置令牌,当桶中令牌满时,多余的令牌溢出。令牌桶是一种流量测量方法。
(1) 如果流量没有超速,设备会为报文奖励绿牌(将报文染色为绿色)。报文可畅通无阻,即被转发。
(2) 如果流量稍微超速,设备会发出黄牌警告(将报文染色为***)。通常报文会被降级,即修改报文的内部优先级,然后进行尽力而为的转发。
(3) 如果流量超速太多,设备会发出红牌将报文罚下(将报文染色为红色)。报文被禁止通行,即丢弃。
此外,IEEE 802.1 Qci定义了一套丰富的统计计数器,可以使网络管理员或设计者能够检测配置问题。
TSN有大量的协议和复杂的机制,所以网络和设备配置变得至关重要。IEEE 802.1 Qcc是TSN中为网络配置定义的协议。CUC是一个用于从TSN网络中的talker和listener(终端设备)检索要求的设备。因此,要向CUC提供有关需要发送和接收的所有数据流的信息,以及这些数据流的特性(带宽、延迟、冗余等)。
另一方面,CNC是一个获取网络设备比如说交换机和路由器,以及他们能力(端口数、支持的TSN协议、到其他网络设备的路由…)信息的设备。一旦CUC和CNC都知道需要发送的数据流和网络上的可用资源,就会使用复杂的算法来确定每个设备的具体配置,来确保满足所有注册数据流的要求。
目前,虹科已推出10G TSN交换和TSN端点解决方案,包括开发方案,硬件设备,配置软件等等一系列完整的方案。
虹科10G TSN以太网交换IP解决方案是一个完全可定制的以太网交换方案,其端口可多达32个,交换机的每个端口可以独立配置,并具备大范围的端口速度(10M到10G)。此外,该方案支持广泛的接口类型,如MII、RMII、RGMII、SGMII、XGMII、USXGMII,并完全支持TSN汽车profile,和其他profile。
图10为10G TSN以太网交换机的内部架构,该架构被分为三个主要部分:
(1) 在图的左边,是入口数据包处理管道。根据交换机的定制,管道的每个stage都是专门用于应用每个协议的入口数据包处理能力的。处理后的帧被存储在一个共享的内存缓冲器中,这个缓冲器实现了虚拟输出队列,来限制线头阻塞的一个现象(the head of line)。
(2) 在图的中间,是交换机结构。它是由一个非阻塞性的开关矩阵组成。此外,还有共享表,它被交换机的所有端口用来处理一些支持的协议。
(3) 在图的右边是出口数据包处理管道,它使用管道的一个stage对实现的每个协议进行数据包的出口处理。从交换机结构收到的帧被存储在一个共享内存缓冲区,并由一个出口调度器控制,该调度器由TSN Qbv和Qav协议决定。
除Qav和Qbv外,其他TSN协议的实现根据具体协议,在入口和出口处理管道之间划分。此外,入库和出口的端口接口实现了硬件时间戳功能,来实现高精度的时间同步。
上图主要介绍了虹科10G TSN以太网交换机解决方案在汽车网络中的一个使用案例。每个zonal TSN网关在其PL单元上实现的是虹科10G TSN以太网交换机解决方案。该交换机使用4个10G端口与其他zonal网关连接,并使用大量1G端口为汽车相应区域的传感器、摄像头和执行器提供连接。该交换机可以实现TSN汽车配置文件中定义的所有TSN协议。
在实施之前,测试网络的能力是开发一个成功的网络设计的关键。虹科的测试平台为系统设计者提供解决方案,在安装和设备推广给客户之前,可以看到他们的设备和网络在真实场景的表现。
因此,有必要定义一个测试计划,考虑到在真实用例中可能遇到的不同情况。确定了测试计划,就有必要实施一个网络拓扑结构,来实现测试计划中定义的测试。但是必须代表将在真实环境中实施的系统。所以网络中必须包括以下内容:
但是,即使一个解决方案确实符合TSN标准,要证明这一点也不容易。它需要专门的设备,能够测量诸如时间感知整形器中的数据门控、同步精度、延迟、抖动或可抢占的数据。这个测试过程的主要任务是确认流量传输符合特定用例应用的约束条件,或者传输的延迟低于一个固定值。因此,验证该技术的关键因素是一个能够测量特定类型流量的传输延迟的工具。比如说虹科的RELY-TSN-LAB测试工具。
虽然大多数设备通常可以使用专有的解决方案,如网络管理器、命令行、串行端口等进行配置,但当增加更多的流量、数据流和设备时,这种方法是不可扩展的。就像配置冗余这样的机制,意味着为每个节点生成单独的配置,比如说其流识别机制、流处理程序、VLAN和恢复功能等等。当规模超过几个数据流时,这是一个很大的挑战。
当设备比较少的话可以直接通过网络配置工具进行配置。但是当TSN网络中存在多个设备的时候,使用配置软件会比单独配置更加高效。因此,推出了一款允许在确定网络拓扑和通信需求时配置TSN设备并保证满足约束条件的TSN配置软件——RELY-TSN-Configurator,可以对不同类型的网络进行模拟、建模和后期分析。
本文内容来自于虹科工程师在虹科云课堂的直播,未经许可禁止转载。