企业号介绍

全部
  • 全部
  • 产品
  • 方案
  • 文章
  • 资料
  • 企业

虹科工业通讯

138内容数 10k浏览量 12粉丝

我们以技术与专业立身,为国内客户提供业内顶尖水平的工业总线协议软硬件产品及解决方案。

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

05-13 28浏览量

 

 

虹科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_freertos\project_1\project_1.sdk\design_1_wrapper_hw_platform_0)和fsbl.elf文件(zcu102_freertos\project_1\project_1.sdk\fsbl\Release)覆盖软件包原路径(\\externals\boot)的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版本如下:参考《KPA Studio简易操作手册.pdf》使用EtherCAT配置软件,导出网络配置文件/ENI文件,可命名为master.xml或者其他名字,需与mkpa_config.h中命名保持一致,导出的ENI文件,格式一定要选择null-terminated格式。

Step2 软件编译

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文件

Step3 创建和运行boot.bin

进入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卡启动,上电运行

Step4 性能测试

 

一般情况下EtherCAT主站性能测试会关注主站通讯周期,circle time是否稳定,抖动多少,因此可以设置在不同的circle time,比如2ms,1ms,500us,250us,125us等条件下测试抖动,可以采用第三方的抓包工具+wireshark进行报文分析,不同主站周期,需要修改代码以及ENI文件的circle time,此处以1ms主站周期,邮箱任务周期是5ms(主站周期的5倍)抓包方式,主站和从站直接接入第三方的抓包工具,连接方式如下示意图,可以先运行主站,待主从通讯稳定后,再进行数据抓包,这样抓出来的数据包就是pdo数据/过程数据,也可以主站启动前,开始抓包,这样就可以把整个启动过程的数据抓取出来,但是过滤时,op前的报文数据就不是我们需要分析的数据了。

对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

最大周期1000.536us

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

 

最近浏览过的用户(0查看全部

为你推荐

  • 虹科干货 | 虹科Automation softPLC入门操作指南(5)——项目自动化2022-06-24 00:22

    虹科KPAAutomationsoftPLC虹科KPAAutomationsoftPLC是为Linux、Xenomai、INtime、Windows等实时操作系统开发PLC的编程环境,十分适合需要使用IEC61131-3和PLCopen标准的控制技术和进行PLC编程的用户。本篇文章将介绍如何在虹科KPAAutomationsoftPLC中通过编写自动化脚本来
    13浏览量
  • 使用虹科port的GOAL中间件和RENESAS RZ/T2M推动实现下一代工厂自动化2022-06-22 00:28

    背景当今的工业自动化需要更快、更精确的电机控制,以及通过下一代工业以太网进行及时和无缝的通信,其中包括PROFINET-RT、EtherNet/IP、EtherCAT、POWERLINK、OPCUA和TSN时间敏感网络的PROFINETCC-D/CC-LinkIETSN等。虹科的合作伙伴port推出的GOAL中间件与支持TSN的新一代RENESASRZ/T2
    9浏览量
  • 虹科干货 | 如何测试与验证复杂的FPGA设计(3)——硬件测试2022-06-18 00:23

    仿真和验证是开发任何高质量的基于FPGA的RTL编码过程的基础。在前文中,我们介绍了面向实体/块的仿真,并介绍了如何在虹科的IP核中执行面向全局的仿真。前文回顾虹科干货|如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真虹科干货|如何测证复杂的FPGA设计(2)——如何在虹科的IP核中执行面向全局的仿真尽管扩展的仿真计划提供了良好的可信度,但仍有许
    28浏览量
  • 测试与验证复杂的FPGA设计(2)——如何在虹科的IP核中执行面向全局的仿真2022-06-15 00:22

    仿真和验证是开发任何高质量的基于FPGA的RTL编码过程的基础。在上一篇文章中,我们介绍了面向实体/块的仿真,即通过在每个输入信号上生成激励并验证RTL代码行为是否符合预期,对构成每个IP核的不同模块进行实体/块的仿真。前文回顾如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真在本篇文章中,我们将介绍如何在虹科IP核中执行面向全局的仿真,而这也是测
    7浏览量
  • 虹科干货|对于802.1CB协议,不同建模时的保护能力建模仿真分析2022-06-10 00:24

    点击蓝字关注我们前情提要THELATESTINFORMATION对于802.1CB协议,不同建模时的保护能力建模仿真分析测试冗余网络的配置;IEEE802.1CB是TSN标准中的无缝冗余协议,保证丢失帧时的恢复时间为零;下面在各种拓扑中对CB进行建模,并在网络中的不同位置使用CB功能,因此可以量化这些差异;对软错误进行建模仿真。01模型和分析模型一4个CB交
    13浏览量
  • 虹科干货 | 如何测试与验证复杂的FPGA设计(1)——面向实体或块的仿真2022-06-10 00:22

    IP核的开发过程中,面临着许多关键技术,比如IP核的规格定义、基于接口的设计、IP核测试存取结构标准、IP核的验证与打包等。对于IP核的验证,主要是建立参照模型和测试平台,然后进行回归测试和形式验证。这里参照的模型主要用于对系统功能进行验证以及和RTL模型的对照验证,该模型主要用VerilogHDL等语言来构造。测试平台的建立与子模块设计并行,搭建验证环境和
    12浏览量
  • 【虹科】带您了解PCAN如何获取驱动以及如何接线2022-06-08 14:03

    在使用PCAN时你是否有过这样的疑问:PCAN的驱动是如何获取的?它又是怎么接线的呢?下面这篇文章告诉你答案。PCAN驱动如何获取1PCAN的win10系统最新驱动和linux系统最新驱动都可以在我们的虹科PEAK中文官网下载到,您可以点击文末“阅读原文”进入官网。如果您PCAN用的是win7系统,那么您可以联系虹科的技术人员:13600024307(同微信
    7浏览量
  • 虹科干货 | 带你全面了解“CAN总线错误”(四)——在实践中生成和记录CAN错误2022-06-08 14:00

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。在之前发布的文章中,我们介绍了CAN错误和错误处理的理论基础,而在本篇文章中,我们将在实践中生成和记录错误。
    CAN
    40浏览量
  • CAN总线通讯出错?检查您的采样点是否设置正确2022-06-03 00:30

    1.CAN网络简介CAN的中文是控制局域网(ControllerAreaNetwork),与1986年由德国Bosch公司为汽车开发的网络技术,主要用于汽车的检测和控制,目的是为了适应汽车“减少线束数量”和“通过多个网络进行大量数据的高速传输”的需求。2.CAN网络特点CAN网络的特点主要有以下几点:节点之间采用多主通信的方式采用短帧结构,数据帧为8个字节,
    CAN
    20浏览量
  • 虹科干货 | 带你全面了解“CAN总线错误”(三)——CAN节点状态与错误计数器2022-06-03 00:28

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线错误的基础概念、CAN总线错误的类型、CAN错误帧和CAN节点错误状态,并通过实际的应用测试生成并记录CAN错误。前文回顾虹科干货|带你全面认识“CAN总线错误”(一)——CAN总线错误与错误帧虹科干货|带你全面认识“CA
    CAN
    23浏览量
  • 虹科方案——基于PCAN的全自动核酸提取仪解决方案2021-12-31 15:10

    虹科在新冠期间协助全自动核酸提取仪厂家进行研发,复工、复产,还支持了多家科研单位针对新型冠状病毒的检测研究,虹科产品在医疗设备行业展示着自己的优势。广州虹科电子科技有限公司作为PCAN硬件的提供商,支持该司研发了基于PCAN硬件的全自动核酸提取仪,解决核酸检测设备供不应求问题。