news 2026/3/29 5:25:51

4.ethercat性能问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4.ethercat性能问题

1.ethercat

EtherCAT 实现了 CANopen 协议,在 CANopen 中周期性的数据通过 PDO(过程数据对象)来传输,PDO 优先级较高,可用于实时传输。非周期性的数据比如配置参数和对象字典等则通过 SDO(服务数据对象)来传输。

每个 PDO 都包含单个或多个从设备的地址,这种数据加地址的结构(附带用于校验的传输计数位)组成了 EtherCAT 的报文。每个 Ethernet 帧可能包含数个报文,而一个周期中可能需要多帧来传送所需的所有报文。

传统的以太网通信解决方案从站先接受以太网数据包,然后解释和复制过程数据,最后转发数据。而EtherCAT 以太网帧在特殊的硬件模块的帮助下可以实现在传输的同时被处理。每个从节点都有 FMMU(现场总线存储管理单元),FMMU 会对经过的数据包进行地址分析,发现是本节点的 数据就会读取,同时报文转发给下一个设备。同样在报文通过的时候也可以插入需要传输的数据。读取/插入/转发数据的整个过程,报文只有几纳秒的延迟。如图 2 所示,设想以太网的帧就像行驶中的火车,EtherCAT 报文是每节火车车厢,PDO 数据的比特就是车厢内的乘客,这些数据可以被提取并插入到合适的从设备中。整辆火车不停止地穿越所有从设备,在末端从设备处又掉头,重新反向穿越所有从设备。(注:EtherCAT不仅支持主从通讯,也支持从从通讯即S2S)

2.ethercat性能

例如某电机控制板:

性能优势

  1. 更快的循环周期,可以达到31.25us
  2. 更低的抖动,抖动时间小于0.004us
  3. 同步性能好,主站和各个从站设备可以达到远小于1us的时钟同步精度(4轴实测50ns)

可以看到,要想提升性能,需要多核异构的方式。

目前发现,只要和性能相关的,还要功能不差,基本都是多核异构的方案,FPGA负责硬件加速, 单片机型arm负责实时控制, 处理器型arm负责复杂计算及应用

3.KPA EtherCAT 主站

KPA EtherCAT 主站硬件介绍

主站硬件主要由三部分组成见图4:PC端、Zedboard主站开发板以及外扩的FMC网卡。PC通过串口终端来实现操作系统指令输入,PC端上的EtherCAT网络诊断配置工具KPA EtherCAT Studio通过RPC服务连接Zedboard主站板,可以实现对主站和从站的配置,扫描生成网络配置文件。Zedboard作为EtherCAT主站板具体可参考http://zedboard.org/product/zedboard。

硬件结构图

内部硬件结构

另外,KPA利用主站板的FPGA资源,独立外扩网卡,而不是使用主站板ARM上的网卡驱动,主站开发包中提供的Timer IP Core和NIC IPCore,利用逻辑单元PL,构建针对EtherCAT优化的MAC,提供了针对EtherCAT优化的NIC驱动,IP Core提供了Shift Sending Time设置,从端口降低有操作系统引起的数据帧抖动,从而优化了数据在收发时的抖动的问题

移植方法见:

https://www.elecfans.com/d/973353.html

4.再谈多核异构

在多核异构的工业 / 高性能嵌入式方案中,FPGA、单片机型 ARM、处理器型 ARM的分工遵循“硬件加速 + 实时控制 + 复杂计算”的核心原则,具体职责如下:

FPGA 负责

  • 高速并行数据处理(如 ADC/DAC 超高速采样、信号滤波、FFT 运算)
  • 低延迟硬件逻辑控制(如 EtherCAT 主站同步时钟、脉冲指令精准输出)
  • 高速接口协议实现(如 PCIe、10G 以太网、Camera Link 等硬核协议)
  • 异构通信桥接(FPGA 与双 ARM 间的高速数据交互、缓存同步)
  • 定制化硬件加速(如加密算法、AI 推理算子的硬件化实现,降低 CPU 负载)

单片机型 ARM 负责

  • 实时控制任务(如运动控制、伺服驱动、传感器闭环控制)
  • 外设驱动管理(如 GPIO、UART/CAN 总线、定时器等底层外设驱动)
  • 中断响应与事件处理(高优先级实时事件的快速响应,如故障报警)
  • 轻量级 RTOS 运行(如 FreeRTOS/RT-Thread,保障任务调度的实时性)
  • 与 FPGA 的协同控制(下发控制指令、读取 FPGA 处理后的实时数据)

处理器型 ARM 负责

  • 复杂应用层逻辑(如人机交互界面、参数配置、数据可视化)
  • 操作系统与协议栈运行(如 Linux/QNX,承载 TCP/IP、MQTT 等复杂协议)
  • 大数据存储与分析(如历史数据记录、故障诊断、趋势分析)
  • 跨设备互联与云对接(如物联网平台通信、远程监控、OTA 升级)
  • 多核资源调度(协调单片机型 ARM 与 FPGA 的工作,分配计算任务)

典型应用场景(如高端运动控制器)

  1. FPGA:实现 EtherCAT 主站协议与脉冲输出,完成 8 轴伺服的同步控制;
  2. 单片机型 ARM(如 STM32H7):运行 FreeRTOS,处理伺服闭环控制与传感器数据采集;
  3. 处理器型 ARM(如 NXP i.MX8):运行 Linux+Qt,提供触摸屏人机界面,同时对接云端平台。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/26 8:00:11

10、ElasticSearch操作与查询实用指南

ElasticSearch操作与查询实用指南 在数据处理和搜索领域,ElasticSearch 是一款强大且广泛使用的工具。它提供了丰富的功能,涵盖基本操作、批量处理、快速检索以及多样化的搜索查询等方面。下面将详细介绍 ElasticSearch 的一些关键功能和操作方法。 1. 基本字段操作 借助 …

作者头像 李华
网站建设 2026/3/27 4:52:16

26、Elasticsearch 集成:Java 与 Python 实践

Elasticsearch 集成:Java 与 Python 实践 1. Java 中获取聚合结果 在 Java 里,若要获取第二个聚合结果,由于结果类型为 ExtendedStats ,需按如下方式进行类型转换: ExtendedStats extStats = response.getAggregations().get("number1");接着就能访问此类…

作者头像 李华
网站建设 2026/3/25 21:51:17

Java如何结合示例代码实现大文件分片上传的步骤解析?

大文件传输系统技术方案(源码版) 作为甘肃IT行业软件公司项目负责人,我深度理解您对大文件传输系统的核心诉求:高稳定性、强兼容性、可扩展加密、无缝集成现有系统。结合贵司200项目规模与信创要求,我团队基于JSP/Spr…

作者头像 李华
网站建设 2026/3/24 12:27:51

用GPT-SoVITS做有声书生成?实测效果惊艳!

用GPT-SoVITS做有声书生成?实测效果惊艳! 在音频内容消费日益增长的今天,有声书、播客、语音课程等形态正成为人们获取信息的重要方式。然而,高质量语音内容的生产长期受限于人力成本——专业配音员录制一小时有声书动辄数千元&a…

作者头像 李华
网站建设 2026/3/28 10:22:58

二叉树理论介绍

二叉树的种类满二叉树完全二叉树满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。image.png这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的…

作者头像 李华