Back to Blog

基于 Zynq 平台的 EtherCAT 主站的软硬件协同设计

#fpga开发#人工智能#arm开发#计算机视觉

摘要: 针对工业自动化对控制能力和强实时性的需求,提出了一种基于 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主站定制。