基于 Zynq 平台的 EtherCAT 主站的软硬件协同设计 - 详解
摘要: 针对工业自动化对控制能力和强实时性的需求,提出了一种基于FPGA 的改进型 EtherCAT
硬件主站方案。该方案利用 Zynq-7000平台,在 PL 端实现 FPGA 协议栈,以保证核心功能的高效执
行。基于 AXI4 总线设计 PS 与 PL 间的信息交互机制,提升主站的灵活性和数据传输效率。实验证明,
该设计实现了88 ns 的最大通信抖动,保持了硬件主站的高实时性,并融合了ARM 的灵活性。
0 引言
近年来,由于EtherCAT实时工业以太网技术的卓
越性能[1],吸引了众多学者进行相关研究。其中在
Windows和 Linux 操作系统上构建EtherCAT主站( 即
软件主站) 已成为工业控制领域的热点[2]。然而,国
内外关于软件主站的实时性研究都因为操作系统的
性能而限制在μs 级[3-5]。为了突破这一瓶颈,孙跃祥
等[6]将 EtherCAT协议栈部分硬件化,即把协议栈的
资料 链 路 层 部 署 在FPGA ( field-programmable gate
array,现场可编程阵列) 上以降低部分抖 动。经 琦
等[7]进 一 步 将EtherCAT主站协议栈完全部署在
FPGA 上,以此来提升主站性能。这种“硬件主站”的
方法在提升硬件性能上取得了显著的效果,最大通信
抖动仅有 5 ns。由于缺乏强大的主控单元,在工业控
制领域上有一定的局限性。文献[8]提出将协议栈部
署在 Zynq 的 FPGA 上,主站的实时性由实时操作系统
保障。这使得通信周期的最大抖动高达15 μs,并未
体现出硬件主站强大的实时性能。
针对以上问题,本文采用Zynq 系列芯片。该芯片
集成了 ARM( advanced risc machine,高级精简指令集
计算机) 双核Cortex-A9处理器和具有28 nm 制程的
FPGA 可编程逻辑阵列[9],通过该芯片构建出更为高
效的 EtherCAT硬件主站的设计方案。
该方案通过软硬件协同设计的方式充分结合了
Zynq 的 ARM 处理器处理复杂任务的能力,以 及
FPGA 硬件实时性的能力,既弥补传统软件主站性能
上的不足,又解决了单一FPGA 主站灵活性差的障碍,
满足了工业控制领域对控制和性能的双重需求。
1
EtherCAT工业以太网概述
EtherCAT工业以太网框架由核心的主站设备和
多个执行单元———从站设备构成。如图 1 所示,主站
作为平台中心负责发起数据传输,通过发送数据帧来
控制整个网络。而各从站设备则分布在网络中,它们![]()
![]()
![]()
![]()
的主要 任 务 是 响 应 主 站 的 指 令,执行具体的处理
任务。

2
PL 设计
为了方便使用verilog HDL( hard description lan
guage,硬件描述语言) 建立EtherCAT协议栈,本文依
据 OSI 七层网络模型对协议栈进行了层次划分,具体
分为应用层、数据链路层、物理层,FPGA 硬件主站框
架如图 2 所示。

2.2 应用层 EtherCAT状态机
EtherCAT状态机是 EtherCAT协议栈的基础,它
通过精确管理通信流程,确保架构的可靠性和稳定
性。状态机尽管增加了平台的复杂性,但对保障协议
栈的可靠性至关重要。其设计允许从站在配置错误
时拒绝状态变更,有效避免了潜在的运行故障。图 4
为主 站 使 能 从 站 从 初 始 化状态进入运行 (OP,
operation) 的大致流程图。


信迈提供ethercat主站定制。