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 | ─── 普通以太网(存储转发,每个节点一问一答)─────────────── |
关键点:
- 数据”顺路捎带”:每个从站从帧中属于自己的字段取走输出数据、塞入输入数据;
- 读写发生在帧仍在传输时,不是收完再处理;
- 主站收到返回帧时,全网 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 详解。
正在加载留言…