EtherCAT协议报文解析

EtherCAT(Ethernet for Control Automation Technology)是一种高性能、基于以太网的工业现场总线协议。其核心特征是
“在运行中处理”(Processing on the fly),这使得它在工业自动化领域具有极高的实时性和同步性

EtherCAT帧结构示意图

 
 
以下是 EtherCAT 协议的详细解析:

1. 核心工作原理:在运行中处理

与传统以太网(每个节点接收、解析、再响应)不同,EtherCAT 报文在经过每个从站节点时,从站控制器(ESC)会直接在数据流中提取或插入数据,报文像火车经过车站一样不停留地穿过所有节点,最后由最后一个节点返回给主站。这种方式几乎消除了协议栈处理带来的延迟。 

2. 帧结构 (Frame Structure)

EtherCAT 直接嵌套在标准 IEEE 802.3 以太网帧内,使用特定的 EtherType 0x88A4 
  • 以太网首部:包含目的 MAC(通常是广播或主站地址)和源 MAC 地址。
  • EtherCAT 头 (2 字节)
    • 长度 (11 bit):后续子报文的总长度。
    • 类型 (4 bit):通常为 1(表示 EtherCAT 从站指令)。
  • EtherCAT 子报文 (Datagrams):一个帧可以包含多个子报文,每个子报文寻址不同的从站或内存区域。
  • 校验 (FCS):标准的 4 字节循环冗余校验。 

3. 子报文结构 (Datagram Detail)

每个子报文由 Header + Data + WKC 组成: 
  • Command (1 字节):定义读写操作(如 APRD 自动扫描读、BWR 广播写、LRW 逻辑读写等)。
  • Index (1 字节):主站定义的序号,用于标识和匹配响应。
  • Address (4 字节):支持设置地址(基于物理连接顺序)、节点地址(固定 ID)或逻辑地址(4GB 线性寻址空间)。
  • Data:实际读写的工艺数据。
  • Working Counter (WKC, 2 字节)关键机制。当从站成功处理该子报文时,WKC 会自动加 1。主站通过检查返回的 WKC 值来判断通信是否完整且正确。 

4. 常用上层应用协议

EtherCAT 支持在同一通道内传输多种应用层协议(Mailbox 机制): 
  • CoE (CANopen over EtherCAT):将 CANopen 协议移植到 EtherCAT 上,最常用的驱动控制协议。
  • SoE (Servo Drive Profile over EtherCAT):支持 SERCOS 驱动器标准。
  • FoE (File Access over EtherCAT):用于固件更新或配置文件传输,结构类似 TFTP。
  • EoE (Ethernet over EtherCAT):在 EtherCAT 网络中隧道传输标准以太网数据包。 

5. 技术优势总结

  • 极速同步:分布式时钟(DC)技术可实现节点间小于 1μs 的同步精度。
  • 灵活拓扑:支持线型、树型、星型或环型(提供冗余)拓扑,无需昂贵的交换机。
  • 低硬件成本:主站仅需普通网卡,从站由廉价的专用芯片(ESC)处理硬件逻辑。

参考资料:

1. EtherCAT telegram

2.EtherCAT数据帧抓包解析(RxPDO配置过程详解)

3.  ethercat

posted @ 2026-03-04 10:51  hugingface  阅读(10)  评论(0)    收藏  举报