深入实时以太网

工业以太网—实时以太网—在过去几年中经历了巨大的增长。虽然经典的现场总线仍大量存在,但它们已经过了巅峰期。流行的实时以太网协议扩展了以太网标准,可以满足实时功能的要求。现在,TSN为实时以太网提供了一条新的途径。

实时与通信

在工厂自动化和驱动技术的背景下,实时意味着周期时间要安全、可靠地达到10毫秒以下,最低至微秒。为了满足这些实时要求,以太网还必须获得实时功能。

图1. 自动化中的实时通信。

以太网比现场总线快得多—那又怎样?

为了满足自动化的实时要求,需要保证传输带宽和传输延迟。即使这些带宽通常非常小(每个器件几十个字节),该传输通道必须在每个I/O周期中可用,且达到延迟要求。

但是,经典以太网不提供延迟和带宽保证。相反,如果操作需要,以太网可以随时丢弃帧。这意味着什么?

以太网是所谓的桥接网络。帧(以太网帧)从一个点发到另一个点:从端点到交换机(网桥),从那里可能发到其他网桥,最后到达另一个端点。该架构在很大程度上具有自我配置能力。网桥在转发帧之前先完全接收帧。许多问题正是出在这里:

  • 如果在峰值时间存储的帧数多于网桥缓冲存储器可以容纳的帧数,则丢弃新传入的帧。
  • 由于帧长不同,因此其延迟时间为其长度的函数。这会导致延迟波动(抖动)。
  • 由于交换机应通过其发送帧的端口可能已经被其他帧完全占用,所以会导致额外的延迟。发送大型以太网帧(1522字节)在100 Mbps速率下大约耗时124μs。

如果说以太网通常运行良好,这种说法在某种程度上是公允的。但是,这样做,我们使用的“通常”一词在硬实时语境下是无意义的。仅仅通常满足实时条件是不够的,必须始终满足该条件。

住在化工厂或炼油厂旁边的任何人都能理解这一点。工业通讯也不公平:最重要的是,控制/闭环控制应用始终具有优先权。

图2. ISO七层模型。

以PROFINET和EtherCAT为例展示的实时扩展。

由于负责以太网标准化的IEEE并未就该问题提出解决方案,工业界开发了自己的解决方案—再次证明了其创造力。各种解决方案都有自己的优势和劣势,最终解决不同的市场问题。

图3. 协议概述。

PROFINET:普遍适用

通过PROFINET,可提供两种互补型解决方案。PROFINET RT是一种工厂自动化解决方案,周期时间最长为1 ms。RT直接以标准以太网为基础。以太网的可能性(例如,服务质量(QoS,优先级))被用于产生实时流量优先级。这有所帮助,但QoS并不能完全解决资源和延迟问题。这就是限制软实时的原因。与网络中使用的其他协议(例如HTTP、SNMP和TCP/IP)的良好兼容性是该技术的明显优势。

Figure 4. PROFINET IRT.

对于硬实时,PROFINET提供同步实时 (IRT) 扩展。在此,部分以太网带宽通过标准以太网硬件的扩展专门为IRT流量保留。这可以通过IRT节点中的时钟的精确同步来实现。因此,可以在每个周期阻止通道(红色阶段)中的正常流量。只有红色阶段中的IRT帧到达网络。此外,网络参与者准确地在预先计算的时间发送IRT帧,从而在红色阶段实现效率的较大化。IRT帧通过网络,几乎无周跳。这样做的一个优点是它可以红色阶段的长度限制在较低限度;在红色阶段,所有其他流量都必须等待。红色相位最多可以占用以太网通道带宽的50%。

如前所述,全长以太网帧(1552字节)在线路上大约耗时124μs。如果PROFINET IRT占用全部50%的带宽,最快的周期时间为2×124μs=248μs,舍入后为250μs。只有这样,其他协议(如HTTP)才能以不变的形式与其共存。

由于PROFINET 2.3可用于IRT的优化,包括快速转发、动态帧封装和分段,因此可以实现低至31.25μs的更快周期时间。

EtherCAT:以太网现场总线

在EtherCAT的开发过程中,开始时还有其他要求。EtherCAT是基于物理以太网(即第1层)的现场总线。甚至第2层也针对现场总线应用和高吞吐量应用进行了优化。EtherCAT没有经典的以太网桥,使用求和帧电报,使数据传输特别高效。EtherCAT每个周期发送一帧,与普通以太网不同;在后者中,设备间通信涉及的每台设备发送单独的帧。但是,此帧包含被寻址设备的所有数据。当EtherCAT帧由设备转发时,该特定设备的数据被实时插入到该帧中并从该帧中取出。通过这种方式,可以实现极短的周期时间,最小低于31.25μs。

EtherCAT还具有时间同步功能。为了将在PC上表现不太理想的以太网接口用作EtherCAT的主设备,人们付出了大量努力。

在EtherCAT下,以太网流量(如Web或TCP/IP流量)只能以背负方式分成小部分传输;不可能在线上直接共存。

其他如何?

POWERLINK采用与EtherCAT相同的基本方法;其取得对以太网的完全控制权,并通过背负方式把IP应用传输到节点。但这是他们唯一的共同点。POWERLINK不使用求和帧协议,然而,它在实际应用中表现同样出色。

与IRT一样,SERCOS有预留带宽,但在其中使用的是求和帧协议。SERCOS允许其他协议共存。

TSN时机快到

IEEE从音频/视频桥接 (AVB) 协议的角度研究了这个话题。在对协议进行改进时,还考虑了更具挑战性的工业实时通信。这些标准的原始名称AVB2由此改称TSN(指时间敏感型网络)。有了这些标准,现在可以使用统一的确定性以太网版本。

这实际上可以简化许多问题。例如,众所周知的工业网络几乎全部针对100Mbps。然而,千兆以太网和10 Mbps以太网如今已成为特殊应用的关注焦点。TSN标准涵盖所有速率。使用TSN,无需从头开始:如果不是TSN,所有现有标准都必须针对千兆速率进行重新定义—这将导致硬件开发成本和市场碎片化成本。

TSN有什么用?TSN实时

TSN扩展了以太网第2层,纳入了实时操作所需的一系列机制

  • 802.1AS/802.1AS-Rev考虑了网络中时钟的高精度同步问题。
  • 时间感知整形器 (TAS) 选项使以太网能够在硬调度模式下运行。有了该选项,就可以在特定时间阻止/释放QoS模型的一个或多个队列。
  • 抢占(穿插快速流量)选项使长帧能够被分解成更小的部分,从而较大限度地减小优先级更高的帧的延迟。该选项可用于在速率超过100 Mbps时,优化TAS的保护带或替换TAS。
  • 复制和消除帧以提高可靠性的选项可用于定义通过网络的冗余路径;如环路中。
  • 使用软件定义的网络意味着帧不再通过目标节点的硬件MAC地址转发到目的地,而是通过特殊MAC地址(本地管理的多播MAC)和VLAN ID的组合转发。不再自动确定这些帧在网络中的路由方式,而是由软件进行配置。多播MAC和VLAN ID的这种组合称为流ID,具有相同流ID的所有TSN帧称为TSN流。TSN流始终只有一个发件人,但可以有多个收件人。

鉴于现有资源,现在可以用特殊的方式组织TSN流,不再需要丢弃帧。现在,网桥将其资源用于TSN流的无损转发。

图5. 以太网帧(其中,与TSN数据流标识相关的部分以绿色表示)。

尽力服务流量(标准以太网、IP、Web)用剩余资源(内存/带宽)正常传输

第二层以上发生了什么?

每个互联网以太网协议背后都有一个组织,是它推动着各自协议的标准化和普及。这些组织中的每一个都制定了TSN战略。结果,我们看到,几乎所有现有协议都有TSN,只是表现形式各异而已。继续看我们的例子:

对于PROFINET,通向TSN的途径相对较短,因为人们目前已经积累了丰富的时间感知整形经验(已经非常接近IRT),并且始终都支持行业协议与IT协议的共存。对于用户而言,很多东西都未变,因此,熟悉的环境有利于提升绩效。

EtherCAT和类似的SERCOS将使TSN获得现场层次以上的运用能力。例如,EtherCAT自动化协议 (EAP) 非常适合通过TSN以较低的开销,连通经典EtherCAT网段。

但是,该领域也有新的参与者。

有一个团体正着手定义一个全新的工业以太网协议。有人将OPC UA用作应用层。TSN被视为使该协议具有实时能力的手段。但是,这里还有大量的工作要做。传输需要新的OPC UA传输层(即所谓的OPC UA PUB/SUB协议)。

图6. 硬实时 (IRT)、软实时 (RT) 和IT协议 (TCP/IP) 的延迟/抖动幅度。

越多越有用吗?在实时领域并非如此

今天,我们在工业自动化中使用的是100 Mbps以太网,千兆以太网很快就会上线。但是,更高的速度并不意味着延迟能得到保障,传输能得到保障。因此,对于硬实时,始终都需要特殊的机制。有了TSN,它们都已标准化。

作者

Volker Goller

Volker Goller

Volker E. Goller是ADI公司的一名系统应用工程师。他拥有30多年的丰富经验,广泛涉猎复杂运动控制、嵌入式传感器、时间敏感网络技术等工业应用。 作为一名商用软件开发人员,Volker为无线和有线应用开发了各种通信协议和堆栈,同时积极参与领先的行业组织的新通信标准制定。