全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

KPA EtherCAT主站软件如何做移植测试

时间:2022-05-18 15:54

人气:

作者:admin

标签: 移植测试  ethercat  Xilinx 

导读:虹科KPA EtherCAT主站是一款协议栈产品,能够使用户快速利用EtherCAT技术的所有好处,例如实时操作、极短的循环时间、以及最低成本的最高性能。该协议栈的先进架构专注于可移植到不同...

虹科KPA EtherCAT主站是一款协议栈产品,能够使用户快速利用EtherCAT技术的所有好处,例如实时操作、极短的循环时间、以及最低成本的最高性能。该协议栈的先进架构专注于可移植到不同的操作系统,可适配到各种硬件平台、并且可通过基础(Class B)、标准(Class A)和超值包进行缩放。本篇文章将介绍虹科KPA EtherCAT主站软件如何基于Xilinx ZYNQ UltraScale+做移植测试。

# Description

开发环境

# 硬件开发板: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

备注:由于前期软件开发包是基于revision1.0的硬件以及vivado2018.3移植测试的,导致该软件包在vivado2018.3和新版本硬件移植测试出现问题,具体问题是制作完boot.bin后,上电没法启动运行;查了一下xilinx官网,说是新版本硬件需要使用vivado2019.1及其以上版本,后来在vivado 2019.1重新创建IPcore硬件工程,工程文件是zcu102_freeRTOS,重新生成bit文件(zcu102_freertosproject_1project_1.sdkdesign_1_wrapper_hw_platform_0)和fsbl.elf文件(zcu102_freertosproject_1project_1.sdkfsblRelease)覆盖软件包原路径(\externalsoot)的bit文件和fsbl.elf,问题解决;

Step1 软件安装

1. 安装KPA studio软件,Studio_v1.12.417.0_x86.zip;2. 安装基于windows的主站插件,MRT_WIN32_TRIAL_v1.6.44171.0.msi;3. 安装cmake环境,可到cmake官网下载exe安装,安装后查询到cmake版本如下:

9188caea-d2ab-11ec-bce3-dac502259ad0.png

参考《KPA Studio简易操作手册.pdf》使用EtherCAT配置软件,导出网络配置文件/ENI文件,可命名为master.xml或者其他名字,需与mkpa_config.h中命名保持一致,导出的ENI文件,格式一定要选择null-terminated格式。

91a3c2aa-d2ab-11ec-bce3-dac502259ad0.png

Step2 软件编译

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

91fdc584-d2ab-11ec-bce3-dac502259ad0.png

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

92285d12-d2ab-11ec-bce3-dac502259ad0.png

9251be00-d2ab-11ec-bce3-dac502259ad0.png

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

92749dda-d2ab-11ec-bce3-dac502259ad0.png

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

928ec6ec-d2ab-11ec-bce3-dac502259ad0.png

Step3 创建和运行boot.bin

进入mdk_a53externalsoot路径,根据readme文件以及24_DriveRotationCiA402.bif文件;

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

zcu102_freertosproject_1project_1.sdkfsblRelease下的fsbl.elf拷贝到该路径下,覆盖原来fsbl.elf文件;

拷贝uildsamples路径下生成的24_DriveRotationCiA402.elf到该路径下;

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

打开Xilinx XSCT tool进入到externalsoot路径下,生成boot.bin

92c2b1dc-d2ab-11ec-bce3-dac502259ad0.png

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

92e91746-d2ab-11ec-bce3-dac502259ad0.png

Step4 性能测试

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

9311af3a-d2ab-11ec-bce3-dac502259ad0.png

932e435c-d2ab-11ec-bce3-dac502259ad0.png

抓包方式,主站和从站直接接入第三方的抓包工具,连接方式如下示意图,可以先运行主站,待主从通讯稳定后,再进行数据抓包,这样抓出来的数据包就是pdo数据/过程数据,也可以主站启动前,开始抓包,这样就可以把整个启动过程的数据抓取出来,但是过滤时,op前的报文数据就不是我们需要分析的数据了。

935d5e62-d2ab-11ec-bce3-dac502259ad0.png

9382b572-d2ab-11ec-bce3-dac502259ad0.png

对Wireshark数据包进行针对性分析,设置时间显示格式如下:

9401d5a0-d2ab-11ec-bce3-dac502259ad0.png

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

9440e394-d2ab-11ec-bce3-dac502259ad0.png

分析周期性报文,注意到每个周期性报文包含三个子报文(逻辑寻址)以及一个DC相关的ARMW命令

94587a2c-d2ab-11ec-bce3-dac502259ad0.png

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

最小周期是999.496us

949bd984-d2ab-11ec-bce3-dac502259ad0.png

最大周期1000.536us

94cbd206-d2ab-11ec-bce3-dac502259ad0.png

结论:可以看出1ms主站周期下,基于zcu102开发板,测试出来的主站周期的抖动是ns级别,实际在500us和250us,125us条件下,抖动都是在ns级别。

原文标题:虹科干货 | 虹科KPA EtherCAT主站软件在Xilinx ZYNQ UltraScale+上移植测试

文章出处:【微信公众号:广州虹科电子科技有限公司】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信