首页 » 科学 » 「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文

「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文

乖囧猫 2024-12-27 01:14:05 0

扫一扫用手机浏览

文章目录 [+]

图片来源:虹科电子

技能背景

「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文 「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文 科学

EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发。
EtherCAT 具有高性能、低本钱、随意马虎利用等特点,目前在工业领域有着广泛的运用。

「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文 「技能干货」基于赛灵思FPGA板卡的高机能EtherCAT主站筹划_主站_报文 科学
(图片来自网络侵删)

ZCU102 评估套件可帮助设计职员快速启动面向汽车、工业、视频以及通信运用的设计。
该套件具有基于 Xilinx 16nm FinFET+ 可编程逻辑架构的 Zynq® UltraScale+™ MPSoC 器件,供应一款四核 ARM® Cortex®-A53、双核 Cortex-R5F 实时处理器以及一款 Mali™-400 MP2 图像处理单元。
ZCU102 支持所有可实现各种运用开拓的紧张外设及接口。

KPA EtherCAT 主站是一套质量稳定、有名度和性价比较高的 EtherCAT 协议栈,有较大参考代价。
本文将先容KPA EtherCAT 主站在ZCU102平台的移植与测试。

KPA EtherCAT先容

EtherCAT(以太网掌握自动化技能)是一种用于确定性以太网的高性能工业通信协议,它扩展了 IEEE 802.3 以太网标准,使得数据传输中具有可预测性定时及高精度同步等特点。
这个开放性标 准作为 IEC 61158 的组成部分,常用于机器设计及运动掌握等运用中。

01KPA EtherCAT主站软件先容

KPA EtherCAT主站软件根据功能不同,供应了Basic,Standard,Premium以及Extension四个版本主站协议栈,因此除了支持ETG1500定义了Class A和Class B两种主站类型外,KPA还支持一些拓展功能比如:Data- and Frame-Logger(记录数据和报文)、Access Rights(设置不同的访问权限)Multi Master(多主站,冗余)、Cable Redundancy (线缆冗余)、Hot-Connect(热插拔)、其他。

供应了基于多种不同硬件平台和OS的现成开拓包,支持SoC(ARM+FPGA)/ARM/X86 /PowerPC等主流硬件平台,支持Linux(Xenomai/RT-preempt)/ Windows(INtime/RTX)/ QNX/ Ucos/ Vxworks等。
险些知足目前所有用户主站开拓哀求的一款主站方案。

KPA主站协议栈采取模块化的架构,可以实现每个分外的项目运用。
它使得主站可以自由扩展以适应不同大小的运用程序、可以移植不同的操作系统和各种各样的硬件平台。
每个模块可以单独定制化或者二次开拓,而且不会毁坏其他模块的完全性。
主站构造如下图:

KPA紧张功能模块为:

(1) 运用层:运用层卖力与各种不同的编程/配置环境交互,卖力与不同的运用或设备交互。
确保在运用或过程任务端顺利访问主站功能函数;与主站通过Remote Procedure Calls做事交互,供应了TCP/IP以及UDP连接,比如:通过UDP与从站设备进行mailbox干系的通讯。

(2) Mailbox Module:EtherCAT主站核心mailbox模块利用不同的协议处理做事数据工具(SDP),数据传输以及数据交流。
支持CoE,FoE,EoE,SoE,VoE,AoE等邮箱做事。

(3) Process Image Module过程映像模块:Process Image简称PI,它的地址是由EtherCAT network information (ENI) 文件提出的,ENI文件可由配置工具KPA Studio自动天生。
从掌握/过程任务访问过程映像是由主站接口实行的。

(4) Distribution Clock分布时钟模块:使得所有的EtherCAT设备(包括主站和从站)总是能够共享相同的EtherCAT系统韶光。
这是通过补偿编译和漂移韶光来实现的。

(5) Frame Schedule Module帧调度模块:不同PDO采取不同的扫描周期。
在配置工具KPA Studio里,用户可以单独定义每个从站的扫描速率。
帧调度表模块管理EtherCAT帧速率,转发它们到EtherCAT网络驱动。

(6) OSAL操作系统抽象层模块:包含与操作系统干系的功能函数的包装,比如处理线程、计时器、互斥量等;包括网络适配驱动器模块:从底层的网络实现提取主站堆栈的core核心。

02KPA EtherCAT Master主站冗余技能

与其他基于以太网的工业接口不同,EtherCAT利用hop-to-hop通信协议: 数据报文对连接到总线的所有从设备都是通用的,并且它从一个设备通报到另一个设备。
主站是管理者,它循环地创建带有读或写要求,输入输出数据报文,并以严格的韶光间隔将其发送到总线。
每个从站设备可以插入(写入)或提取(读取)明确寻址到它的数据块。

该功能原来旨在有效地利用总线吞吐量,但对付容错也非常有用:连接到总线的任何设备都完备知道所有从站的活动,并且可以透明地获取或嗅探总线主站和从站之间传输的数据。
用户无需修正任何从站设备、添加任何其他旗子暗记或变动传输协议,并且此功能不会增加任何本钱(除了更智能的主设备)。

KPA EtherCAT Master 利用此边缘效应将另一个总线主控(或多个主控)引入总线。
在正常操作期间, 此冗余主站是被动的,能够嗅探数据但不能输入自己的报文。
被动主站被认为是次要的,而活动的主站被认为是紧张的。
由于所有赞助主站都与总线活动同等,因此当后者失落败时,它们随时可以取代紧张主站。

其余,为了检测总线上的非常情形,赞助主站可以不须要任何专用掌握设备或附加旗子暗记线。
EtherCAT报定亲期、严格地按韶光间隔进行。
当一个赞助被动主站没有收到他期望的报文时,就知道总线上已经不再有主站了。
冗余主站可以立即接管掌握,发送自己的报文而没有必要等到当前周期结束。
这个报文将是精确的和故意义的,由于赞助主站正在追踪所有的变革,成为有故障主站的更换。

启用主站冗余的EtherCAT配置包括一个活动的(主站)主设备和一个或多个被动的(赞助)主设备。
主设备可能不会配置为Master Redundancy,但最好利用 KPA EtherCAT Master软件来使该技能发挥最大的效用。
赞助主站作为影子代理连接到总线。
它嗅探传输中的数据报文而没有任何变革。
同时,该主站打算每个电报到达的韶光并跟踪预期和实际到达韶光之间的可能延迟。

03KPA EtherCAT主站硬件先容

主站硬件紧张由三部分组成见下图:ZCU102主站开拓板以及外扩的FMC网卡。
KPA MAC IPcore在PL端构建了FPGA网卡,FreeRTOS master既可以运行在R5 CPU中也可以运行在A53 CPU中,其余须要一台PC通过串口终端来实现操作系统指令输入,PC端上的EtherCAT网络诊断配置工具KPA EtherCAT Studio通过RPC做事连接ZCU102主站板,可以实现对主站和从站的配置,扫描天生网络配置文件。

KPA EtherCAT主站移植

硬件开拓板

Xilinx HW-Z1-ZCU102 revision1.1

EtherCAT主站软件开拓包

MDK_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip

HW_SAMPLE_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip

软件编译

将MDK_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip解压到mdk_a53文件夹下

进入\mdk_a53\samples路径下修正对应样例程序,此处每个不同的样例程序包含不同的API,具有不同的功能,此处以24_DriveRotationCiA402为例,这是一个大略运行单轴伺服的样例程序,为了适配迈信伺服驱动器,需保持C文件中的描述和ENI文件描述同等,修正后保存

进入\mdk_a53下,打开build.bat,修正编译器路径,路径是xilinx SDK安装路径

运行cmd,进入该路径下,运行build.bat,编译所有样例代码,包括编译24样例,在\build\samples路径下天生24_DriveRotationCiA402.elf文件

创建运行程序

进入mdk_a53\externals\boot路径,根据readme文件以及24_DriveRotationCiA402.bif文件;

拷贝zcu102_freeRTOS内vivado工程天生的design_1_wrapper.bit()文件到该路径下,覆盖原来bit文件;

拷贝zcu102_freertos\project_1\project_1.sdk\fsbl\Release下的fsbl.elf到该路径下,覆盖原来fsbl.elf文件;

拷贝\build\samples路径下天生的24_DriveRotationCiA402.elf到该路径下;

拷贝天生的ENI文件(master.xml)文件到该路径下

打开Xilinx XSCT tool进入到\externals\boot路径下,天生boot.bin

将boot.bin文件拷贝到SD卡中,设置开拓板SD卡启动,上电运行

主站性能数据

网络配置:Beckhoff EK1100+EL1004+EL2004+EL6692 (60 bytes frame)。

运行在R5 CP(x32)上测试数据:

运行在A53 CPU(x64)上测试数据:

第三方抓包工具性能剖析方法

一样平常情形下EtherCAT主站性能测试会关注主站通讯周期,circle time是否稳定,抖动多少,因此可以设置在不同的circle time,比如2ms,1ms,500us,250us,125us等条件下测试抖动,可以采取第三方的抓包工具+wireshark进行报文剖析,不同主站周期,须要修正代码以及ENI文件的circle time,此处以1ms主站周期,邮箱任务周期是5ms(主站周期的5倍)。

对Wireshark数据包进行针对性剖析,设置韶光显示格式如下

利用ecat.ado == 0x130命令,过滤出从站在第几条报文处进入op状态的,这里是33900,意味着33900前的报文不能用于剖析circle time,由于pdo数据/周期性数据只在从站进入op后才被发送。

剖析周期性报文,把稳到每个周期性报文包含三个子报文(逻辑寻址)以及一个DC干系的ARMW命令

过滤出周期性报文,利用该指令ecat.sub1.cmd == LRD && ecat.sub1.cnt == 0,过滤出子报文1为LRD且打算器值为0(表示从主站发出,未经由从站)的周期性报文,选择三角进行报文排序,可以是从小到大,或者从大到小,最小周期是999.496us。

相关文章

IT连心,构建数字时代的人本关怀

在信息技术的飞速发展的今天,我们生活在一个被数字化的世界中。在这个世界里,人与人之间的距离似乎被拉近了,却又似乎被屏幕所隔离。正是...

科学 2024-12-30 阅读0 评论0

IT铁盒蓝光,引领未来存储技术的创新力量

随着信息时代的到来,数据存储技术不断革新,存储介质也在经历着一场革命。在这其中,IT铁盒蓝光作为一种新兴的存储技术,凭借其卓越的性...

科学 2024-12-30 阅读0 评论0