基于Zynq平台的EtherCAT主站方案实现.doc

上传人:白大夫 文档编号:3416728 上传时间:2019-08-23 格式:DOC 页数:5 大小:20.50KB
返回 下载 相关 举报
基于Zynq平台的EtherCAT主站方案实现.doc_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于Zynq平台的EtherCAT主站方案实现.doc》由会员分享,可在线阅读,更多相关《基于Zynq平台的EtherCAT主站方案实现.doc(5页珍藏版)》请在三一文库上搜索。

1、基于Zynq平台的EtherCAT主站方案实现摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发。EtherCAT 具有高性能、低成本、容易使用等特点,目前在工业自动化领域有着广泛的应用。Zynq-7000 是赛灵思公司(Xilinx)推出的行业第一个全可编程 SoC 产品, 它将双核 ARM Cortex-A9 处理器,低功耗可编程逻辑以及常用的外设紧密集成在一起。ZedBoard 是基于 XC7Z020 器件的低成本开发板,此板可以运行基于 Linux,Android,WinCE 或其他嵌入式 OS/ RTOS 的设计。KPA EtherCAT 主站是一套质

2、量稳定、知名度和性价比较高的 EtherCAT 协议栈,有较大参考价值。本文将介绍 KPA EtherCAT 主站在 Zynq 平台的移植与测试。目录第一节 EtherCAT 简介第二节 KPA EtherCAT 软件包简介和使用第三节 KPA EtherCAT 主站简介和移植第四节 EtherCAT 主站程序测试第五节 EtherCAT 测试程序分析第六节 主站开发包申请试用1、EtherCAT 简介EtherCAT(以太网控制自动化技技)是一种用于确定性以太网的高性能工业通信协议,它扩展了 IEEE 802.3 以太网标准,使得数据传输中具有可预测性定时及高精度同步等特点。这个开放性标 准

3、作为 IEC 61158 的组成部分,常用于机械设计及运动控制等应用中。EtherCAT 采用标准的 IEEE802-3 以太网帧,帧结构如图 1。EtherCAT 协议直接用标准以太网的帧格式传输数据,并不修改其基本结构。EtherCAT 实现了 CANopen 协议,在 CANopen 中周期性的数据通过 PDO(过程数据对象)来传输,PDO 优先级较高,可用于实时传输。非周期性的数据比如配置参数和对象字典等则通过 SDO(服务数据对象)来传输。每个 PDO 都包含单个或多个从设备的地址,这种数据加地址的结构(附带用于校验的传输计数位)组成了 EtherCAT 的报文。每个 Etherne

4、t 帧可能包含数个报文,而一个周期中可能需要多帧来传送所需的所有报文。传统的以太网通信解决方案从站先接受以太网数据包,然后解释和复制过程数据,最后转发数据。而EtherCAT 以太网帧在特殊的硬件模块的帮助下可以实现在传输的同时被处理。每个从节点都有 FMMU(现场总线存储管理单元),FMMU 会对经过的数据包进行地址分析,发现是本节点的 数据就会读取,同时报文转发给下一个设备。同样在报文通过的时候也可以插入需要传输的数据。读取/插入/转发数据的整个过程,报文只有几纳秒的延迟。如图 2 所示,设想以太网的帧就像行驶中的火车,EtherCAT 报文是每节火车车厢,PDO 数据的比特就是车厢内的乘

5、客,这些数据可以被提取并插入到合适的从设备中。整辆火车不停止地穿越所有从设备,在末端从设备处又掉头,重新反向穿越所有从设备。(注:EtherCAT不仅支持主从通讯,也支持从从通讯即S2S)2.KPAEtherCAT主站软件介绍KPA EtherCAT主站软件根据功能不同,提供了Basic,Standard,Premium以及Extension四个版本主站协议栈,因此除了支持ETG1500定义了Class A和Class B两种主站类型外,KPA还支持一些拓展功能比如:Data- and Frame-Logger(记录数据和报文)、Access Rights(设置不同的访问权限)MulTI Ma

6、ster(多主站,冗余)、Cable Redundancy (线缆冗余)、Hot-Connect(热插拔)、其他。提供了基于多种不同硬件平台和OS的现成开发包,支持SoC(ARM+FPGA)/ARM/X86 /PowerPC等主流硬件平台,支持Linux(Xenomai/RT-preempt)/ Windows(INTIme/RTX)/ QNX/ Ucos/ Vxworks等。几乎满足目前所有用户主站开发要求的一款主站方案。KPA主站协议栈采用模块化的架构,可以实现每个特殊的项目应用。它使得主站可以自由扩展以适应不同大小的应用程序、可以移植不同的操作系统和各种各样的硬件平台。每个模块可以单独定

7、制化或者二次开发,而且不会破坏其他模块的完整性。主站结构如图3KPA主要功能模块为:1) 应用层:应用层负责与各种不同的编程/配置环境交互,负责与不同的应用或设备交互。确保在应用或过程任务端顺利访问主站功能函数;与主站通过Remote Procedure Calls服务交互,提供了TCP/IP以及UDP连接,比如:通过UDP与从站设备进行mailbox相关的通讯。2) Mailbox Module:EtherCAT主站核心mailbox模块利用不同的协议处理服务数据对象(SDP),数据传输以及数据交换。支持CoE,FoE,EoE,SoE,VoE,AoE等邮箱服务。3) Process Imag

8、e Module过程映像模块:Process Image简称PI,它的地址是由EtherCAT network informaTIon (ENI) 文件提出的,ENI文件可由配置工具KPA Studio自动生成。从控制/过程任务访问过程映像是由主站接口执行的。4) DistribuTIon Clock分布时钟模块:使得所有的EtherCAT设备(包括主站和从站)总是能够共享相同的EtherCAT系统时间。这是通过补偿编译和漂移时间来实现的。5) Frame Schedule Module帧调度模块:不同PDO采用不同的扫描周期。在配置工具KPA Studio里,用户可以单独定义每个从站的扫描速

9、率。帧调度表模块管理EtherCAT帧速率,转发它们到EtherCAT网络驱动。6) OSAL操作系统抽象层模块:包含与操作系统相关的功能函数的包装,比如处理线程、计时器、互斥量等;包括网络适配驱动器模块:从底层的网络实现提取主站堆栈的core核心2.2KPA EtherCAT 主站硬件介绍主站硬件主要由三部分组成见图4:PC端、Zedboard主站开发板以及外扩的FMC网卡。PC通过串口终端来实现操作系统指令输入,PC端上的EtherCAT网络诊断配置工具KPA EtherCAT Studio通过RPC服务连接Zedboard主站板,可以实现对主站和从站的配置,扫描生成网络配置文件。Zedb

10、oard作为EtherCAT主站板具体可参考 。另外,KPA利用主站板的FPGA资源,独立外扩网卡,而不是使用主站板ARM上的网卡驱动,主站开发包中提供的Timer IP Core和NIC IPCore,利用逻辑单元PL,构建针对EtherCAT优化的MAC,提供了针对EtherCAT优化的NIC驱动,IP Core提供了Shift Sending Time设置,从端口降低有操作系统引起的数据帧抖动,从而优化了数据在收发时的抖动的问题。、KPA EtherCAT 主站移植本方案基于Zynq平台的EtherCAT主站实现,系统采用改进后的实时linux系统,即在标准的linux操作系统内核中嵌套

11、进一个微小、实时内核,改造成具有双内核的异构系统,所有实时任务都运行在微内核上,非实时的Linux 则作为实时内核的一项优先级最低的任务来托管所有的非实时任务,采用Linux3.8.13和Xenomai2.6.3,下面介绍怎么搭建Zedboard主站。3.1Vivado 与 Xilinx SDK 工具安装我们主要用到SDK里的交叉编译器,以及用它来生成FSBL与BOOT.BIN文件。我分别在ubuntu和windows上都安装了xilinx的SDK。其中windows上的xilinx SDK不需要单独安装,等在安装Vivado的时候勾选下就可以了。 Ubuntu上的xilinx SDK安装文件

12、网址是3.2Vivado 的下载安装Vivado主要是用来配置xilinx的FPGA外设的,后面生成bitstream文件时需要用,以及我们更改SOC里的外设引脚配置以及配置管脚等等时是需要用到。Vivado的下载地址3.3给 Linux 内核代码打 Xenomai 实时补丁zedboard上运行的linux内核可不是普通的linux内核源码,而是打了xenomai补丁的实时嵌入式操作系统。需要先给linux源码打上xenomai补丁后方可编译Linux源码下载: https:/github/Xilinx/linux-xlnx.gitXenomai安装包下载:给linux内核代码打xenomai实时补丁,可以参看xilinx的官方文档Xenomai for Zynq: +for+Zynq3.4Linux 内核编译当xenomai补丁打好后,即可开始编译linux内核具体的ubuntu编译方法和编译kernel大同小异,可以参考这篇文章: +U-Boot3.5下载源代码Uboot的源码下载地址是: https:/github/Xilinx/u-boot-xlnx.git

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1