EtherCAT笔记(一) —— 为什么是EtherCAT?

1. Ethernet在实时控制中的局限性

为以太网提供实时能力的方法有很多种:

  • 通过更高层协议禁用CSMA/CD访问程序,并用时间片程序或轮询程序取而代之;
  • 使用特殊的交换机,在精确控制的时间内分发以太网数据包。

虽然这些解决方案可能能够或多或少快速、准确地将数据包传输到连接的以太网节点,但重定向到输出或驱动控制器以及读取输入数据所需的时间很大程度上取决于实现方式。通常还需要一个子总线,特别是在模块化I/O系统中,这类系统(如Beckhoff K-Bus:EK1100)可以同步且快速,但仍然不可避免地在通信中增加了小的延迟。

注释:
CSMA/CD: 载波侦听多路访问/碰撞检测机制。CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种网络协议,它规定了当两个设备试图同时使用同一个数据通道并发生数据冲突时,网络设备应如何反应。
当数据冲突发生时,协议会暂停数据传输一段随机时间后重新尝试发送数据。禁用CSMA/CD意味着不再使用这种机制,而是采用其他方式来管理网络上的数据传输,从而实现实时能力。

如果为每个设备使用单独的以太网帧,则可用的数据速率原则上非常低:最短的以太网帧为84字节长(包括帧间隙IPG)。例如,如果一个驱动器周期性地发送4字节的实际值和状态信息,并相应地接收4字节的设定值和控制字信息,在100%的总线负载下(即驱动器响应时间无限短),可用的数据率仅为4/84= 4.7%。在平均响应时间为10微秒的情况下,可用数据率下降到1.9%。这些限制适用于所有向每个设备发送以太网帧(或期望从每个设备接收帧)的实时以太网方法,无论以太网帧内使用的协议是什么。

计算注释:

  1. 最短以太网帧长度:最短的以太网帧为84字节长,包括帧间隙(Inter-Packet Gap, IPG)。

  2. 循环传输的数据量:假设一个驱动器周期性地发送4字节的实际值和状态信息,并接收4字节的设定值和控制字信息,总共8字节的数据。
    在100%总线负载下(即驱动器的响应时间为0,瞬时响应),可用数据速率计算如下:
    4 Bytes 84 Bytes = 0.0952 ≈ 4.76 % \frac{4 \text{Bytes}}{84 \text{Bytes}} = 0.0952 \approx 4.76\% 84Bytes4Bytes=0.09524.76%
    考虑到实际情况下,驱动器并不能瞬时响应数据包,平均响应时间为10微秒,这就引入了额外的延迟。需要考虑到每个帧的传输和响应时间:

  3. 每帧传输时间:在100 Mbps(即100 Mb/s = 12.5 MB/s)的以太网上,传输一个84字节的以太网帧需要的时间为:
    84 Bytes 12.5 MB/s = 6.72 μ s \frac{84 \text{Bytes}}{12.5 \text{MB/s}} = 6.72 \mu s 12.5MB/s84Bytes=6.72μs

  4. 设备响应时间:设备响应时间为10微秒(μs)。
    则实际增加的时间(10us)情况下额外占用了以下字节数据:
    10 μ s 6.72 μ s × 84 ≈ 125 \frac{10 \mu s}{6.72 \mu s} \times 84 \approx 125 6.72μs10μs×84125
    则估算可用数据率:
    4 Bytes 84 Bytes + ( 10 μ s 6.72 μ s × 84 Bytes ) = 4 84 + 125 ≈ 4 209 ≈ 1.91 % \frac{4 \text{Bytes}}{84 \text{Bytes} + \left( \frac{10 \mu s}{6.72 \mu s} \times 84 \text{Bytes} \right)} = \frac{4}{84 + 125} \approx \frac{4}{209} \approx 1.91\% 84Bytes+(6.72μs10μs×84Bytes)4Bytes=84+125420941.91%

2. 一种新的传输方式——EtherCAT

EtherCAT技术克服了其他以太网解决方案的这些固有限制:以太网数据包不再在每个连接处(驱动器或EtherCAT从站)接收、解析并作为过程数据复制(即去除了在单个从站中处理的时间)。每个I/O终端中新开发的FMMU(现场总线内存管理单元)在报文通过设备时读取地址到它的数据。同样,输入数据也在报文通过时插入。报文仅被延迟几纳秒。
图片来源:倍福官方文档 —— 动态报文处理
由于以太网帧在发送和接收方向上都到达许多设备的数据,因此可用数据率增加到约 80%。100BaseTx 的全双工特性得到充分利用,因此可以实现 > 100 Mbit/s 的有效数据率(高达 2 x 100 Mbit/s 的 80%)。

在控制方面,用于以太网的 TwinCAT Y 驱动程序是对 FMMU 技术的补充。它透明地集成到系统中,因此它既可以作为与操作系统兼容的网络驱动程序出现,又可以作为 TwinCAT 现场总线卡出现。发送器端提供内部优先级和缓冲区,它始终为可能排队的实时系统的以太网帧找到空闲的传输通道。操作系统的以太网帧只有在有足够时间的情况下才会在间隙中稍后传输。
在接收端,所有接收到的以太网帧都由 TwinCAT I/O 系统检查,并过滤掉与实时相关的帧。所有其他帧在检查后都会传递到操作系统,不在实时系统的上下文中。

3. 系统属性

3.1. 协议

EtherCAT 协议针对过程数据进行了优化,并直接在以太网帧内传输,这得益于特殊的以太网类型。它可能由多个子电报组成,每个子电报服务于逻辑过程映像的特定内存区域,该区域的大小最高可达 4 GB。数据序列与网络中以太网终端的物理顺序无关;寻址可以按任何顺序进行。可以进行广播、多播和从站之间的通信。在 EtherCAT 组件与控制计算机在同一子网中运行的情况下,直接在以太网帧中传输。
但是,EtherCAT 应用并不局限于子网:EtherCAT UDP 将 EtherCAT 协议打包成 UDP/IP 数据报。这使得任何具有以太网协议栈的控制器都可以寻址 EtherCAT 系统。甚至可以跨路由器与其他子网进行通信。在这种情况下,系统性能显然取决于控制器的实时特性及其以太网协议实现。EtherCAT 网络本身的响应时间几乎不受任何限制:UDP 数据报只需在第一个站解包即可。

任何具有以太网协议栈的控制器都可以使用EtherCAT系统。但不同的主站代码或主站库可能无法操作特定的网卡。

图片来源:倍福官方文档——EtherCAT 协议结构

3.2. 拓扑结构(Topology)

对拓扑的个人理解:在拓扑学中,有个“同胚”的概念十分重要,个人理解是同胚的两个东西上面的点一一对应。
因此常用拓扑结构来表示某个无法拿到纸上上的实际系统。

线型、树型或星型:EtherCAT 支持几乎任何拓扑结构。因此,现场总线中已知的总线或线型结构也可用于以太网。线型和接头或短截线的组合对于系统布线特别有用。耦合器上存在所需的接口;无需额外的交换机。当然,也可以使用经典的基于交换机的以太网星型拓扑。

3.3. 分布时钟(DC)

在控制系统使用中,多个空间分布的轴可能需要同时运动,分布时钟即用于精确同步这些空间分布轴的运动。
最有效的同步方法是精确校准分布式时钟,正如新 IEEE 1588 标准中所述。与完全同步通信相比,在发生通信故障时同步质量会立即受到影响,而分布式校准时钟对通信系统内可能出现的故障相关延迟具有很高的容忍度。
使用 EtherCAT,数据交换完全基于纯硬件机器。由于通信采用逻辑(并且得益于全双工快速以太网也是物理的)环形结构,因此母时钟可以简单而准确地确定各个子时钟的运行时间偏移 - 反之亦然。分布式时钟根据此值进行调整,这意味着可以获得非常精确的网络范围时间基准,抖动明显小于 1 微秒。
然而,高分辨率分布式时钟不仅用于同步,还可以提供有关数据采集本地时间的精确信息。例如,控制器经常根据连续测量的位置计算速度。特别是在采样时间非常短的情况下,位移测量中即使很小的时间抖动也会导致速度发生很大的阶跃变化。EtherCAT 引入了新的扩展数据类型作为逻辑扩展(时间戳和过采样数据类型)。本地时间与测量值相关联,分辨率高达 10 ns,这得益于以太网提供的大带宽。速度计算的精度不再取决于通信系统的抖动。它比基于无抖动通信的测量技术好几个数量级。

通信协议帧的抖动在这种情况下对速度计算的影响变小。
影响方式:总线相邻两个采样点之间如果存在抖动,则对于匀速运动的对象所采集回来的位置数据也会有相应的抖动。

3.4. 性能

EtherCAT 在网络性能方面达到了新的高度。协议处理完全基于硬件,通过终端中的 FMMU 芯片和对主站网卡的 DMA 访问。因此,它与协议堆栈运行时间、CPU 性能和软件实现无关。1000 个 I/O 的更新时间仅为 30 µs - 包括终端循环时间。单个以太网帧最多可交换 1486 字节的过程数据 - 这相当于近 12000 个数字输入和输出。此数据量的传输仅需 300 µs
与 100 个伺服轴的通信仅需 100 µs。在此期间,所有轴均会获得设定值和控制数据,并报告其实际位置和状态。分布式时钟使轴能够同步,偏差远小于 1 微秒。

EtherCAT 技术的极高性能使传统现场总线系统无法实现的控制概念成为可能。例如,以太网系统现在不仅可以处理速度控制,还可以处理分布式驱动器的电流控制。巨大的带宽使状态信息可以随每个数据项一起传输。借助 EtherCAT,可以使用与现代工业 PC 的卓越计算能力相匹配的通信技术。总线系统不再是控制概念的瓶颈。分布式 I/O 的记录速度比大多数本地 I/O 接口更快。EtherCAT 技术原理是可扩展的,不受 100 Mbaud 波特率的限制 - 可以扩展到 Gbit 以太网。

从架构设计角度来看,EtherCAT为总线式系统的设计提供了可能性,但对于性能要求极高的系统,EtherCAT真的是最合适的吗?

以上内容均翻译自倍福EtherCAT文档,并添加部分笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值