EtherCAT 数据帧格式和寻址方式简介
EtherCAT 数据帧格式和寻址方式简介
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 数据帧格式说明
字段 | 说明 |
---|---|
目的地址 | 接收方的 MAC 地址 |
源地址 | 发送方的 MAC 地址 |
帧类型 | 0x88A4 |
FCS | 帧校验序列 |
EtherCAT 头(数据长度) | EtherCAT 数据区长度 |
EtherCAT 头(类型) | 1 表示从站通信,其余保留 |
表 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 配置寻址
该地址与从站物理连接顺序无关,通常有两种配置方式:
- 数据链路层启动阶段由主站配置给从站;
- 在上电初始化的时候,从站从自身的 EEPROM 的配置文件中读取出来。主站利用顺序寻址的方式来读取从站设置的地址,掉电之后会丢失固定的地址。
2.3 逻辑寻址
在逻辑寻址模式下,报文内的 32 位地址空间用来寻址,整个网段有 4GB 地址空间可以被寻址。逻辑寻址方式由 FMMU 来实现,ESC 芯片中的 FMMU 单元将从站本地的物理地址映射到网段内的逻辑地址。当从站收到主站的报文时,会检查报文中的地址是否和 FMMU 中的地址是否相符,如果相符,就会根据类型进行读写操作。
广州致远电子以 EtherCAT 工业以太网协议为向导,开发了一系列 EtherCAT 主站控制器和通讯卡,其中包括 EtherCAT FOE(File Over EtherCAT)功能。这些 EtherCAT 主站控制器和 PCIe EtherCAT 通讯卡可以快速、有效、便捷地构建数控智能化设备。通过支持固件更新、配置文件下载、数据记录与监控、远程控制与诊断、分布式文件系统等功能,更能够适应工厂智能化、信息化产业的需求。
表 3 EtherCAT 主站控制器
图 5 EtherCAT 主站控制器系统框图
表 4 PCIe EtherCAT 主站通讯卡
图 6 PCIe EtherCAT 通讯卡