原创 EtherCAT从站设计中的重要事项和关键观念(一)

2015-9-2 14:37 4670 27 32 分类: 工业电子

    各位,好久不见,说来惭愧,小编已经有好几个月没分享过文章了,最近小编了解了一些关于EtherCAT协议的知识和市场,发现EtherCAT这一工业以太网技术在国内也已经开始应用起来了,尤其在速度和精度有高要求的场合,EtherCAT技术更有着它独一无二的特点和优势。国内的几大运动控制厂商也正为他们的运动控制产品升级EtherCAT技术,可以说,EtherCAT绝对是运动控制的未来,更是工业4.0概念下的完美体现。

    小编今天分享的这篇文章,是关于EtherCAT从站开发与设计的,对于那些刚接触EtherCAT,或打算开发EtherCAT设备的工程师来说,可以帮你快速地扫盲和上手。而对于那些非常熟悉EtherCAT的高级开发工程师来说,本文提到的方案也可以给您做一个参考,提高开发效率,缩短开发周期。

EtherCAT从站设计中的重要事项和关键观念(一)

一般从站包括以下三个核心部分:

物理层:网口

数据链路层:有EtherCAT 从站控制器ESC(这是通讯模块)和EEPROM

应用层有主控制器或者说应用控制器或微控制器uC(即比如DSP28346或者F407之类的)。

20150902135613322.jpg

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

EtherCAT通讯的速度和性能与主控制器(比如DSP28346)软件程序的性能 互不影响。

关于PDIESC上的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硬件上会有一些机制:比如同步管理器等。chapter 1.3.4

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

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

20150902135735357.jpg

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

20150902135839341.jpg

关于应用层的主控制器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通讯部分,大部分情况下,8bituC或者PIC就够了。(想表达的是:EtherCAT通讯是不会影响性能的,EtherCAT协议的一个好处)

关于ESIEtherCAT Slave Information每个EtherCAT设备都必须随货给用户一个ESI文件,一般是.xml格式。ESI文件是配置工具在离线模式下用来编译网络信息ENI的(比如过程数据结构,同步命令等)See also related description in chapter 2.4.1.

关于ESCEtherCAT接口:ESC最多只能提供4EtherCAT接口,端口0必须定义为输入口。从站必须提供至少2EtehrCAT接口。为了避免有些从站只有2个接口的,所以配合使用的ESC上的端口01必须使用,端口34可以保留。ESC总是通过端口0与主站相连的,与其他从站设备则通过端口1-3来连接。

20150902135934567.jpg

EtherCAT的报文帧结构:

20150902142556173.jpg

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

20150902142651257.jpg

关于同步管理器:SyncManager 不管是EtherCAT主站还是从站主控制器PDI去读取ESCDPRAM,这个DPRAM的访问都需要确认数据一致性。同步管理器就是一个用来确保DPRAM中过程数据能被访问的机制:不同时间访问,但是访问到的是一致的。如果从站使用FMMU,对应数据块的同步管理器位于DPRAMFMMU之间。EtherCAT的同步管理器可以在两种模式下操作:

邮箱模式

数据交互采用的是握手机制。EtherCAT主站和uC的控制程序只有在对方已经访问完缓冲区的时候才能继续访问。发送方在写入缓冲区的时候,缓冲区被锁定for writing 直到接收方已经全部读完。邮箱模块一般用于应用程协议和非周期数据的交互(比如参数设置)

20150902143326823.jpg

缓冲模式

缓冲模式一般用于周期性数据交互,比如过程数据,因为缓冲模式允许任何时候EtherCAT主站和从站主控制器uC都可以访问通讯缓冲区。发送方总是可以更新缓冲区的内容。如果缓冲区被写入的数据快于接收方去读取的速度,则旧的数据就会被丢掉。因此,接收方永远都是收到最新的而且与缓冲区内容一致的数据。

注意:同步管理器如果工作在缓冲模式下,则需要比分配在DPRAM中的过程数据大小大三倍。

20150902142744614.jpg

应用程序的设计可以参考免费的ET9300或者商业版KPA的代码,**式,可选常见平台的demo。具体对比如下:

20150902142857319.jpg

由于篇幅字数限制,下次再给大家分享余下内容。

文章评论5条评论)

登录后参与讨论

用户377235 2015-9-11 15:29

专业!

用户377235 2015-9-11 14:06

谢谢虹科为我们推广新技术。

用户377235 2015-9-11 14:06

谢谢虹科为我们推广新技术。

用户1766950 2015-9-6 09:52

腻害。。

用户377235 2015-9-6 09:48

赞赞赞
相关推荐阅读
用户1779329 2015-04-16 11:59
实践是最好的学习方法——出差的收获
    人们都说,实践是检验真理的唯一标准,这也许是每一人都懂的大道理,但真正做到这一点却没那么容易,因为人们都是希望事物能够按着自己所想的趋势发展,而往往轻易地忽略了实践的真实性和主导性。只有不...
用户1779329 2015-03-05 16:05
PROFIBUS冗余方案的实现
PROFIBUS冗余方案的实现                         基于德国COMSOFT公司的PRS冗余交换机                        ...
用户1779329 2015-01-28 09:48
努力总会有收获,金子总是会发光
        在毕业入职的这半年时间里,我经历了很多,第一次坐飞机,第一次看雪,第一次戴工作证,第一次摸机器人,而这些都不是重点,重点是我有了第一次出差,第一次参加展会,第一次写工作报告,第一次...
用户1779329 2015-01-07 15:47
Profibus主站的几种实现方式
Profibus主站的几种实现方式                                             ——Xavier Xie 广州虹科电子科技有限公司       ...
用户1779329 2014-12-19 14:17
案例分享_最为实用的Profibus故障诊断仪
  最为实用的Profibus故障诊断仪 “再也不能没有它(Profibus Tester)了” ——谢晓锋 广州虹科电子技术支持工程师         在Deckel Maho ...
我要评论
5
27
关闭 站长推荐上一条 /2 下一条