当前位置:主页>物联网

TSN网络示例

作者:ADI公司 Volker E. Goller  来源:中国电子商情

发布时间:2017-11-30

0k

通过时间敏感网络(TSN)评估套件,客户可将几乎任何现有以太网设备连接到TSN网络。这种网络的最简单情况是纯线形拓扑,由多个此类TSN评估套件组成。

但是,该套件也可配合其他供应商的TSN解决方案工作,只要这些解决方案支持同样的特性集。目前,该套件支持802.1Qbv(计划流量)和802.1AS(时钟同步)。

该套件提供3个以太网端口,参见图1。它支持几乎所有标准以太网设备,包括运行EtherNet/IP、PROFINET RT、ModbusTCP、BACnet IP或任何其他IP协议(PROFINET IRT、EtherCAT、SERCOS和POWERLINK除外)的设备。

本应用笔记旨在引导ADI公司TSN评估套件(以下简称为“TSN套件”)的用户完成配置和运行TSN网络所需的步骤。
本应用笔记并未取代TSN套件文档,用户仍需要阅读该文档。本应用笔记必须同TSN评估套件快速入门指南和fido5100/fido5200实时以太网多协议(REM)交换机数据手册一起使用。

评估板图片

图1 评估套件

评估板端口
必须将PC连接到一个TSN以太网端口以进行配置。有3个端口,其中之一是主机端口,位于印刷电路板(PCB)较窄的一侧,必须连接现有以太网设备。器件的标准以太网流量转发到交换机TSN端口(位于PCB较宽的一侧)。这种转发必须在配置任何TSN特性之前正常工作。

通过主机端口无法访问配置网站。TSN套件的默认IP地址为192.168.1.1。

电源
使用随套件提供的电源为设备供电,或者也可以利用螺丝端子供电。电路板设计支持9 V至24 V直流电压。
若使用螺丝端子,务必按照PCB上的标识连接。注意,交付时PCB未接通电源。

配置TSN套件
下面的例子将四个TSN套件配置为线形拓扑结构。因此,所有TSN套件都配置有唯一媒体访问控制(MAC)地址和唯一IP地址。这些地址通过网关设置菜单选择设置,其位于TSN评估套件网页上。要使能MAC地址写入,首先应短接写入使能跳线。一次只能设置一个TSN套件。

注意,当设置MAC和IP地址时,最佳做法是将设备系列号的最低三位用作相应地址的最低三位,因为系列号总是印制在TSN端口的双RJ45连接器上(RJ45位置参见图1,最低三位为109)。如果发生地址冲突(这种情况很少见),请使用设备系列号中的更多位数。这样做有助于记清多个电路板的IP地址。

如果用在线形拓扑中,最好根据IP地址以升序或降序(由用户酌情决定)摆放电路板。这样有助于记清对电路板所做的变更。在用于配置套件的PC上,在浏览器中为每个电路板打开一个单独的标签页,并按照实际出现的顺序将这些标签页与套件关联起来(参见图2)。

图2 整理地址和TSN套件,端口与计划配置页面布局对齐

示例设置
完整设置如图3所示。四个TSN套件连成线形拓扑,构成TSN段。此时,TSN尚未配置,一切还是运行标准以太网。在边界端口(TSN段两端的开放端口)上连接标准非TSN设备。在本演示中,TSN段右侧连接一个网络摄像头,左侧连接显示器或PC以显示网络摄像头拍摄的视频。

为显示网络摄像头直播视频,用于配置该演示的PC也可用来显示直播视频。这样在显示网络摄像头视频的同时,还能通过Web服务器调整TSN套件设置。

图3 示例设置

主机端口
利用TSN套件设置TSN网络的一个重要步骤是让网关知道连接到主机端口的设备MAC地址。将此地址分配给主机端口,双端口TSN交换机便可识别指向该端口(更确切地说是指向连接到该端口的设备)的数据包。从技术上讲,此MAC地址被添加到交换机静态转发数据库中。

为完成设置主机MAC的任务,必须知道连接到主机端口的设备MAC地址。在自动化设备(如PROFINET设备)上,MAC印制在设备外壳上,参见图4。

一旦找到,便需要将主机MAC地址输入Web服务器的网关设置页面的客户端MAC字段中。

图4 西门子S7-1511控制器MAC地址

在Windows系统中,物理地址可通过网络适配器状态检索到。单击本地连接状态对话框的常规选项卡中的详情按钮。更多信息参见图5。

图5 找到Windows适配器MAC地址

使用Wireshark和TAP
如果MAC不可用,最容易的方法可能是利用Wireshark等工具观察进出设备的数据包。进入设备的数据包的MAC地址在以太网帧的目标MAC地址字段中(只要不使用多播或广播消息),从设备离开的数据包的MAC地址封装在以太网帧的源MAC地址字段中。

使用Wireshark对调试设置很重要。设置TSN评估套件之前,强烈建议安装并熟悉Wireshark。
然而,使用Wireshark并不意味着所有流量都能看到,因为以太网络内的数据包不是大量涌入的;相反,各交换机都有转发数据库,用来确定数据包应通过哪个端口离开,此时其到达目的地的路由路径最短。因此,建议获取一个以太网线路测试接入点(TAP)。

TAP是一种无源以太网元件,它自己不发送流量,也不会引起延迟,但允许人们侦听任一方向流过的所有数据包。很多供应商提供TAP,在互联网上快速搜索“以太网TAP”或“以太网测试接入点”会返回许多结果,包括自己制作方案。本例使用KUNBUS TAP2100,因为它能同时侦听两个连接,并且内置高分辨率时基(8 ns)。
同时侦听两个通道的能力有利于调试,可以在交换机前后分别侦听,以确定交换机是否滤除消息,或者是否正确地将消息转换到TSN流中。

完成基本设置并运行
用于演示的所有电路板和设备按照图3所示设置示例连接好后,所有TSN套件都可利用Web浏览器进行访问,根据图2所示配置,所有主机MAC地址都被添加到网关设置中,基本设置即告完成。除TSN外,此设置应像任何其他以太网第2层段一样运行。

TSN的优势在于它扩展了标准以太网,交换机在第2层上发话,而不是第3层,允许使用不同IP子网地址以避免地址冲突。
在不涉及TSN的情况下,仍可设置所有需要的通信关系:
 创建一个项目,连接S7-1511和ET200S。IP子网为192.168.0.xxx。
 利用IP子网192.168.10.xxx连接IO链路演示。
 利用IP子网192.168.21.xxx设置和连接网络摄像头。

图6 设置中的以太网线路TAP

检查802.1AS
设置之后,802.1AS时间同步即可运行。其中一个电路板承担宗时钟(grandmaster clock)的角色,标志是其802.1AS状态LED变红(参见图1)。在同步从设备上,当时钟同步已建立时,802.1状态LED变绿。

在TSN评估套件网页上检查AS的状态,必须了解AS是对等时钟。宗机(grandmaster)对两个TSN端口来说均为主机,但其他套件对宗机来说是从机,对离开宗机更远的节点来说是主机。端口角色框报告端口处于从机还是主机模式。如果网关不是宗机,则一个端口报告其处于从机模式,另一端口报告其处于主机模式。如果网关是TSN网络上的宗机,则两个端口均报告其处于主机模式,更多信息参见TSN评估套件快速入门指南。对等方案如图7所示。

注意,创建并启用计划之后,802.1AS服务要求队列3在TAS周期中的某一时间点打开。

图7  802.1AS对等同步

指定宗机功能
启动时,设备利用最佳主机时钟算法(BMCA)选择一个时钟宗机。多数情况下,这就足够了,不需要进一步关注。但是,有些情况下使用固定宗机可能更好。

使用时间同步页面上的“本地主机优先级1:”和“本地主机优先级2:”条目,可以引导最佳主机算法选择特定板作为宗时钟。图8显示一个调整后的TSN套件。优先级1设置为200(优先级高于默认248;因此,该板承担宗机时钟角色)。

图8 将一个TSN套件指定为宗机

设置TSN流
TSN流ID由本地分配的多播地址和802.1Q VLAN标记构成。本示例设置使用如下流,如表1所列。

表1.演示的MAC、PCP和VLAN设置


只要所有TSN节点都受控制,MAC、PCP和VLAN值的设置就有很多自由度。对于本设置,PROFINET周期性通信获得最高优先级。IO链路和PROFINET TSN流由MAC地址的次低字节分开,但VLAN ID也可实现同样的目的。这种情况下,表2中的如下列表代表一个有效设置。流如图9所示。

表2.备选MAC、PCP和VLAN设置

图9 流

图10  IO链路设备流设置

IO链路和PROFINET流量之间有一个重大区别。PROFINET流量使用VLAN标记的目标MAC地址和优先级代码点(PCP)来识别需要转换(发话器方法)为TSN流的流量,但IO链路演示使用传输控制协议(TCP)连接。因此,它使用发话器侧的目标IP地址加协议加来源端口和IO链路PC(侦听器侧)的目标IP地址加协议加目标端口。像多数TCP连接一样,服务器侧端口地址通常是稳定的,但客户端端口号可能不同。这类似于Web服务器,其默认端口为80(参见图10)。

将VLAN标记的目标MAC地址和优先级代码点(PCP)用于PROFINET,即允许将高优先级数据流量分配给TSN流。PROFINET利用VLAN PCP 6给所有确定优先级的流量加上标记(参见图11)。


图11  PROFINET主机流设置

创建和设置802.1Qbv计划
硬件和通信设置完毕且802.1AS时钟同步之后,便可创建计划。但在此之前,建议先回顾一下以太网基本知识。

回顾:以太网帧和TSN
从软件角度看,以太网帧由第2层报头信息(目标和来源地址、EtherType)、最多1500字节的数据(假设不使用超长帧)和CRC32组成。当计算机收到以太网帧时,帧中的以太网报头和数据字段复制到计算机主存储器中。

此外,线路上的以太网帧包含一个63位前同步码、一个1位起始定界符和最少12字节的线静默间隙(参见图12)。以太网帧的最小长度是64字节(包括CRC)。相对较长的前同步码和静默时间以及最小长度,源于较早的以太网版本,但仍需要维持并予以保证。不过,有些PHY允许将前同步码缩短到16位,但这不是常见做法。

TSN流在标准以太网帧上增加了4个字节,即VLAN标记。这种流始终包含一个VLAN标记。VLAN标记由优先级(PCP)和VLAN ID组成。VLAN ID同目标MAC一起构成TSN流标识。每个TSN流只能有一个发送器(发话器),但可以有一个或多个接收器(侦听器)。在任何帧长度计算中,都必须加上这四个字节(参见表3)。帧在线路上占用的最短时间(100 Mbps时)为6.72 μs,完整1500字节数据帧占用的时间为123.36 μs。


图12 以太网帧

表3  以太网帧时序


以太网基础架构的时序

图13  TSN双端口交换机时序模式

以太网传输通道的时序模型
虽然以太网相当快,但传输通道的延迟需要考虑。对于100 Mbps全双工以太网环境,考虑下列参数:
 PHY延迟:在接收和发送期间,由于数据的内部处理,以太网PHY会引入延迟。接收(RX)延迟通常大于发送(TX)延迟。另外,RX时序可能引起几纳秒左右的抖动。这些延迟在几百纳秒左右,与PHY元件有关。一个字节占用80 ns,故PHY延迟为1到4个字节延迟。
 桥延迟:以太网交换机会引入桥延迟(消息穿过交换机的延迟时间)。对于直通式双端口交换机,桥延迟很小。作出转发决定之前,交换机必须收到8字节前同步码、12字节源/目标MAC地址和4字节VLAN标记。这些要求合计起来就是最小1.92 μs的桥延迟(注意还有其他因素可能会使桥延迟略有增加)。

 电缆延迟:典型CAT5电缆的延迟为每米5.7 ns,或大约半个发送位。对于桌面设置或使用短电缆的机柜,电缆延迟要比PHY延迟低大约一个数量级。但是,对于全长100 m以太网电缆,电缆延迟会再增加570 ns(约相当于7个字节)。

对于一个物理范围较广(电缆较长)和/或有许多节点的系统,要为其计算一个复杂计划,必须考虑所有这些延迟。对于该桌面演示,应在计划中增加10,000 ns的裕量以使结果可靠。

802.1Qbv调度器操作
IEEE为Qbv定义了多达8个队列,也称为时间感知整形器(TAS)。IEEE还定义了一组字节,一个字节对应周期内的一个确定偏移。这些字节中的各位使能或禁用相应的队列。利用一个周期中的每个时间片,一个字节定义哪些队列使能,哪些队列禁用。在使能的队列中,优先级较高的队列得到处理。必须知道,周期中的时间片可以有任意起始偏移,这些偏移的单位为纳秒(ns)。周期时间的单位也是纳秒(ns)。

空闲时,以太网发送器从所有使能队列中优先级最高的队列获取一个以太网帧。当发送器忙于发送该帧时,它便不会获取其他帧(意味着没有另一发送队列)。

TSN套件目前实现的TAS以4个队列为限,一个周期中最多有16个偏移(也称为闸门开启事件)。

图14所示为TAS调度器框图。此图中,所有队列都有一些以太网帧在排队,并定义了四个偏移:0 ns、500 ns、1000 ns和2000 ns。本例中,周期时间为2500 ns。图14显示了2000 ns有效偏移,导致队列2和队列3被阻止,队列0和队列1使能。队列1的优先级高于队列0,故发送器从队列1获取下一帧,直至队列1清空或当前时间片用完。如果当前时间片用完,偏移0的下一时间片会使能队列0,但由于队列3有消息在排队且优先级更高,所以要发送的下一帧选自队列3。

当所有队列同时使能时,TAS像经典服务质量(QoS)优先级队列一样工作,先服务优先级最高的队列。

图14  802.1Qbv调度器

防护带
使用调度器来防护带宽时,必须确保当较高优先级闸门开启时发送器空闲。如果发送器未空闲,可能会发生较低优先级的长帧阻止或至少延迟较高优先级流量的情况。为保证发送器空闲,能够立即开始发送较高优先级流量,应插入一个防护带。当防护带有效时,它会禁止发送器获取下一帧。

为了达到目的,防护带必须足够长,使得特定队列中可能排队的最长消息圆满完成,然后才会发生下一次闸门开启事件。可能排队的最长消息的大小在“最大服务数据单元(maxSDU)”参数中定义,单位为字节。

不需要禁用所有队列以手动创建防护带,TSN套件会自动处理防护带相关事务。

图15显示了一个简单例子。在t0时,调度器首次使能。在该时间之前,即t0左边,所有闸门打开。在发送闸门使能时间内,发送器可以从队列0(本例中为Q0,一次开启一个闸门)获取帧。防护带时间(参见图15)为队列3开启事件之前的防护带,其宽度足以使一个完整的1522 SDU帧得到安全发送,然后发生Q3闸门开启事件。

当Q3开启时,两个期间均要短得多,因为Q3仅用来传输较短的帧。其maxSDU可能只有200字节。

队列0的maxSDU为固定值1522,允许配置Web服务器的Web流量通过队列0而不会掉包。


图15 计划时序、启动、防护带

以太网帧大小、帧速率和不同步
各队列都必须定义帧大小,因此需要知道指定队列使用的协议。对于周期性通信,很容易计算流量的长度和速率。但对于使用可变数据包大小的协议(例如任何通过TCP传输的流量),要求使用最差情况值。举例来说,ModbusTCP可用于周期性通信,但对于TCP,除数据包外,还要使用非常短的握手包。此外,Modbus知道若干访问设备的命令,其中一些命令比另外一些命令要长。为将ModbusTCP放入计划中,需要估计最差情况下的maxSDU字节数。

对于PROFINET RT,可以专门针对周期性数据定义一个流,流中只需很少的额外帧,甚至不需要。因此,对maxSDU的估计会更精确。但TSN套件与PROFINET RT不同步(PROFINET RT协议无此能力),PROFINET周期性通信依靠自己的时钟运行。为保证各帧在PROFINET周期时间内发送,TAS周期时间必须小于(快于)PROFINET;最佳实践是快2倍。

创建一个有效紧凑的调度并非易事,原因如下:
 帧大小可能不同。调度必须考虑的是最差情况,而非最频繁的情况。
• 由于要发送额外的帧(握手、罕见命令等),帧速率可能不同。
• 应用周期与TAS周期不同步(需要过采样)。
• 周期时间不同的流需要在一条线路上共存。解决此类问题的一种办法是使用较慢的TSN计划,并在TSN周期内为较快的流量多次开启闸门。示例参见图16。

让应用与TAS调度器同步是可能的。TAS同步脉冲(当一个周期启动或完成时)由TSN套件上的CPU模块的引脚A10提供。应用可以使用此信号来与TAS周期同步,从而不需要过采样。

图16 一个支持不同周期时间的计划;PROFINET的计划次数是其他流量的两倍

最后必须考虑TSN套件框图(参见图17)。每个以太网端口对应一个TAS调度器。如有一帧通过某个以太网端口接收到,TSN套件会检查有无已知TSN流ID。若识别出TSN流,就会应用反向流转换,并将该帧送出到主机端口。若未识别,或者它是无匹配IP地址的“尽力而为”流量,则该帧将被放入“其他端口”TAS队列以供传输。

PROFINET IRT甚至在TSN可用之前便使用计划流量,这种简化的转发称为“相对转发器”。只有未被转发的流量会被识别,已转发帧的传输时间是相对于接收时间(加桥延迟)而言。这与PROFINET术语中的绝对转发器形成对比。

绝对转发器首先查找目标端口,然后在一个绝对时间(计划内)送出帧。此绝对时间必须考虑桥延迟和查找时间。因此,绝对转发器比相对转发器稍慢且更加复杂。绝对转发器的一个应用是多端口交换机,其中对出口端口的查找无论如何都会发生。

如有一帧通过主机端口接收到,就会根据已定义的流转换筛选器对其进行检查。如其未被转换,该流量将在TAS的“尽力而为”队列中排队。适当的端口是通过交换机的动态转发数据库来选择,但若发生流转换,则可以规定该帧通过哪个端口离开。因此,流转换配置页面允许选择端口1、端口2或同时选择这两个端口作为期望的出口端口。

图17 TSN套件框图

结语
当TSN配置协议802.1Qcc变得普及时,没有人必须手动计算一个计划或担心如何利用Web服务器配置电路板。但是,了解调度网络的含义和优势是掌握此技术的第一步。调试和了解调度网络的性能需要这种水平的认知。收获的知识对在现场全面实施TSN会很有价值。ADI公司的TSN评估套件为客户积累TSN实际使用经验提供了一种方便且成本低廉的途径。
 

0k