EtherCAT 总览与工作原理
EtherCAT = Ethernet for Control Automation Technology
Beckhoff 2003 年发布 · 国际标准 IEC 61158(Type 12)/ IEC 61784-2 / ISO 15745-4
由 ETG(EtherCAT Technology Group)维护,是目前成员数最多的工业现场总线组织
1. EtherCAT 是什么
EtherCAT 是一种实时工业以太网总线:物理层复用标准以太网(100 Mbit/s 全双工),
但从站不跑 TCP/IP 协议栈,而是用专用硬件(ESC 芯片)在帧穿过的瞬间读写数据。
设计目标一句话:用一根网线、一帧报文,以微秒级周期同步成百上千个 IO 与伺服轴。
| 属性 |
值 |
| 发布者 / 年份 |
Beckhoff(倍福)/ 2003 |
| 标准 |
IEC 61158 Type 12、IEC 61784-2 CPF 12、SEMI E54.20 |
| 物理层 |
100BASE-TX(标准网线 ≤100 m)、EBUS(背板 LVDS)、100BASE-FX 光纤 |
| 速率 |
100 Mbit/s 全双工(数据路径上等效利用率 >90%) |
| 最大节点数 |
65535 个从站 |
| 主站硬件 |
普通以太网卡即可,无需专用板卡 |
| 从站硬件 |
必须有 ESC(EtherCAT Slave Controller)芯片 |
2. 核心思想:on-the-fly(飞行中处理)
普通以太网交换机是存储转发:整帧收完 → 查表 → 再发出去,每跳都引入排队延迟。
EtherCAT 从站则是穿透式处理:帧一边从端口流过,ESC 硬件一边在指定字节位置
边收边读、边收边写,每个从站只引入固定的硬件转发延迟(EBUS 约百纳秒量级,
100BASE-TX 端口含 PHY 约 1 µs 量级)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ─── 普通以太网(存储转发,每个节点一问一答)───────────────
主站 ──帧A──▶ 交换机 [收完整帧→查表→转发] ──▶ 节点1 主站 ──帧B──▶ 交换机 [收完整帧→查表→转发] ──▶ 节点2 N 个节点 = N 个帧 + N 次协议栈处理 + 交换机排队延迟
─── EtherCAT(一帧穿过所有从站,硬件即时读写)─────────────
主站 ══▶ [从站1] ══▶ [从站2] ══▶ [从站3] ══▶ ... │读/写│ │读/写│ │读/写│ ▼ ▲ ▼ ▲ ▼ ▲ 输入 输出 输入 输出 输入 输出 帧走到链路末端后由最后一个从站折返,沿原路回到主站 N 个节点 = 1 个帧(或少数几帧),无软件协议栈参与
|
关键点:
- 数据”顺路捎带”:每个从站从帧中属于自己的字段取走输出数据、塞入输入数据;
- 读写发生在帧仍在传输时,不是收完再处理;
- 主站收到返回帧时,全网 IO 已经完成一次交换。
3. 为什么快
| 机制 |
说明 |
| 单帧多从站 |
一个以太网帧携带全网过程数据,带宽利用率远高于”一节点一帧” |
| 全双工环路 |
物理上是线形接线,逻辑上是环:帧去程处理、回程沿另一对线返回,收发同时进行 |
| 纯硬件处理 |
从站 ESC 无软件协议栈,转发延迟固定且极小 → 抖动可控 |
| 无碰撞/无排队 |
主站是唯一的帧发起者,链路上不存在竞争 |
| 逻辑寻址 + FMMU |
主站按”过程映像”整块读写,从站硬件自己认领字节(见 01-帧结构与寻址.md) |
性能量级(ETG 官方典型数据)
| 场景 |
周期/耗时 |
| 1000 个分布式数字 IO |
约 30 µs |
| 100 个伺服轴(每轴 8 字节输入+8 字节输出) |
约 100 µs |
| 同步抖动(配合分布式时钟 DC) |
≪ 1 µs(典型 <100 ns,见 03 篇) |
4. 拓扑与物理层
4.1 拓扑
物理接线支持线形、树形、星形及任意组合;加冗余口可组环形(线缆冗余)。
无论怎么接,逻辑上永远是一个环——帧按固定顺序穿过每个从站再折返。
4.2 端口自动闭环
每个 ESC 有 2~4 个端口。端口若检测不到链路(没接线),硬件自动内部短接,
帧原路折返——这就是”接成一条线、逻辑成一个环”的原理,也意味着:
- 末端从站不需要终端电阻或特殊配置;
- 拔掉中间网线,环在断点前自动闭合,主站仍能与断点前的从站通信(可用于定位断点)。
4.3 物理层
| 物理层 |
用途 |
距离 |
| 100BASE-TX |
设备间联网(标准 Cat5 网线、RJ45/M8) |
节点间 ≤100 m |
| EBUS(LVDS) |
模块化 IO 站内背板(如 Beckhoff EL 系列端子) |
站内短距 |
| 100BASE-FX |
光纤长距/抗干扰 |
≥2 km(取决于光模块) |
5. 主站与从站角色
|
主站 Master |
从站 Slave |
| 硬件 |
任意标准以太网 MAC/网卡,不需要专用芯片 |
必须有 ESC 芯片 |
| 软件 |
主站协议栈(周期调度、配置、诊断) |
帧处理全在 ESC 硬件;本地 MCU 只管应用(可选,纯 IO 可无 MCU) |
| 角色 |
唯一的帧发起者;网络配置、状态机控制、DC 同步的组织者 |
被动处理帧;执行 IO / 伺服控制 |
| 典型实现 |
TwinCAT、IgH EtherCAT Master(EtherLab,Linux 内核态)、SOEM(用户态开源)、Acontis EC-Master |
— |
常见 ESC 芯片
| 芯片 |
厂商 |
特点 |
| ET1100 / ET1200 |
Beckhoff |
经典 ASIC,4 口 / 3 口 |
| LAN9252 / LAN9253 |
Microchip |
集成 2 个 PHY,SPI/并口 PDI,低成本从站常用 |
| Sitara PRU-ICSS |
TI |
处理器内可编程实时单元实现 ESC |
| FPGA IP 核 |
Beckhoff(授权) |
ET18xx IP,用于 Xilinx/Intel FPGA 自研从站 |
记忆点:主站便宜(软件),从站专用(硬件)——与 PROFINET IRT 正好相反
(IRT 要求交换机/网卡侧有专用硬件支持)。
6. 与其他工业总线对比
|
EtherCAT |
PROFINET IRT |
EtherNet/IP (CIP Sync) |
CANopen |
| 物理层 |
标准以太网 |
以太网 + 专用交换硬件 |
标准以太网 + 交换机 |
CAN(≤1 Mbit/s) |
| 转发方式 |
on-the-fly 穿透 |
时间调度存储转发 |
标准交换 |
总线仲裁 |
| 典型周期 |
≤100 µs(可至 ~30 µs 级) |
250 µs~1 ms 级 |
≥1 ms 级 |
≥1 ms 级(节点少时) |
| 同步精度 |
<1 µs(DC) |
~1 µs(IRT 调度) |
µs~ms(依赖 CIP Sync/PTP) |
ms 级(SYNC 报文) |
| 主站成本 |
低(普通网卡) |
中~高 |
低~中 |
低 |
| 从站成本 |
需 ESC 芯片 |
需支持 IRT 的 PHY/交换 |
普通以太网即可 |
CAN 收发器,极低 |
| 应用层 |
CoE/SoE/FoE/EoE |
PROFINET 服务 |
CIP |
CANopen(CiA 301/402) |
| 备注 |
CoE 直接复用 CANopen 对象字典/行规,CANopen 设备迁移成本低 |
|
|
EtherCAT 的”精神前辈”之一 |
各家总线的周期/精度与配置强相关,上表为常见工程量级,仅作选型参考。
7. 典型应用
| 场景 |
用法 |
| 多轴伺服 |
CoE + CiA 402 行规(CSP/CSV/CST 模式),DC 同步插补,机床/包装机 |
| 分布式 IO |
EL/EP 系列端子模块,数字/模拟量采集,周期 µs 级 |
| 机器人关节 |
力控/协作机器人每关节一个 EtherCAT 伺服节点,1 kHz~8 kHz 控制环(ROS 2 侧常配 ros2_control + SOEM/IgH) |
| 液压/注塑、半导体、风电变桨、测试台架 |
高速闭环 + 大量模拟量 |
8. 术语表(后续各篇通用)
| 缩写 |
全称 |
一句话 |
| ESC |
EtherCAT Slave Controller |
从站帧处理硬件芯片,on-the-fly 的执行者 |
| PDO |
Process Data Object |
周期性过程数据(IO、目标位置/实际位置等) |
| SDO |
Service Data Object |
非周期参数读写(走邮箱,CoE 服务) |
| DC |
Distributed Clocks |
分布式时钟,全网 <1 µs 同步(见 03 篇) |
| ESM |
EtherCAT State Machine |
从站状态机 Init→PreOp→SafeOp→Op(见 02 篇) |
| ESI |
EtherCAT Slave Information |
从站描述 XML 文件(厂商提供) |
| ENI |
EtherCAT Network Information |
整网配置 XML(组态工具导出,主站加载) |
| SII |
Slave Information Interface |
从站 EEPROM 中的身份/初始配置数据 |
| FMMU |
Fieldbus Memory Management Unit |
逻辑地址→从站物理内存映射单元 |
| SM |
SyncManager |
ESC 内存访问协调单元(缓冲/邮箱两种模式) |
| WKC |
Working Counter |
工作计数器,每被从站处理一次递增,主站校验用 |
| CoE |
CANopen over EtherCAT |
最常用的邮箱应用层协议 |
| PDI |
Process Data Interface |
ESC 与从站本地 MCU 之间的接口(SPI/并口等) |
下一篇
01-帧结构与寻址.md —— 0x88A4 帧格式、datagram 布局、四种寻址方式、WKC/FMMU/SyncManager 详解。