当前位置:首页 >> 信息与通信 >>

EtherCAT伺服驱动器开发方案


EtherCAT 伺服驱动器开发方案
广州虹科电子科技有限公司 陈秋苑 support@hkaco.com 摘要: 本文重点介绍 EtherCAT 伺服驱动器开发中的硬件选型指导(FPGA 方案)。一共有三节内容:包括第一 节:EtherCAT 从站开发涉及的基本概念,包括 FMMU,ESC,ESI 等等;第二节:如何选择硬件方案(以 EtherCAT 伺服驱动器为例,

包括三个主流方案以及对比方案);第三节:如何选择软件代码(代码框架、 主要功能和要求)。

第一节 EtherCAT 基本概念 EtherCAT 一般设计要求(针对 uC+ESC 的方案) : 硬件上:主控制器 uC+ESC(可选各供应商的 EtherCAT 从站控制器) 操作系统:无特殊要求,根据产品性能决定,也可以不用操作系统 软件上:需要完成主控制器 uC 对 EtherCAT 报文的处理,ESC 一般带开发包可完成移植。 难点:如何实现 uC 与 ESC 之间的数据交互,可以通过商业版代码直接移植。

EtherCAT 一般设计要求(针对 FPGA+IPcore 的方案) : 软核 IPcore:从倍福买的是一种封装好的黑盒子的协议语言的东西-是软体,购买后(一年之内可以随便 编译和下载),它可以帮助用户去解析以太网来的数据并处理成 EtherCAT 的机制。 用户拿到后所需要做的事情是在 FPGA 上分出一块逻辑资源给它创建一个 IPcore, 然后这个区域可以对接 收到的 EtherCAT 数据进行解析,然后传给相应的 uC 软核或者硬核(因为有些客户可能会用 DSP+FPGA 的方案)去做响应和 application。如果没有 IPcore,只依赖于 FPGA 上是没法进行 EtherCAT 解析的, 说白了是因为我们不懂规则,不知道怎么处理这些数据,所以 IPcore 相当于就是一个解析规则和语言规 定的规则。用户在 FPGA 分好 IPcore 的资源后,用安装了倍福授权的那个电脑可以把这套黑盒子的语言 规则加进来编译,随之生成的编译文件可以发给其他电脑用来下载到固件并完成生产。所以,这个 FPGA 中的 IPcore 区域就相当于是一个完成了一个硬件 ET1100 的工作。 华南理工大学国家科技园 北京 上海 广州 西安

IPcore 好处是:一年之内可以随便在不同的 FPGA 上编译和修改,也可以随便生产任意数量,还不需要受 到 ESC 等硬件货期限制。一年之后如果不需要重新编译和升级的话, 那就继续用之前编译好的文件继续下 载和生产,生产多少个都可以,但是如果需要重新编译则需要付费(因为之前倍福给的那个 license 是绑 定电脑系统时间的,是一年有效的)。--注:关于 IPcore 的授权和售价以倍福为准,这里只提供参考。

KPA 的 EtherCAT 从站源代码在这个过程中的作用是:帮 FPGA 中的软核 uC 或者除了 FPGA 外的硬核 uC 去处理从 IPcore 解析出来的 EtherCAT 数据。

一般从站包括以下三个核心部分: 物理层:要有网口 数据链路层:有 EtherCAT 从站控制器 ESC(这是通讯模块)和 EEPROM。 应用层:有主控制器或者说应用控制器或微控制器 uC(即比如 DSP28346 或者 F407 之类的)。

对供应商的要求: 提供高质量的源代码(代码效率高、EtherCAT 性能优化) 提供至少一个硬件平台的 demo 提供完整的 EtherCAT 网络诊断和配置工具:以便测试等

华南理工大学国家科技园

北京 上海 广州 西安

ESC 即 EtherCAT 从站控制器可以通过 FPGA(Field Programmable Gate Array)或者 ASIC (Application Specific Integrated Circuit)来完成。

EtherCAT 的报文帧结构:

华南理工大学国家科技园

北京 上海 广州 西安

ESC 即 EtherCAT 从站控制器可以通过 FPGA(Field Programmable Gate Array)或者 ASIC (Application Specific Integrated Circuit)来完成。 EtherCAT 通讯的速度和性能 与 主控制器(比如 DSP28346)软件程序的性能 互不影响。

关于 PDI:ESC 上的 PDI- Process Data Interface 过程数据接口有这几种情况: i. Up to 32 Bit digital I/O :32 位的数字量 IO ii. Serial Peripheral Interface (SPI) :SPI 总线 iii. 8/16-bit synchronous/asynchronous Microcontroller Interface (MCI) :8/16 位的同步/异步微控 制器接口 MCI iv. With FPGA: specific on-board-bus (Avalon on Altera devices resp. OPB on Xilinx devices) :带 FPGA 的:特定的 on-board-bus

过程数据和参数是通过 ESC 上的 DPRAM 来交互的。为了保证数据的一致性,ESC 硬件上会有一些机制: 比如同步管理器等。

关于 IP 核:从站 IP 核也是属于 ESC 的一种形态,也相当于是 ESC 的一种,可以理解为 IP 核只是替代了

ET1100/ET1200。IP 核的功能还是实现了一个从站控制器,处理数据链路,同步事件等硬件事件。就算 使用了 IP 核来实现 ESC,这也仅仅实现了硬件的接口功能,软件协议并没有加载。还是需要 KPA 协议栈 来完成从站协议。

关于 FPGA:为了实现 FPGA,ESC 会用 IP Core 的方式实现 EtherCAT 功能和通讯。 FMMUs(Fieldbus Memory Management Units 现场总线内存管理单元),SyncManagers, DC support, PDI 这几个功能 是可以配置的。

华南理工大学国家科技园

北京 上海 广州 西安

FPGA 实现方式有两种:一个是在 FPGA 上集成 ESC 和一个软核 uC,然后用 FPGA 的板上总线与主控制 器交互。另外一个方式是:FPGA 只用于 EtherCAT 功能部分,然后通过 SPI 总线连接到外部的主控制器。

关于 EEPROM 也叫 SII : (Electrically Erasable Programmable Read-Only Memory, also called Slave Information Interface, SII),它包含在上电后会自动加载到 ESC 寄存器的配置信息。EEPROM 可以通过 ESI 文件的配置工具修改。EEPROM 的内容必须在从站设备厂家再研发时就设置好。下图时 EEPROM 的寄存 器的值.

华南理工大学国家科技园

北京 上海 广州 西安

关于应用层的主控制器uC:
主控制器主要实现: i. EtherCAT State Machine (ESM) in the slave device (chapter 1.3.7) :从站设备的EtherCAT状态机ESM ii. Process data exchange with the slave application (e.g. application and configuration parameters, object dictionary, chapter 2.3.6) :过程数据交互(配置参数,对象字典等) iii. Mailbox-based protocols for acyclic data exchange (CoE, EoE, FoE, chapter 1.3.6):非周期数据交互的邮 箱协议:CoE, EoE, FoE iv. Optional TCP/IP stack if the device supports EoE :可选的TCP/IP堆栈(前提是设备支持EoE) uC 的性能只取决于设备功能应用部分而非 EtherCAT 通讯部分,大部分情况下,8bit 的 uC 或者 PIC 就够 了。 (想表达的是:EtherCAT 通讯是不会影响性能的,EtherCAT 协议的一个好处) 关于 ESI(EtherCAT Slave Information): 每个 EtherCAT 设备都必须随货给用户一个 ESI 文件,一般是.xml 格式。ESI 文件是配置工具在离线模式下用来编译网络信息 ENI 的(比如过程数据结构,同步命令等) 关于 ESC 的 EtherCAT 接口: ESC 最多只能提供 4 个 EtherCAT 接口, 端口 0 必须定义为输入口。 从站必须提供至少 2 个 EtehrCAT 接口。 为了避免有些从站只有 2 个接口的, 所以配合使用的 ESC 上的端口 0 和 1 必须使用, 端口 3 和 4 可以保留。 ESC 总是通过端口 0 与主站相连的,与其他从站设备则通过端口 1-3 来连接。

关于 FMMU:现场总线内存管理单元: 用于映射主站的逻辑过程数据映像和从站设备的物理层(本地)内存。 从下图看来:这个 FMMU 就是为了从主站发出去的一条报文中找到属于自己从站需要的那条。

华南理工大学国家科技园

北京 上海 广州 西安

关于同步管理器:SyncManager 不管是 EtherCAT 主站还是从站主控制器 PDI 去读取 ESC 的 DPRAM,这个 DPRAM 的访问都需要确认数 据一致性。同步管理器就是一个用来确保 DPRAM 中过程数据能被访问的机制:不同时间访问,但是访问 到的是一致的。 如果从站使用 FMMU,对应数据块的同步管理器位于 DPRAM 与 FMMU 之间。EtherCAT 的同步管理器可 以在两种模式下操作: 邮箱模式: 数据交互采用的是握手机制。EtherCAT 主站和 uC 的控制程序只有在对方已经访问完缓冲区的时候才能继 续访问。发送方在写入缓冲区的时候,缓冲区被锁定 for writing 直到接收方已经全部读完。邮箱模块一般 用于应用程协议和非周期数据的交互(比如参数设置)

华南理工大学国家科技园

北京 上海 广州 西安

缓冲模式: 缓冲模式一般用于周期性数据交互,比如过程数据,因为缓冲模式允许任何时候 EtherCAT 主站和从站主 控制器 uC 都可以访问通讯缓冲区。发送方总是可以更新缓冲区的内容。如果缓冲区被写入的数据快于接 收方去读取的速度,则旧的数据就会被丢掉。因此,接收方永远都是收到最新的而且与缓冲区内容一致的 数据。 注意:同步管理器如果工作在缓冲模式下,则需要比分配在 DPRAM 中的过程数据大小大三倍。

华南理工大学国家科技园

北京 上海 广州 西安

第二节 如何选择硬件 拿 EtherCAT 伺服驱动器作为从站硬件举例,EtherCAT 伺服驱动器的开发方案有多重选项: (1)纯总线驱动器,不带脉冲、模拟量、液晶等外设。所有指令和操作全部通过 EtherCAT。可以使用的 方案为:ESC+DSP,FPGA(IP 核)+DSP 或单 FPGA(软核/硬核+IP)。KPA 从站协议加载在 DSP、软 核或者硬核上,难度在于 FPGA 的 IP 核与软核技术、FPGA 内部高速总线的应用和调试。 (2)总线+传统驱动器。总线+传统驱动器。同时支持 EtherCAT 和传统的脉冲、模拟量等。可以使用的方 案为:ESC+DSP+FPGA(CPLD),FPGA(IP 核)+DSP。 不管哪种 EtherCAT 伺服驱动器,几个比较重要的方案对比如下 (只是列出常见情况):
KPA 从站协议的作用:使得微控制器(DSP、软核 uBlazer、ARM 硬核)能够处理 ESC 中的数据,完成交互,以及根据 EtherCAT 的运行机制来处理相关事件和过程数据的读写。 器件方案 ESC+DSP+FPGA (或 CPLD) FPGA(IP 核)+DSP 只有 FPGA(IP 核)

与非总线伺 服驱动器的 对比

相当于再传统的伺服驱动器 上加了一个 ESC 而已。

FPGA 比传统的驱动器多加载了一个 IP 核,用于完成 EtherCAT 通讯。

高效低成本的模式:FPGA 加载 IP 核,完成 EtherCAT、数据交互和 处理、运动控制算法处理等。 也有两种选择:一类是纯 FPGA, 一 类 是 SoC 器 件 ( FPGA+A9 ARM)。

KPA 协议栈 移植的关系

KPA 代码直接移植到 DSP: DSP 直 接 从 ESC 拿 一 些 EtherCAT 数据,ESC 自动完 成数据采集,不需要对 ESC 做额外的开发。DSP 与 ESC 之间通过 SPI/并口等方式连 接。

1、KPA 代码移植到 DSP:DSP 去拿 FPGA 软核的 EtherCAT 数据; 2、KPA 代码移植到 FPGA 软核(KPA 有 uBlazer 的样机代码) : 比如: FPGA 上加载 IP 核,内建一个 uBlazer 的 32 位处理器称为软核,软核上跑 KPA 从 站协议栈。 DSP 通过 SPI/ 并口访问 uBlazer 处理出来的 PDO 和 SDO 数 据。

KPA 代码加载在内建的软核 (比如 xilinx 的 uBlazer)或者硬核(比 如 xilinx 的 zynq) (KPA 有 uBlazer 的 demo+国内团队正在开发的基 于 zynq 的 demo): 即 FPGA 上集成 ESC 和一个软核 uC,然后用 FPGA 的片内总线与 主控制器交互。 FPGA 完成了:EtherCAT 数据处 理、运动控制算法、外设管理、IO 运算等等全部工作。

FPGA 的 工 作量

FPGA 还是做传统的工作: 管 理外设,IO 数据处理等。 (CPLD 任然适用)

FPGA 加载 IP 核,除了传统工作量,还 包括了通过加载的 IP 核实现 EtherCAT 数据的采集和发送,相当于 FPGA 完成 了 ESC 的功能+管理了需要的外设+IO 数据处理等(CPLD 将不再适用,需要 25k 以上逻辑容量的 FPGA)

性价比评估

成本相对最高,开发难度小。 成本较低,开发难度适中。 现阶段的主流方案。 只是需要考虑 DSP 与 ESC 之 间的数据交互就可以。 最近比较流行,估计未来比较受欢迎。 多了 IP 核的开发难度。

性价比最高, 难度最大, 性能最佳: 如果是纯 FPGA,难度在于,(1) 调试从站 IP,(2)调试 uBlazer 软核(kPA 从站协议加载于此), (3)用 uBlazer 或 FPGA 实现 FOC 等算法。 如果使用 SOC, 调试 uBlazer 的工

华南理工大学国家科技园

北京 上海 广州 西安

作变成了调试 ARM A9, 算法可以 用 ARM 或 fpga 实现,KPA 从站 协议加载在 ARM EtherCAT 相关的器件 费用 器件最多, 器件成本最高 (当 然也还有其他外围器件, 比如 phy 等); 有些 ESC 有购买门槛,比如 ET1100/ET1200 必须是 ETG 会员,而且货期可能在 4-6 个月; 每个产品都需要购买 ESC 重要概念: 关于 IP 核:从站 IP 核也是属于 ESC 的一种形态,也相当于是 ESC 的一种,可以理解为 IP 核只是替代了 ET1100/ET1200。 IP 核的功能还是实现了一个从站控制器,处理数据链路,同步事件等硬件事件。就算使用了 IP 核来实现 ESC,这也仅仅实 现了硬件的接口功能,软件协议并没有加载。还是需要 KPA 协议栈来完成从站协议。 IP 核目前一般是只有倍福有, 收费方式 是前期付一次性的较高的 开发费用, 后期每年收年费, 没有货期影响(具体收 费方式请以倍福为准)。 生产的硬件数量 不受限制。 器件最少,器件成本最低。 IP 核同左。

关于 FPGA:为了实现 FPGA,ESC 会用 IP Core 的方式实现 EtherCAT 功能和通讯。 FMMUs(Fieldbus Memory
Management Units 现场总线内存管理单元),SyncManagers, DC support, PDI 这几个功能是可以配置的。 FPGA 实现方式有两种:一个是在 FPGA 上集成 ESC 和一个软核 uC,然后用 FPGA 的片内总线与主控制器交互。另外一个 方式是:FPGA 只用于 EtherCAT 功能部分,然后通过 SPI/并口总线连接到外部的主控制器。FPGA 硬核是指比如 Xilinx 的 ZYNQ。 总结:DSP,ARM,甚至是 51、AVR 等单片机,都属于μC,由μC+ESC 构成的从站属于复杂从站(或者说处理纯 IO 以外 的从站都属于复杂从站)。μC 与 ESC 进行交互,须履行从站协议,才能通过 PDI 接口从 ESC 中读取到相关的数据。 一般来说,任何的从站开发过程都和 EtherCAT 数据帧没有关系了,这个工作是 ESC 去做的。对于从站开发,只需要在 一个μC 上加载从站协议,并做好μC 与 ESC 之间的通信机制的适配(如并口/SPI)。不管这个 ESC 是真实的 ESC 器件,还 是 IP 核。

华南理工大学国家科技园

北京 上海 广州 西安

第三节 如何选择软件代码? 应用程序的设计可以参考免费样本代码或者商业版代码。商业版代码是收费的,免费代码功能较少但是免 费。 目前免费代码面临的状态: a) 目前从站协议栈提供了匮乏的API 以及没有深入的支持。其结果是一个平坦的学习过程。 b) 对象字典要求多次迭代,每个ESI 和SII 文件都需要进行适配。需要手动进行同步。 c) 有时协议栈需要一个操作系统,但是一个操作系统的抽象层没有被提供。 工程师需求: 强大的 API、一个能够保持所有文件一致的工具和一个抽象层;有丰富开发经验的技术支持团队 商业版代码能做到哪些呢? (1)商业版代码是用于加速从站开发的一个工具。主要特性是将一堆的功能代码整合成API,用户根据需 要的功能调用相关的API即可。用于在微控制器、DSP 或FPGA上运行。 (2)完善的技术支持以及一年的一致性认证指导 (3)KPA方便的对比SII和ESI,也就是xml的描述和本地EEPROM里的描述对比 (4)调试、诊断工具:KPA Studio,用于研发、测试、调试使用。主要体现在完善的诊断信息、数据记 录(采集记录从站变量数据)、寄存器查看。 (5)SII 编辑器用来编辑从站的SII 并与ESI 相一致的进行保存。从ESI、二进制文件或从站中读取从站 信息。将SII 数据保存为二进制文件或载入到从站。ESI 与SII 比较器能够从一个从站或者提供的文件中 直接捕获SII 内容并对比区别,然后以用户定义的颜色进行高亮显示 c) 完成了硬件平台的适配(x86、ppc、ARM),与确认的操作系统,如:Xenomal 用户/内核空间 商业版代码授权方式: 注册单位内部使用,可重复使用,不限开发人员,仅限注册单位内部。一次性买断。 如果使用免费样本代码,可以说设计一个简单从站是比较容易的,但是要做一个伺服驱动这样一个复杂从 站是有一定难度的。 考察商业版代码的重要特性: ? 代码占用空间多大?KPA支持8位和16位微控制器, 比如:SAB 80x16x (Infineon), ARM 3.9 (ARM), ATmega128 (Atmel), ppc 52xx, MPC8536 (Freescale), MicroBlaze (Xilinx), Sitara (TI) 代码空间大小依赖于Object Dictionary对象字典和Process Image过程映像的大小: – ROM (flash) size >= 64kB Standard (55kB Basic) – RAM size >= 8kB Standard (3kB Basic) ? Operating System Abstraction–采用操作系统抽象层技术,便于移植到不同操作系统 北京 上海 广州 西安

华南理工大学国家科技园

?

使用来自于ROM/flash内存/ ECS’s EEPROM的标准xml文件或者用户自定义的对象字典描述数据, 生 成或改变对象字典的运行时间(runtime)

? ? ?

动态跟踪代码执行情况,提高调试和诊断效率 设置过程映像交互的不同扫描速率 支持虚拟NIC(另选项)

一般商业版代码的框架结构:

最后,对商业版代码与免费样本代码做个简单的对比:

Feature
支持的输入 /输出 SM数量 过程镜像处理 对象字典创建 对象与变量绑定 无限制

商业版(以KPA为例)

免费样本代码
在样例中只支持一个输入和输出 SM 过程镜像必须在应用中进行处理 在应用代码中创建 一个对象不能由一些不同的变量组 成 —仅有一个指针能绑定整个对 象 (如, 对象条目的所有变量结构) 不支持对象的最大、最小和默认值 只有固定映射可以在样例应用中实 现 邮箱储存残片不被支持用于对象和 条目描述 一些从站的功能必须要在应用中实 现(如:过程镜像处理) SDO和状态变换事件的代码处理 必须包含在从站协议源码中 北京 上海 广州 西安

过程镜像和对象的数据交换API功能 (通常调 用一个功能就足够) 在应用代码中创建或从一个 OD.xml文件中 装载(标准形式) 每个对象条目都可以和独立的变量进行保定 (通过其指针) 支持所有参数,该过程在协议栈中完成 用户在固定和非固定映射之间没有区别 在协议栈中完全支持 对于常规的从站应用,调用一点点 API功能 就足够了 SDO回调函数和状态变换事件都被支持,并 且可以在运行过程中设置或移除

CoE对象参数 灵活映射 CoE SDO处理 从站协议的易操作性 SDO和状态变换事件

华南理工大学国家科技园

Feature
从站协议库

商业版(以KPA为例)
操作系统抽象层( OSAL)使用了一系列功 能—一个静态库可以作为一个协议的独立部 分来根据平台创建 --生成和导出xml文件 --配置采样率 --主站和从站配置 --网络诊断和故障原因分析 --数据、报文帧记录 --其他 --安装在windows操作系统,用于模拟 EtherCAT主站,可以与其他EtherCAT 从站设备实现通讯 如STM32等

免费样本代码
使用定义(#define,#ifdef…)来 适配平台。平台与独立的协议不能 独立作为一个库没有OSAL NO

网络配置/诊断软件

主站仿真

NO

赠送一个MCU平台的 demo:

NO

其他基本要求: 1.完全支持CoE,包括EMCY紧急报文;2.支持动态PDO映射; 3. SDO完全支持SDO,特别是SDO Expedited Transfer,SDO段传输等 4.含对应的工具生成ESI文件并修改ESI文件;5.通过OD.xml创建对象字典 6.完整的分布时钟功能;7.提供至少一个已经测试过的硬件平台的demo 国内成熟经验: 28335+ET1100、 STM32F103+ET1100、 STM32F205+ET1100、 STM32F103+LAN9252、 STM32F103+IP Core,2016 Q1完成的FPGA(IPcore)-。倍福的IPcore FPGA方案支持Xilinx以及Altera。

华南理工大学国家科技园

北京 上海 广州 西安


相关文章:
伺服驱动器发展趋势
伺服驱动器发展趋势_机械/仪表_工程科技_专业资料。2013 年机器人专用高精度交流...(如安川,松下,伦茨等主流伺服厂商以将 EtherCAt 总线作为下一代产品的总线标准)...
全数字交流伺服驱动器立项报告
全数字交流伺服驱动器立项报告 全数字交流伺服驱动器...我们还看到Beckhoff的 EtherCAT, B&R 的PowerLink, ...为印刷业服务革命带来了最佳解决方案, 目前欧洲50%的...
Ethercat驱动器开发任务书
EtherCAT 驱动器开发任务书一、 驱动器基本参数 1、PCB 设计 在设计驱动器 PCB 时需要采用功率板与逻辑板分开的设计,即至少要设计两块 PCB 板,将功率板与逻辑...
伺服的历史以及发展
伺服的历史以及发展 1. 历史的角度看电机发展 1800...我们还看到 Beckhoff 的 EtherCAT,B&R 的 PowerLink...以全套自动化解决方案作为卖点, 总的市场占有率大约...
CoolDrive A8伺服驱动器在工业机器人上的应用
器+CoolDrive A8”伺服驱 动器的电控系统解决方案...专为机器人行业开发的 控制系统,包括控制器、视教...其控制器和视教盒都支持 EtherCAT 高速工业以太网...
民族伺服产业接口互联技术
华大电机为代表的民族数控和伺服厂商以其经济型(低端...EtherCAT 是当前最具实用化意义并适用于运动控制的...随各自公司的产品线和行业解决方案一道推广;应用拉动...
高速伺服总线及接口
,以便在德国建立一个统一的 CNC 系统与数字伺服系统接口标准,并开发相应的产品...美国 NI 等自动化设备公司都推出了一系列支持 EtherCAT 技术应用的通信驱动设 备...
L7S伺服 最基本操作
(设定值 越大伺服响应越快,设定过高马达会有震动) (* 该参数在速度、位置...N 型: N 型驱动器是集成 EtherCAT 功能的以太网型驱动器。 N 型驱动器通过...
艾默生CT推出Digitax ST系列伺服驱动器
艾默生CT推出Digitax ST系列伺服驱动器_电力/水利_工程...● 现场总线:支持 EtherCAT、SERCOS、CANopen、...可实现常见的定位和同步运动控制方案,支持各种现场...
自动上料设备技术设计方案
自动上料设备技术设计方案_机械/仪表_工程科技_专业...系统接口:ethercat 总线 4.1.4 图纸 技术设计图纸是...(1)由工控机与多轴控制器通讯,控制伺服电机的动作...
更多相关标签:
ethercat伺服驱动器 | 成都开发伺服驱动器 | 伺服电机驱动器 开发 | 伺服驱动器开发 | 伺服电机驱动器方案 | 伺服驱动器隔离方案 | ethercat步进驱动器 | 支持ethercat伺服厂家 |