1. EtherCAT从站开发全景

EtherCAT(Ethernet for Control Automation Technology)是一种实时工业以太网协议,其核心思想是"飞读飞写"(processing on the fly):主站发出的以太网帧在从站之间依次传递,每个从站只读取属于自己的数据、写入自己的过程数据,然后立即把帧转发给下一个从站。理解这一点,是理解从站角色定位的起点——从站不是被动等待轮询的终端,而是数据链路上的一个"实时处理节点"。

一、从站在系统中的角色

在一个典型的EtherCAT网络中,主站通常是一台带标准以太网控制器的工控机或PLC,从站则是分布在设备现场的各类I/O模块、伺服驱动器、编码器接口、阀岛、安全模块等。从站承担三类职责:

  • 过程数据交换:通过逻辑寻址(FMMU)把本地输入/输出映射到主站报文中的固定位置,实现周期性PDO(过程数据对象)读写。
  • 状态机管理:从站必须按Init→Pre-Op→Safe-Op→Op的顺序完成状态迁移,每个状态允许的操作不同,例如Pre-Op阶段才能配置邮箱参数,Op阶段才允许过程数据有效。
  • 邮箱通信:承载CoE(CANopen over EtherCAT)、FoE(文件传输)、EoE(以太网隧道)等非周期服务,用于参数配置、固件升级和诊断。

从站开发者的工作,本质上是让一个嵌入式设备正确扮演上述角色:硬件上要选对ESC(EtherCAT Slave Controller)芯片或IP核,软件上要实现状态机、邮箱协议栈和应用逻辑,最后还要提供一份能被主站正确识别的设备描述文件(ESI)。

二、主从通信模型

EtherCAT采用"主站主动、从站被动"的通信模型。主站周期性发送过程数据帧,帧经过每个从站时,从站根据FMMU配置从帧中提取输出数据、把输入数据插入帧中。整个过程不需要从站发起通信,因此从站的实时性主要取决于ESC的硬件处理延迟和本地应用响应时间。

从站内部的数据流可以概括为:物理层收发 → ESC解析 → 过程数据RAM ↔ 应用控制器(MCU)→ 应用逻辑。其中ESC与MCU之间通常通过SPI或并行总线连接,MCU需要周期性读取输入数据、更新输出数据,并处理邮箱请求。这个数据流的方向和时序,是后续调试中最容易出问题的地方,也是本节SVG重点表达的内容。

EtherCAT主站 工控机 / PLC 周期发送过程数据帧 帧 从站1 ESC MCU / 应用 帧 从站2 ESC MCU / 应用 帧 从站N ESC MCU / 应用 返回帧(含各从站输入数据) ESC硬件处理 MCU应用逻辑 过程数据帧 本地数据交换

三、从站开发流程

从站开发不是"写代码"一件事,而是一条从硬件选型到现场集成的完整链路。下面按实际工程顺序展开。

第一步:硬件方案确定。选择ESC实现方式——是采用独立ESC芯片(如ET1100、ET1200、LAN9252、AX58100),还是使用集成ESC的MCU(如XMC4800、TMS320F2838x),或是在FPGA中实现ESC IP核。独立芯片方案开发周期短、协议一致性有保障;集成方案成本低但需要确认ESC与MCU之间的数据通路带宽是否满足周期要求。以LAN9252为例,它与MCU之间通过SPI或16位并行总线连接,SPI模式下典型通信速率约20MHz,若过程数据量为64字节输入+64字节输出、周期1ms,则SPI传输时间约几十微秒,余量充足。

第二步:ESC配置与EEPROM烧写。ESC上电后从外接EEPROM读取配置信息,包括设备类型、FMMU/SyncManager配置、默认PDO映射等。开发者需要用SSC工具(Slave Stack Code Tool)或厂商配置工具生成EEPROM内容并烧写。这一步决定了从站能否被主站正确识别为预期设备。

第三步:从站协议栈实现。如果使用Beckhoff SSC工具,会生成一套基于目标MCU的协议栈代码,包含状态机、邮箱处理、CoE对象字典框架。开发者需要做的是:填充对象字典中与设备相关的条目(如0x6000输入、0x7000输出、0x1C12/0x1C13 PDO映射),实现应用层回调函数,把实际硬件I/O与过程数据缓冲区关联起来。

第四步:ESI文件编写。ESI(EtherCAT Slave Information)是XML格式的设备描述文件,主站通过它了解从站支持哪些对象、PDO如何映射、状态机行为如何。ESI必须与从站实际实现一致,否则会出现"扫描到设备但配置失败"的问题。常见字段包括Vendor ID、Product Code、Revision No、对象字典描述、PDO映射、DC(分布式时钟)支持情况等。

第五步:主站组态与联调。把ESI导入主站配置工具(如TwinCAT、CODESYS、IgH EtherCAT Master),扫描网络、配置PDO映射、设置DC模式,然后进入Op状态观察过程数据是否正常刷新。这一步是验证从站开发成果的关键环节。

四、工程交付物

一个可交付的EtherCAT从站项目,通常包含以下内容:

交付物 内容说明 验收要点
硬件原理图与BOM ESC、PHY、EEPROM、MCU及接口电路 ESC时钟、PHY匹配、EEPROM地址正确
ESC EEPROM镜像 设备标识、SM/FMMU配置、默认PDO 主站能正确识别Vendor/Product
从站固件 协议栈+应用逻辑,可烧录文件 状态机可到Op,过程数据可读写
ESI文件 XML设备描述,与固件一致 主站导入无报错,PDO映射匹配
测试记录 状态迁移、PDO刷新、DC同步、异常恢复 周期抖动、丢帧率、恢复时间达标
提示:初学者最容易忽略的是ESI与固件的一致性。建议每次修改对象字典或PDO映射后,同步更新ESI并重新导入主站验证,避免"代码改了但主站还按旧描述配置"的隐性错误。