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

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

http://www.hkcw.cn/article/hRuQZdOXge.shtml

相关文章

【IC】BSIM-CMG:用于高级电路设计的标准FinFET紧凑型模型

摘要 这项工作提出了新的紧凑型模型,这些模型捕捉了工业FinFET中呈现的高级物理效应。所提出的模型被引入到行业标准紧凑型模型BSIM-CMG中。核心模型被更新为新的统一FinFET模型,该模型计算具有复杂鳍片横截面的晶体管的电荷和电流。此外,来…

BFD工作原理(双向转发检测)

BFD的工作原理 BFD 会在两台网络设备之间建立会话,并通过周期性地交换 BFD 控制报文来检测路径的连通性。如果在检测时间内没有收到对方的报文,则视为链路故障,是依赖于路由协议来发现邻居的 故障检测 故障检测时间 协同接收间隔 * 检测倍数…

【JNI】JNI环境搭建

1 前言 JNI (Java Native Interface) 是 JDK 提供的一种机制,用于实现 Java 代码与其他语言(主要是 C 和 C)编写的本地代码之间的交互。 JNI 接口详见 JDK 安装目录中的 include/jni.h 文件,Android NDK 对 JDK 的 JNI 进行了扩展…

利用IEEE 802.15.4z-IR UWB系统进行手势检测

本文介绍了一种符合 IEEE 802.15.4z 标准的脉冲无线电超宽带 (IR-UWB) 手势检测雷达系统。该系统可检测车辆乘客座椅上的人员是否执行了 12 个预定义手势中的某一个。这些预定义手势包括各种手部动作,例如左右滑动或顺时针旋转手掌。为了进行手势检测,我…

STM标准库-GPIO输入

文章目录 一、GPIO输入按键简介传感器模块简介硬件电路 二、C语言C语言数据类型C语言宏定义C语言typedefC语言结构体C语言枚举 三、练习3.1按键控制LED3.1.1接线图3.1.2代码效果: 3.2光敏电阻控制蜂鸣器3.2.1接线图3.2.2代码效果: 一、GPIO输入 STM32 的…

HackMyVM-Jabita

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-01 05:20 EDT Nmap scan report for 192.168.43.1 Host is up (0.020s latency). MAC Address: C6:45:66:05:91:88 (Unknown) Nmap scan repo…

桑托斯0-1博塔弗戈 内马尔染红 阿图尔制胜球

北京时间6月2日,巴西足球甲级联赛第11轮,桑托斯主场对阵博塔弗戈。比赛中,桑托斯的内马尔因累计两张黄牌被罚出场。博塔弗戈凭借雅伊尔-库尼亚的助攻,由阿图尔打入制胜一球,最终以1-0战胜桑托斯。比赛开始前,双方队长进行了挑边仪式。第5分钟,内马尔在禁区内投诉被对手拉…

英国军事战略转向全面“备战”

△英国首相府(资料图)当地时间6月1日,总台记者从英国首相府获得信息,英国政府将在2日发布新一轮《战略国防评估报告》的同时,宣布大幅扩建其核动力攻击型潜艇舰队,并加速推进军工产业现代化。此举被外界普遍解读为英国在地缘安全压力加剧背景下,全面进入“备战状态”。新…

Java虚拟机内存区域划分

Java虚拟机内存区域划分 Java虚拟机(JVM)的内存区域划分主要分为五个部分: 程序计数器:程序计数寄存器,给CPU使用本地方法栈:为JVM使用到的Native方法服务方法区:存储的是编译后的.class文件堆…

cursor升级至0.505,运行统计视频中的人数

帮助--检查更新,升级。 升级后,新建文本,另存选python格式保存后,右下角提示选择编译器,选择python后,自动安装ms python 3.11.9 一.查看pthon安装在哪, winr,输入cmd后, ctrlshiftenter三个…

《Pytorch深度学习实践》ch2-梯度下降算法

------B站《刘二大人》 1.Gradient Decent 局部最优,全局最优,非凸函数: 梯度下降算法公式: 2.Implementation import matplotlib.pyplot as plt# 数据集 x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]# 权重 w 1.0# 模型…

LabVIEW多按键自动化检测系统

LabVIEW开发一套高精度按键力与行程自动化检测系统,针对传统检测设备自动化程度低、定位误差大等痛点,实现多按键产品的全流程自动化测试。系统集成 6 轴工业机器人、高精度传感器及实时数据处理模块,满足汽车电子、消费电子等领域对按键手感…

Chorme如何对于youtube视频进行画中画背景播放?

画中画可以让你小窗播放,然后浏览器放后台还可以做点别的事情。 B站直接可以选择小窗播放,游览器最小化就可以,但是youtube的小窗播放游览器一切换就不显示了。 其实是因为youtube的小窗播放不是真的小窗播放。要想真的实现需要在youtube视…

JDBC连不上mysql:Unable to load authentication plugin ‘caching_sha2_password‘.

最近为一个spring-boot项目下了mysql-9.3.0,结果因为mysql版本太新一直报错连不上。 错误如下: 2025-06-01 16:19:43.516 ERROR 22088 --- [http-nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat…

C/C++ 面试复习笔记(3)

一.valgrind工具 参考: 内存检查工具valgrind介绍、安装与使用-CSDN博客https://blog.csdn.net/mijichui2153/article/details/85240349 二.C语言中如何实现一个线程池? 答案: 线程池是通过预先创建固定数量的线程来处理多个任务&#xf…

Spring框架核心知识深度解析

Spring框架核心知识深度解析 最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 今天将对spring常见问题做出解析 一、IOC与AOP核心原理 1. IOC(控制反转)详解 核心思想:将对象…

【第四十七周】HippoRAG 2 复现与分析(一):环境部署与代码分析

目录 摘要Abstract安装依赖试运行HippoRAG 初始化文档索引QA运行脚本 总结 摘要 本周对HippoRAG 2系统进行核心功能测试,通过构建小型结构化文档库(如人物职业、童话事件、地理关系),验证其索引构建、动态增删、多轮检索问答及评…

【js逆向_AES】全国二手房指数数据爬取

目标:请求参数signcode,请求结果data。 网址:aHR0cDovL3d3dy5jY2hpbmRleC5jb20vSG9tZS9pbmRleA 查看载荷 查看响应数据 点击xhr,发现所有请求参数都是一个signCode,还是加密后的结果,对应结果中数据data也…

郑钦文社媒:人都应该有梦 刷新赛会最佳战绩

北京时间6月1日晚,在法网女单1/8决赛中,郑钦文战胜俄罗斯选手萨姆索诺娃,职业生涯首次跻身法网女单八强,刷新个人赛会最佳战绩。这也是中国选手时隔14年再次闯进法网八强。赛后,郑钦文在社交媒体上写道:“人都应该有梦,有梦就别怕痛,是一颗宝石就该闪烁。”她还祝所有的…

【第16届蓝桥杯 | 软件赛】CB组省赛第二场

个人主页:Guiat 归属专栏:算法竞赛 文章目录 A. 密密摆放(5分填空题)B. 脉冲强度之和(5分填空题)C. 25 之和D. 旗帜E. 数列差分F. 树上寻宝G. 翻转硬币H. 破解信息 正文 总共8道题。 A. 密密摆放&#xff0…