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)处理硬件逻辑。
参考资料:
2.EtherCAT数据帧抓包解析(RxPDO配置过程详解)
3. ethercat

浙公网安备 33010602011771号