文 | 来源·盖世汽车 盖世汽车

一、TSN方案概要

本方案基于SOCe MTSN套件,验证100BASE-T、1000BASE-T和TSN协议中的 IEEE802.1 Qav、IEEE802.1 Qbv、IEEE802.1 Qcc、IEEE802.1 As和IEEE802.1 CB等协议。方案包括MTSN相关硬件的介绍、device硬件的连接和TSN部分协议的验证demo。

时间敏感网络是IEEE 802.1工作组的时间敏感网络任务组正在开发的一组标准。这些标准提出了针对IEEE 802.3网络的增强功能,以便为OT和IT定义基于以太网的独特解决方案。 TSN的基本基础是使用时间同步和用于定义网络中共享的时间表的时间感知整形器在以太网上实现确定性。本方案的TSN在于时间同步,流量整形和网络配置三个因素。

(1)时间同步

在时间敏感网络中,所有device都需要有一个公共时间基准,因此需要彼此同步时钟。使用称为IEEE 802.1AS-2011的IEEE 1588配置文件,面临着在组成网络的TSNdevice之间提供纳秒级同步精度的技术挑战。由于这项技术提供的准确性,确保基于受控的网络延迟和抖动植入有效的基于时间触发的以太网解决方案是可行的。

(2) 流量整形

使用IEEE 802.1Q中使用的严格优先级机制,可以区分更重要的网络流量和次要的网络流量,但不能给出端到端交付时间的绝对保证。 TSN通过添加机制来确保按软硬实时要求及时交付,从而增强了标准以太网通信。

IEEE 802.1Qbv时间感知调度程序允许定义每个重复周期中可用的时隙数量,其持续时间以及允许发送的优先级队列。由于采用了这种操作方式,计划流量具有专用的时隙,以确保预期的确定性行为。尽力而为的流量容纳在每个循环操作的其余时隙中。

TSN中优先级和带宽使用优化的一项重要改进是对基于信用整形器的支持,如IEEE 802.1Qav中所定义。此功能允许定义可用于确定队列的最大带宽比例。

(3)网络配置

TSN网络的配置平面是标准化(IEEE)和工业(IIC TSN测试平台工作组)组中最活跃的主题之一。 TSN通信基于在Talker和一个或多个侦听器之间设置的数据流。基于每个流的商定参数,有必要配置TSN网络的所有元素以根据所选参数切换帧。此操作由集中式网络配置(CNC)节点执行。该CNC应能够以标准化的方式与不同供应商的device进行通讯。该领域的早期进展基于IEEE 802.1Qcc标准。

二、TSN方案设计2.1 TSN网络拓扑图

本方案中TSN的网络拓扑如图1所示

image002.gif

图1 TSN的网络拓扑图

2.2 device介绍

(1)MTSN套件

多端口时间敏感网络(MTSN)交换机IP是SoCe解决方案,适用于需要一站式解决方案在其device中引入时间敏感网络的任何客户。根据应用,可以最佳地实现MTSN交换机IP。可以将其配置为从简单的2端口TSN适配器到复杂的多端口交换机生成。设计人员可以在其他参数中为FPGA部分中实现的交换机选择端口数量和存储器分配。使用Xilinx Vivado工具以图形方式完成整个配置。MTSN套件不仅设计用于测试MTSN交换机IP,而且还支持高级动手TSN。该套件基于Zynq Ultrascale + MPSoC,它由两块可以运行TSN网络设置的板组成,如图2所示。

image004.gif

图2 MTSN套件

(2)TSN交换机(SMARTmpsoc)

SMARTmpsoc Brick为支持1588的HSR/PRP高可用性和确定性以太网网络提供了开箱即用的设置。它是基于Xilinx Zynq Ultrascale+ MPSoC可重构平台device,包括SoC-e SMARTmpsoc模块。它嵌入Linux操作系统和实现自主HSR/PRP、托管以太网、IEEE 1588、TSN和其他SoC-e解决方案所需的SoC-e ip,甚至与用户逻辑相结合。它是评估SoC-e IP核的一个很好的选择,因为它只是一个Plug&Play解决方案,不需要客户进行任何类型的集成工作。硬件以后还可以用作开发平台,这样可以缩短开发阶段。

SMARTmpsoc 模块是可插拔的SoM,旨在使以太网工业网络轻松集成到电气、运输和工业自动化领域的device中。这个功能强大的模块允许实施具有强大网络功能的定制路由器、交换机或终端device。可以使用特定的IP内核在硬件中实现切换处理。

SoC-e提供了可在SMARTmpsoc 模块上实现的解决方案,这些解决方案包括:HSR,PRP,MRP,DLR,TSN,RSTP,PTP,低延迟以太网,Profinet和以太网IP。

image005.png

图3 SMARTmpsoc

SMARTmpsoc Brick主要参数如下:

l  SMARTzynq载体:

4x SFP cage适用于10/100/1000Base-T, 100Base-FX或1000Base-X

10/100/1000Base-T 1x RJ45

UART控制台(USB)

6V-30V DC(含电源)

2 x PMOD连接器

l  电源供电

l  USB B电缆

l  光纤/铜SFP模块(可选)

(3)SMARTzynq Brick(TSN流量生成器)

SMARTzynq Brick 提供了一个现成的建立1588感知 HSR / PRP高可用性以太网网络。它基于SoC-e SMART zynq模块 ,其中包括Xilinx Zynq-7000可重配置平台device。它嵌入了Linux OS和实现自主HSR / PRP,托管以太网 ,IEEE 1588和其他SoC-e解决方案所需的SoC-e IP ,甚至与用户逻辑结合在一起。

它也是评估SoC-e IP内核的绝佳选择,因为它是即插即用的解决方案,不需要客户进行任何形式的集成工作。硬件以后也可以用作开发平台,从而缩短了开发阶段。

SMART zynq Brick 电子部件为工业或汽车级。另外,它允许广泛的DC电压输入和所有必需的保护,以允许在现场使用该板(例如:在工业device或机架内部,CNC机器等内部)。

SMARTzynq Brick的主要参数如下:

l  SMART zynq载体:

用于10/100 / 1000Base-T,100Base-FX或1000Base-X的4个SFP接口

1个RJ45 支持10/100 / 1000Base-T协议

UART控制台(USB)

6V-30V DC(包括电源)

2个PMOD连接器

l  具有参考设计的SD卡

l  电源

l  USB B电缆

l  光纤/铜SFP模块(可选)

(3)流量生成器

流量生成器用于产生各种优先级和带宽的流量,已对网络传输进行阻塞,从而验证TSN的一些协议对网络调度和降低网络延迟的功能。

image006.jpg

图4 SMARTzynq Brick

2.3 device连接

在图5中展示了运行TSN演示所需的硬件连接。套件三个硬件板块,分别为TSN交换机1、TSN交换机2和流量生成器。

TSN交换机1和TSN交换机2出厂时已经预先配置好,在板载ARM处理器的以太交换端口eth0上有不同的IP地址。 流量生成器在服务端口也被预先配置有一个不同的IP地址。使用前需要对device进行以下连接:

(1)将TSN交换机1的PORT0和TSN交换机2的PORT0相连

(2)将TSN交换机1的PORT1和TSN交换机2的PORT1相连

(3)将TSN交换机1的PORT0和流量生成器的PORT0相连

(4)将TSN交换机1的PORT3和流量生成器的服务端口相连

(5)将TSN交换机2的PORT2和电脑连接

image010.gif

图5 MTSNdevice连接

为了方便区分,TSN交换机1为device0,TSN交换机2为device1,流量生成器为device2。

2.4 协议验证2.4.1 IEEE802.1AS(时间同步测试)

该测试表明TSN网络中需要通用的时间同步。将传输时间划分为多个循环窗口增加了对纳秒计时器的需求,该计时器允许所有device同时打开这些窗口。缺乏这种机制会触发大量的随机带宽损失。

image011.png

图6.没有时间同步的TSN网络

image013.png

图7.具有时间同步的TSN网络

为了提供友好的界面,可以使用专用的Web界面来控制TSN测试(请参见图8)。可从PC Web浏览器(Opera浏览器)输入属于device0的地址192.168.4.64:1337来访问此Web界面。

image015.png

图8.演示Web界面

验证步骤:

① 单击“Time Synchronization Test”按钮,它将弹出一个新页面;

image017.png

图9.时间同步测试页

② 打开Wireshark,现在不要开始捕获;

③ 单击“Start Frame Generator”按钮,它被配置为启动device0中的流量生成器,主要参数定义了1500字节大小,VLAN优先级为5的帧的传输,带宽率为10%;

④ 在Wireshark中开始新的捕获,打开I / O图,并检查是否以优先级5接收了100Mbps的流量;

image019.png

图10.优先级5的流量带宽

⑤ 单击“Enable TAS in Device 0”,时间感知整形器的配置仅发送到device0。它的配置如下:

•仅保留一个时隙用于优先级5流量的传输。

•允许将所有剩余的流量发送到剩余的时隙中。

•允许在所有时隙中传输PTP流量(优先级6)。

image021.png

图11.时间感知整形器配置

⑥ 返回到I / O图捕获,并检查带宽是否限制为大约25%;(由于仅为优先级5的流量预留了一个插槽)

image023.png

图12.时间感知整形器操作

⑦ 单击“Enable TAS in Device 1”, Time Aware Shaper的配置仅发送到device1。它的配置方式与device0相同;

⑧ 返回I / O图捕获,由于device无法同时打开窗口,因此带宽减少了,注意:带宽减少可能与图片有所不同,这是因为两个device中的窗口启动之间的时间差是随机的;

image025.png

图13.带宽减少(设置TAS后)

⑨ 单击“Enable IEEE 802.1AS”按钮,此按钮的作用是激活两个device中的IEEE 802.1AS,以使其具有同步时间,同步完成后,两个device将同时打开循环窗口;

⑩ 返回I / O图捕获,检查同步完成后,带宽大约恢复到25%;

image027.png

图14.加载时间同步后的带宽

⑪ 单击“Go back”按钮。单击此按钮时,流量生成器停止传输流量,并且时隙的配置被撤消。它带您回到主页;

⑫ 转到Wireshark并停止捕获。

2.4.3 IEEE802.1Qbv(TAS:时间敏感整形器测试)

如先前的测试所示,在以太网的标准操作下,由于流量优先级比流量生成器低,因此无法对VLC实例进行优先级排序。在此测试中,将证明标准IEEE 802.1Qbv中定义了TSN功能,该功能允许为不同的优先级分配传输时隙。特别是,在802.1Qbv块中配置的参数将仅允许将优先级2流量传输到单个时隙中。其余流量将被传输到另一个时隙。将有另一个不允许任何流量的时隙,以定义保护带并改善Wireshark中的图形可视化。最终,第一个时隙将仅保留用于优先级0流量的传输,以保持演示的成功执行。注意:802.1AS流量(优先级6)将被允许在所有时隙中传输。

image029.png

图15.时间感知整形器配置

验证步骤:

① 单击“ Time Aware Shaper Test”按钮,它将弹出一个新页面,启用了两个VLC客户端实例,VLC1对应于VLAN优先级为2的流,而VLC2对应于VLAN优先级4的流,这两个视频现在都可以显示。

image031.png

图16.时间感知整形器测试页

② 单击“Enable Time Aware Shaper”按钮,时间感知整形器(时隙)的配置参数发送到两个device。通过此操作,由于优先级2(VLC实例1)的可用于传输的专用时隙,其流量已保留了一定百分比的带宽;

③ 单击“Start Frame Generator”按钮,它配置为启动device0中的流量生成器,主要参数定义1500字节大小的帧的传输,VLAN优先级为5,带宽速率为100%,以产生拥塞情况。 此时,应该正确接收VLC实例1,而不能正确接收VLC实例2,这是由于在同一时隙中其余优先级的带宽仍存在竞争。

④ 在Wireshark中开始捕获几秒钟,打开I / O图形并以毫秒为单位设置x标度,然后注意将传输时间分成多个时隙。 检查优先级为2的流量是否从未与其余流量同时传输,还要检查是否接收到任何优先级为4的流量。

image033.png

图17.时间感知整形器时隙

⑤ 单击“ Go back”按钮,单击此按钮时,流量生成器停止传输流量,VLC实例被中断,并且时隙的配置保持不变,返回主页。

2.4.3 IEEE802.1Qav(CBS:基于信用的整形器测试)

使用时间感知整形器机制,由于在每个传输窗口中保留了一个时隙,因此可以实现优先级为2的流量的优先级。在此测试中,将使用基于信用的整形器机制,以便在多个优先级的流量之间分配带宽。特别是,需要为优先级4的流量分配足够的带宽(VLC2),并将优先级5的流量的带宽限制为允许其余流量传输的值,选择的值限制了优先级5流量的带宽的20%。

验证步骤:

① 单击“Credit Based Shaper Test ”按钮,这两个视频现在都可以显示。启用了两个VLC客户端实例。 VLC实例1对应于VLAN优先级为2的流,而VLC实例2对应于VLAN优先级4的流。这两个视频现在都可以显示。

image035.png

图18.基于信用的整形器测试页

② 单击“Enable Credit Based Shaper”按钮,基于信用的整形器的配置参数(带宽分数)被发送到两个device,通过此操作,由于优先级5的流量的限制,优先级4(VLC实例2)的流量已预留了一定百分比的带宽;

③ 单击“Start Frame Generator”按钮,它配置为启动device0中的流量生成器。主要参数定义1500字节大小的帧的传输,VLAN优先级为5,带宽速率为100%,以产生拥塞情况。此时,尽管负载流量的配置方式与之前的测试相同,但这次两个视频都能正常接收,因为CBS功能正在管理分配给每个优先级的带宽;

④ 在Wireshark中捕获几秒钟,打开“I/O Graph”并以秒为单位设置x轴比例,并注意优先级5流量的带宽限制,它应该仅约为50Mbps(250Mbps的20%-1个时隙)。此外,x轴标度可以设置为毫秒,并且可以验证优先级4的流量始终与优先级5的流量在同一时隙中传输。

image037.png

图19.基于信用的整形器图1

image039.png

图20.基于信用的整形器图2

⑤单击“ Go back”按钮,单击此按钮时,流量生成器停止传输流量,VLC实例被中断,并且所有与TSN相关的功能都被禁用,并将返回主页。

2.4.4 IEEE802.1CB(帧复制和消除的可靠性测试)

为了测试FRER机制所带来的优势,使用了一个新的视频流VLC3。这个视频流在device0和device1中都是预先配置好的,以利用IEEE 802.1CB标准中定义的流识别功能。使用IEEE 802.1CB标准中定义的流识别功能。除了流识别功能,这个流还在device0中被配置为从端口0和端口1重复发送,在device1中丢弃收到的重复的收到的帧。通过这种配置,有可能实现无缝冗余即零恢复时间。

验证步骤:

① 单击“Frame Replication and Elimination for Reliability Test”按钮,这两个视频现在都可以显示;两个视频流从device0发送,VLC3对应的是用FRER机制配置好的流量。VLC2对应于另一个没有配置TSN机制的视频流;

image041.png

图21.帧复制和消除的可靠性测试

② 拔掉连接device0的port-0和device1的port-0的电缆,这时VLC2将停止几秒钟,VLC3将继续不间断播放。在这种情况下,VLC2停止了几秒钟然后又开始接收。因为RSTP功能检测到port-0的链路是断开的并开始通过port-1传输VLC2流。与RSTP不同,FRER机制是一个零时间恢复的冗余机制,这就是为什么VLC3在port-0链路断开时不会中断;

image043.png

图22.FRER测试模型

③ 单击“Go back”按钮返回主页。