EtherCAT是一个高实时性,高速和高效率的工业以太网技术,数据根据自身独有的数据帧格式进行可靠传输,本文主要针对EtherCAT的数据帧格式和寻址方式进行简单描述。
EtherCAT 的数据帧格式
EtherCAT (Ethernet Control Automation Technology) 是由德国倍福公司在2003年提出的工业以太网技术,具有很高的实时性。传统的以太网通信中每一个节点都是按照接收,处理和转发这个三个流程进行,而EtherCAT则是同时传输和处理EtherCAT数据。
由于EtherCAT始终依托以太网进行数据的传输,因此和传统的以太网数据帧格式大致相同。EtherCAT在传统以太网数据帧格式作出了一些修改,譬如在EtherCAT中,EtherType(帧类型)为0x88A4,EtherType是用于指明应用于帧数据字段的协议,如0x0806为地址解析协议ARP。
传统的以太网帧格式包含了以太网帧头,以太网数据和FCS帧校验,而EtherCAT的数据帧格式跟传统以太网帧格式一样,只是对帧数据段进行了细化,将数据字段分为帧头和EtherCAT数据,其中EtherCAT帧头包含了数据帧长度,保留字。将EtherCAT数据认为若干个子报文,每一个子报文又包含了子报文头,子报文的数据,WKC(工作计数器),具体以下图所示。
图1 EtherCAT数据帧格式
表1 EtherCAT数据帧格式说明
目的地址 | 接收方的MAC地址 |
源地址 | 发送方的MAC地址 |
帧类型 | 0x88A4 |
FCS | 帧校验序列 |
EtherCAT头
(数据长度) |
EtherCAT数据区长度 |
EtherCAT头
(类型) |
1表示从站通信,其余保留 |
EtherCAT子报文结构定义:
表2 EtherCAT子报文定义
命令 | 寻址方式 |
索引 | 帧编码 |
地址 | 从站地址 |
长度 | 报文数据区长度 |
R | 保留位 |
M | 后续报文标志 |
状态位 | 中断到来的标志 |
数据位 | 子报文数据结构,用户定义 |
WKC | 工作计数器 |
其中子报文头的作用是确定此子报文由哪一个从站使用,什么操作命令,处理多长的数据等,而工作计数器主要记录了报文被对应的从站操作的类型以及次数,一般而言,主站在每次发送EtherCAT报文前都要预设一个WKC值,将数据帧发送给从站。
EtherCAT的寻址方式
1. 网段寻址
- 直连模式:主站设备通过于EtherCAT网段直接端口连接来对MAC地址进行广播;开放模式:主站设备通过交换机与EtherCAT网段进行连接,网段可以使用EtherCAT数据帧中的目的地址来做MAC地址。
2. 设备寻址
EtherCAT数据帧中子报文头有32位地址,其中高16位是从站的设备地址,低16位是设备内部物理存储的地址,16位从站设备地址可以寻65535个从站设备,而每一个设备地址最多可以有64KB的本地存储空间。2.1 顺序寻址
从站的地址由物理连接的顺序决定,从站地址自动加1,一般在主站启动阶段使用,主站为从站分配地址,无需从站设置。
图2 顺序寻址示意图
2.2 配置寻址
该地址与从站物理连接顺序无关,通常有两种配置方式:
数据链路层启动阶段由主站配置给从站;
在上电初始化的时候,从站从自身的EEPROM的配置文件中读取出来。主站利用顺序寻址的方式来读取从站设置的地址,掉电之后会丢失固定的地址。
图3 配置寻址示意图
2.3 逻辑寻址
在逻辑寻址模式下,报文内的32位地址空间用来寻址,整个网段有4GB地址空间可以被寻址。逻辑寻址方式由FMMU来实现,ESC芯片中的FMMU单元将从站本地的物理地址映射到网段内的逻辑地址。当从站收到主站的报文时,会检查报文中的地址是否和FMMU中的地址是否相符,如果相符,就会根据类型进行读写操作。
图4 逻辑寻址示意图
广州致远电子以EtherCAT工业以太网协议为向导,开发了一系列EtherCAT主站控制器和通讯卡,其中包括EtherCAT FOE(File Over EtherCAT)功能。这些EtherCAT主站控制器和PCIe EtherCAT通讯卡可以快速、有效、便捷地构建数控智能化设备。通过支持固件更新、配置文件下载、数据记录与监控、远程控制与诊断、分布式文件系统等功能,更能够适应工厂智能化、信息化产业的需求。
表3 EtherCAT主站控制器
图5 EtherCAT主站控制器系统框图
表4 PCIe EtherCAT主站通讯卡
图6 PCIe EtherCAT通讯卡