基于 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主站定制。