一文了解EtherCAT总线协议


目录


1 实时以太网

    1.1 什么是工业以太网

    1.2 实时工业以太网通讯模型

    1.3 传统以太网用于现场总线存在的问题

        1.3.1 带宽利用率问题

        1.3.2 堆栈延时问题

        1.3.3 交换机延时问题

2 认识EtherCAT

3 EtherCAT通讯运行原理

    3.1 EtherCAT数据交互方式”On The Fly”

    3.2 分布时钟(DC)

    3.3 拓扑结构

    3.4 EtherCAT主站

    3.5 EtherCAT从站

4 EtherCAT通讯协议

    4.1 常用的应用层协议规范

    4.2 EtherCAT数据帧

        4.2.1 协议堆栈

        4.2.2 数据帧构成

        4.2.3 工作计数器(WKC)

        4.2.4 遍历数据帧

        4.2.5 数据收发端口

5 总结

正文


1 实时以太网
1.1 什么是工业以太网
将计算机网络中的以太网技术应用于工业自动化领域构成工业以太网,它是当前工业控制现场总线技术的一个重要发展方向。

与传统技术的现场总线相比,以太网现场总线具有以下优点:

  • 传输速度快,数据包容量大,传输距离长。

  • 使用通用以太网元器件,性价比高。
1.2 实时工业以太网通讯模型

(a)基于TCP/IP的实现
采取TCP/IP协议栈上层合理控制通讯中的非确定性因素,合理调度,定义优先级等。例如Modbus TCP、Ethernet/IP等实时性不高。
(b)基于以太网的实现
引入过程数传输协议,使用特定的以太网类型的数据帧进行传输。例如Powerlink、EPA(Ethernet for Plant Automation)、Profinet RT等实时性较高
(c)修改以太网的实现
从站由专门的硬件实现,实时通道有实时MAC接管通讯控制,避免报文冲突。例如EtherCAT、SERCOS-III (Serial Realtime Communication System) 、PROFINET IRT等实时性高。
1.3 传统以太网用于现场总线存在的问题
1.3.1 带宽利用率问题

最小以太网帧≥84Bytes(包括:帧前导 + 帧间间隙),如果要传输4字节过程数据,那么只有4/84=4.75%数据占比。
1.3.2 堆栈延时问题
下图所示为以太网的封装过程。

工业以太网堆栈很大,处理这些堆栈很费时间,EtherNET/IP、PROFINET堆栈在1M字节以上,而EtherCAT堆栈仅有70kb。来看下堆栈延时对比。

1.3.3 交换机延时问题

几乎所有交换机使用“存储并转发”模式,线型拓扑就意味着交换机的级联。在交换机空闲状态下,即使没有缓冲引起的延迟,仍有大量积累的延迟和抖动。列如:整个帧经20节点,线型拓扑,延时约2.5ms。
2 认识EtherCAT

  • EtherCAT即Ethernet control Automation technology。

  • EtherCAT是一种超高速以太网现场总线,使用标准的以太网物理层,改变原来的CSMA/CD(载波侦听多路访问/冲突检测)链路层。

  • 传输速率是100Mbit/s(100base-TX),传输媒介超5类屏蔽网线或光纤。

  • 主站实现只需一张普通网卡,从站需要专用的从站控制芯片。

  • 德国beckhoff公司开发,由ETG(EtherCAT Technology Group)协会推广。

  • 2003年被引入市场,并于2007年成为国际标准。

3 EtherCAT通讯运行原理
3.1 EtherCAT数据交互方式“On The Fly”

EtherCAT数据传输机制被称为“On The Fly”,假如将EtherCAT报文想象成一列火车,每个带有从站地址的车厢对应需要与主站交互数据的从站的子报文,读/写从站数据,那么就有一个对应数据地址的座位。火车从主站出发,依次在沿路所有站点(从站)停靠,如果没有自己设备地址的车厢(子报文),则将火车发往下一站点,如果有自己的车厢,等该车厢上下旅客(数据)完成后,将火车发往下一站点,到达终点站后,再返回始发站,返回过程中不再交互数据。
EtherCAT从站设备至少有两个以太网接口,数据从一个网口转发到另外一个网口。

这辆高速火车中,“火车” (以太网帧) 不停地飞速行使即便从狭窄的窗户也可以看到整个“火车”,“车厢”(子报文)长度可变,可以在每列“火车”经过时“提取”或“插入”单独的“乘客”(Bit)或整个“一组乘客”甚至是多组乘客。
其传输速率,设备数据交换能力,也叫带宽,可达2×100 Mbit/s(高速以太网,全双工模式)。
假如,现有任务传输任务40 轴 (每轴6字节输入/ 输出数据)、50个 I/O 站(共560个 EtherCAT 总线端子)、2000个数字量和200个模拟量, 总线长度500m,那么EtherCAT性能可达到循环时间 230μs、总线负荷33%。而1个CAN帧(8Byte过程数据)在500kBit/s速率下为250μs。

由此可见,EtherCAT传输速度非常快。
3.2 分布时钟(DC)
  • PC系统无法提供精确的时钟,在ESC芯片中提供硬件时钟。

  • 精确的时钟校准系统,主时钟不是放在主站上,可以放在任意一个从站上,每一个从站都有精确的时钟,定义其中一个从站时钟做为主时钟,所有其他从站时钟来和主时钟做校准。

  • 精准同步 (<< 1μs)可通过分布时钟的精确校准实现。

因此,采用EtherCAT,数据交换完全基于纯硬件机制。两个设备间距300个节点,线缆长度120米,同步抖动远远小于1us,具有非常高的同步性能。

3.3 拓扑结构
EtherCAT具有很高的灵活性,几乎支持任何拓扑类型,包括:线型、树型、星型等。无论多少节点都可以一条线串接起来。快速以太网的物理层(100BASE-TX )允许两个设备之间的最大电缆长度为100米。由于连接的设备数量可高达65535,因此,网络的容量几乎没有限制。

3.4 EtherCAT主站

  • 通讯控制器:完成以太网数据链路的介质访问控制(MAC)功能。

  • MII:标准以太网接口,定义了与传输介质无关的标准电气和机械接口,将以太网数据链路层和物理层隔离,方便以太网选用任何传输介质。

  • 物理层芯片PHY:实现编码、译码和收发。

  • 隔离变压器:实现信号隔离,提高通讯可靠性。

  • 通讯电缆:100Base-TX规范的5类UTP线缆。

EtherCAT主站依靠纯软件实现,不需要任何专用硬件,通常由EtherCAT配置工具和主站驱动组成:

  • 配置工具解析设备描述文件,生成网络初始化命令和周期性通讯数据帧格式。

  • 主站驱动在线运行,可以在线操作从站设备。
3.5 EtherCAT从站

  • 从站微处理器:实现应用层和用户自定义的程序。

  • EtherCAT从站控制器(ESC):实现EtherCAT协议栈。

  • 物理层器件:以太网的PHY芯片和网口。

  • ESC为专用集成芯片,集成数据帧转发处理单元,每个ESC最多集成4个数据收发端口。

  • 最大64KB的DPRAM存储空间,由同步管理器通道管理DPRAM,保证了应用数据的实时性。

  • 具有FMMU逻辑地址映射功能,提高数据帧利用率。

  • 集成分布时钟(DC)功能,为微处理器提供高精度的中断信号。

采用精简的OSI模型:仅使用了物理层、链路层、应用层三层协议,与多数传统的现场总线相同,但相比于其它实时以太网协议,如PROFINET、EtherNet/IP等,其协议栈更加精简。这也是EtherCAT协议的实时性优越于其它实时以太网协议的重要原因之一。

  • 应用层AL:最高的控制功能层,直接面向具体的控制对象。

  • 数据链路层DL:最基本的功能就是通过该层的协议使相邻两个节点之间进行可靠的数据传输。

  • 物理层PL:为网络信号的传输提供了物理接口。
4 EtherCAT通讯协议
4.1 常用的应用层协议规范
(1)CANopen over EtherCAT(CoE,基于EtherCAT的CANopen应用协议)
  • CANopen设备和应用行规广泛用于多种设备类别和应用,如I/O组件、驱动、编码器、比例阀、液压控制器,以及用于塑料或纺织行业的应用行规等。

  • EtherCAT可以提供与CANopen机制相同的通讯机制,包括对象字典、PDO(过程数据对象)、SDO(服务数据对象),甚至是网络管理。
(2)Servo Driver over EtherCAT(SoE,EtherCAT伺服驱动行规)
  • SERCOS interface™ 是全球公认的、用于高性能实时运行系统的通讯接口,尤其适用于运动控制的应用场合。
(3)Ethernet over EtherCAT(EoE)
  • 在EtherCAT网段内实现任何以太网数据的传输。

  • 交换机端口可用于连接以太网设备。

  • 以太网数据帧通过嵌入到EtherCAT协议中进行传输。
(4)File access over EtherCAT(FoE):
  • 类似于TFTP的简单协议。

  • 可通过网络访问设备中的文件。

  • 将统一的固件跨网络上传到设备。
4.2 EtherCAT数据帧
4.2.1 协议堆栈

对数据链路层做改造,使用EtherCAT MAC层,可实现TCP,UDP技术 ,对TCP/IP完全透明。所有因特网技术都可实现,例如HTTP、FTP等等,而且并没有降低实时性能。
4.2.2 数据帧构成

  • EtherCAT的数据帧结构采用的是标准的以太网帧结构,其中帧头为标准的以太网帧头,只是帧类型固定为0x88A4。

  • 数据包由EtherCAT头和EtherCAT数据组成,若干个子报文组成EtherCAT数据区。

  • 子报文又由子报文头、数据域及工作计数器组成。

  • 子报文头标记该子报文应传输到那一个从站,并且要对该子报文进行读或者写操作。子报文的数据区可以是从站ESC寄存器的数据,也可以是邮箱报文或是过程数据。

  • 在主从站通信的过程中,16位的工作计数器(WKC)的值为从站读写操作计数。主站发起周期控制的时候,预先给定WKC一个值,当数据帧遍历完整个设备的时候,通过对比返回的WKC值,可以验证数据报文是否被各从站节点正确处理。
4.2.3 工作计数器(WKC)

每个 EtherCAT 子报文中都有一个工作计数器(WKC,WorkingCounter),WKC记录了EtherCAT子报文在主站和从站的一次通信结束后被从站操作的次数,每一个通信服务子报文都有一个预期的WKC,WKC的预期值由主站设置。
  • 当子报文被发送时,WKC的值为 0。

  • 经过从站时,根据操作类型和操作结果的不同,WKC的值会有一个相应的增量(上图为LRW操作类型)。

  • 当子报文返回到主站之后,主站根据子报文中的工作计数器的值和工作计数器的预期值是否相等来判断子报文是否被有效处理。
4.2.4 遍历数据帧

  • 主站发起系统的控制周期。

  • 主站发下行报文,数据帧遍历所有从站设备,每个从设备在数据帧经过时分析寻址到的本机报文,根据报文头命令读取或写入数据到报文中指定位置。

  • 从站硬件把该报文的工作计数器WKC加相应的计数表示该数据被处理,大概10ns的时间延迟。

  • 访问最后一个从站时,将处理的数据帧作为上行报文直接发送给主站,主站收到后处理返回数据,记为一次通讯结束。

  • 输入类型数据为插入EtherCAT子报文数据区;输出类型数据为从EtherCAT子报文数据区抽出。
4.2.5 数据收发端口

ESC芯片具有四个数据收发端口,每个端口都可以收发以太网数据帧,自动模式下,建立连接则端口打开,失去连接则端口闭合。
5 总结
(1)优点
  • 实时性:通讯周期最小11us,同步性能小于1us。

  • 现场走线方便:支持任意的拓扑结构,与传统脉冲驱动的伺服相比,大大节省走线布局。

  • 成本优势:无需多余的交换机,设备维护简单,具备提供主站和从站整体方案。

  • 安全性:加强版本Safety over EtherCAT,可以在同一个网络上进行安全相关的通讯和一般的控制通讯。

  • 开放性:不同厂家的设备之间能协调地工作,实现应用的可移植性和互操作性。

  • 一致性:向用户提供一个一致性的服务接口。
(2)缺点
  • 需要特定的从站硬件。

  • 相对于低速总线,价格还是偏贵。

  • 同一周期不具备重发。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注