EtherCAT协议介绍

前言

EtherCAT(Ethernet for Control Automation Technology)是一种基于以太网的开发构架的实时工业现场总线通讯协议,它于2003年被引入市场,于2007年成为国际标准,并于2014年成为中国国家标准。EtherCAT的出现为系统的实时性能和拓扑的灵活性树立了新的标准。

1)EtherCAT是最快的工业以太网技术之一,同时它提供纳秒级精确同步。相对于设置了相同循环时间的其他总线系统,EtherCAT系统结构通常能减少25%-30%的CPU负载。

2)EtherCAT在网络拓扑结构方面没有任何限制,最多65535个节点可以组成线型、总线型、树型、星型或者任意组合的拓扑结构。

3)相对于传统的现场总线系统,EtherCAT节点地址可被自动设置,无需网络调试,集成的诊断信息可以精确定位到错误。同时无需配置交换机,无需处理复杂的MAC或者IP地址。

4)EtherCAT主站设备无需特殊插卡,从站设备使用可以由多个供应商提供的高集成度、低成本的芯片。

5)利用分布时钟的精确校准EtherCAT提供了有效的同步解决方案,在EtherCAT中,数据交换完全基于纯粹的硬件设备。由于通讯利用了逻辑环网结构和全双工快速以太网而又有实际环网结构,“主站时钟”可以简单而精确地确定对每个“从站时钟”的运行补偿,反之亦然。分布时钟基于该值进行调整,这意味着它可以在网络范围内提供信号抖动很小、非常精确的时钟。

总体来说EtherCAT具有高性能、拓扑结构灵活、应用容易、低成本、高精度设备同步、可选线缆冗余和功能性安全协议、热插拔等特点。

一、网络寻址原理

EtherCAT以以太网为基础,发送标准以太网数据帧。EtherCAT主站发送的每一个数据帧经过所有节点,在数据帧向下游传输的过程中,每个节点读取寻址到该节点的数据,并将它的反馈数据写入数据帧。这种传输方式改善了带宽的利用率,使得每个周期通常用一个数据帧就足以实现数据通信,同时网络不再需要使用交换机和集线器。数据帧的传输延时只取决于硬件传输延时,当某一个网段或者分支上的最后一个节点检测到开放端口(没有下一个从站)时,利用以太网技术的全双工特性将报文返回主站。

在数据传输的过程中EtherCAT根据不同的应用采用不同的寻址方式,三种不同的寻址方式被分别应用到Ethercat网路配置,邮箱通信和过程数据通信中。

(一)自增量寻址

1)每个从站根据其所处位置的先后分配一个十六位的负的自增量地址.

2)当数据帧经过时从站只处理自增量地址为零的子报文。

3)在经过每个从站时数据帧中所有自增量地址加一。

4)通常用于扫描硬件的配置信息。

说明:自增量寻址一般用在启动阶段,主站通过自增量寻址对从站做一些配置。如上图所示数据帧中的地址信息按从零开始以此递减使其与从站位置相对应。当数据帧经过从站时,从站只处理地址为零的子报文。例如当第一个从站处理其对应的报文之后,报文中所有自增量地址加一,此时自增量地址从新为零的数据帧为第二个从站需要处理的数据,以此类推主站将按照数据帧在整个网络中的移动顺序依次遍历整个网络。

(二)固定地址寻址

1)每个从站有一个固定的地址(16 bit)

2)通常在硬件配置扫描的过程中被分配。

3)与从站的位置无关

4)当断电后固定地址丢失

说明:在经过启动配置之后每个从站分配一个固定的地址,以便用于固定地址寻址。固定地址寻址一般用于主站与从站以邮箱方式的通信中(例如SDO),在邮箱方式通信时EtherCAT主站根据从站的固定地址寻址到所要交换数据的从站,数据只在两者之间进行交换,适用于主站与某一个从站交换相对较大的数据。

(三)逻辑寻址

1)从站在一个虚拟的4GByte 数据空间进行读写操作。

2)逻辑地址映射到从站中减轻了控制系统的负担。

3)数据根据应用程序所指定的逻辑地址被传输。

要求:快速,灵活并且高效的传输。

说明:逻辑寻址特别适用于在过程数据的通信过程中,每个从站的物理地址通过FMMU被映射到一个逻辑地址中。主站通过操作逻辑地址控制从站,使用逻辑寻址可以灵活地组织控制系统,优化系统结构。

二、EtherCAT主站协议栈介绍

北京盟通科技有限公司是德国acontis在中国大陆唯一授权的合作伙伴,德国acontis公司提供跨平台、跨操作系统的商用EtherCAT主站协议栈及主站解决方案,其产品的专业性和可靠性得到全球超过200家工业客户的信赖与认可,包括KUKA机器、伦茨、阿尔斯通、巴赫曼等众多国际知名企业。

(一)支持的操作系统

(二)支持的CPU架构

         

三、支持的网卡型号


Link   Layer

Name


Controller   / Device

ID


WinXP

Win7


WinCE


VxWorks


On   Time

RTOS-32


QNX

Linux

T-Kernel


RTX

INtime


DOS

GO32


emllPcap


OS driver


x86


-


-


-


-


-


emllSnarf


OS driver


-


-


x86, PPC


-


-


-


emllI8255x

Intel Pro/100


82551QM / 0x1059

82555VE2 / 0x27DC

82557 / 0x1229

82557ER / 0x1209

82559ER / 0x2449

82562 / 0x1039

82801DB / 0x103A

82801EB / 0x1050

Pro/100/M   / 0x1229

Pro/100/S   / 0x1229

Pro/100/VE /0x1092


-


x86


x86, PPC


x86


x86


x86


-


emllI8254x

Intel Pro/1000


82540EM / 0x100E

82541EI / 0x1013

82541ER / 0x1078

82541GI / 0x1076

82541GI / 0x1077

82541PI / 0x107C

82545GM / 0x1026

82546EB / 0x1010

82546GB / 0x1079

82547EI / 0x1075

82547GI / 0x1019

82566DM / 0x104A

82566L / 0x10BD

82566MC / 0x104D

82567V / 0x10CE

82567V / 0x1501

82567LM / 0x10DE

82567LM / 0x10F5

82571GB / 0x10A4

82571GB / 0x10BC

82572GI / 0x10B9

82572PI / 0x107D

82573 / 0x108C

82573E / 0x108B

82573L / 0x109A

82574(L) / 0x10D3

82575 / 0x10A7

82577LM/0x10EA

82577LC / 0x10EB

82576 / 0x10C9

82576 ET2 / 0x1526

82578DM / 0x10EF

82578DC / 0x10F0

82579LM / 0x1502

82579V / 0x1503

82580 / 0x150E

82580 QF / 0x1527

82583V / 0x150C

N1E5132 / 0x105E

I350 / 0x1521

I210 / 0x1533

I210 CFL / 0x157B

I211AT / 0x1539

I217LM / 0x153A

I217V / 0x153B

I218LM / 0x155A


x86


x86


x86


x86


x86


x86


-


I218V / 0x1559


emllL9218i

SMSC

LAN9218i


L9218i


-


ARM

STR9


-


-


-


-


emllRTL8139

Realtek

RTL8139


8139D   / 0x8139

D-Link   8139D /

0x1300


-


x86


x86


-


x86


-


emllRTL8169

Realtek

Gigabit   NIC

(PCIe,   PCI)


RTL8110 / 0x8169

RTL8111 / 0x8168

RTL8168 / 0x8168

RTL8169 / 0x8169

D-Link RTL8169 /

0x4300

RTL8169SC/0x8167

RTL8103 / 0x8136


-


x86


x86


x86


x86


x86


-


emllCPSW


Texas   Instruments

Sitara   on board


ARM


ARM


ARM


-


emllETSEC


Freescale   PowerPC

TSEC/eTSEC

controller

eTSEC   v1 and v2


PPC


PPC


-


emllFslFec


Freescale   FEC and

ENET   controller


ARM


ARM


ARM


-


emllR6040


RDC   R6040


-


x86


-


-


-


-


x86

四、EtherCAT性能测试

1.         EtherCAT总线时序图

在实际应用中,客户根据产品的性能要求确定总线循环周期Cycle Time的时间长短。在每个循环周期内,EtherCAT主站的CPU必须完成下列几项任务:已接收数据帧的处理、客户应用处理、发送数据和主站协议栈管理,非周期数据的处理在每个循环周期中可选,如下面总线时序示意图所示。

总线时序图说明:

EtherCAT主站接收周期和非周期输入数据,

函数使用参数:eUsrJob_ProcessAllRxFrames     功能:接收所有的输入数据帧。

EtherCAT主站发送周期数据输出

函数使用参数:eUsrJob_ProcessAllCvcFrames    功能:发送循环数据帧。

EtherCAT 主站管理,

函数使用参数:eUsrJob_MasterTimer            功能:触发主站和从站的状态机。

EtherCAT主站发送非周期性数据,如SDO,

函数使用参数:eUsrJob_SendAcvcFrames           功能:发送非周期数据帧。

客户应用:处理输入数据并生成输出数据,用户程序所要完成的操作在这里进行。

2.         Acontis主站EC-Master性能测试环境设置

EC-Master性能测试环境包含了七个从站:EK1100、2xEL2004、2xEL1014、EL4132和EK1110。

传输的过程数据包含512个字节的数据(256个输入和256个输出),填充了一个大小为579字节的数据帧。此外主站与EL4132使用邮箱方式进行非周期数据交换。主站协议栈每个循环周期内占用的CPU时间请参考测试结果。

3.         测试结果(CPU平均负载)


平台


芯片


主频


网卡


协议栈占用CPU时间


主站版本


操作系统


Intel


Atom D510


2 x 1600MHz


Realtek8111


14µs


2.3.1.99


VxWorks


Intel


Atom D510


2 x 1600MHz


Realtek8111


16.5µs


2.3.1.99


QNX


Intel


Atom D510


2 x 1600MHz


Pro 1000


16µs


2.3.1.99


VxWorks


Intel


Atom D510


2 x 1600MHz


Pro 1000


16µs


2.3.1.99


QNX


Intel


Atom Z510


1100MHz


Realtek8169


19µs


2.4.1.3


Window CE6.0


Intel


Atom D510


2 x 1600MHz


Realtek8111


14µs


2.3.4.1


Window CE6.0


ARM


XILINX ZYNQ

XC7Z020


2 x 667MHz


SockRaw Polling


62µs


2.5.3.4


Linux 3.0.0

SMP

PREEMPT


ARM


Holster netX


200MHz


netX


216µs


2.2.1.3


rcX


PPC


P2020 e500V2


1200MHz


eTSEC


14µs


2.4.1.3


VxWorke 6.8


ARM


TI DM8168


1000MHz


Internal


79µs


2.4.1


Linux


ARM


TI AM335x


720MHz


CPSW


50µs


2.6.2.15


Starterware


ARM


TI AM335x


720MHz


CPSW


36µs


2.6.0.99


QNX


Intel


Core2 Duo


2190MHz


Pro 1000


9µs


-


-


Intel


Core2 Duo


2800MHz


Realtek 8169


7µs


2.5.0.0


Linux RT Preempt


ARM


-


96MHz


SMSC 9218i


644µs


-


MQX


ARM


iMX25


400MHz


FECFSL


283µs


2.4.1.3


-


ARM


Renesas R-IN32


100MHz


internal


125µs


2.7.0.99


iTron (HWRTOS)

注释:协议栈占用CPU时间是指在每个循环周期中I、O、A、M(数据接收,周期数据发送,主站管理,非周期数据发送)所用时间的总和。

时间: 2024-10-20 18:21:50

EtherCAT协议介绍的相关文章

LDAP协议介绍

LDAP协议基础概念 1. 从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合"一次记录多次读取".经常使用LDAP服务存储的信息: 公司的物理设备信息(如打印机,它的IP地址.存放位置.厂商.购买时间等)  公开的员工信息(地址.电话.电子邮件-)  合同和账号信息(客户信息.产品交付日期.投标信息.项目信息-)  凭证信息(认证凭证.许可证凭证-) 2. 从数据结构上阐述LDAP,它是一个树型结构,能有效明白的描写叙述一个组织结构特性的相关信息.在这个树型结构上的每一

流媒体协议介绍

RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础.RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的. RTP 本身并没有提供按时发送机制或其它

数字证书常见格式与协议介绍

引:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.KEY.CSR.CRT.CRL .OCSP.SCEP等. PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式.Openssl 中的 PEM 文件一般包含如下信息: 内容类型:表明本文件存放的是什么信息内容,它的

JSON-RPC轻量级远程调用协议介绍及使用

JSON-RPC轻量级远程调用协议介绍及使用 目录 技术简介    1 一.JSON-RPC协议描述    1 二.JSON-RPC调用简单示例    1 2.1.服务器端Java调用示例    1 2.2.Java客户端调用示例    2 2.3.PHP客户端调用示例    2 2.3.JavaScript客户端调用示例    2 2.4.直接GET请求进行调用    2 三.JSON-RPC总结    3 参考文档    3 技术简介 json-rpc是基于json的跨语言远程调用协议,比x

常用音频协议介绍&&有关音频编码的知识与技术参数

(转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20Hz到20KHz的声波称为为可听声,低于20Hz的成为次声,高于20KHz的为超声,多媒体技术中只研究可听声部分. 可听声中,话音信号的频段在80Hz到3400Hz之间,音乐信号的频段在20Hz-20kHz之间,语音(话音)和音乐是多媒体技术重点处理的对象. 由于模拟声音在时间上是连续的,麦克风采集

各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabetical).我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议.如果要开源自己的代码,最好也是选择这些被批准的开源协议. 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考. BSD开源协议(original BSD li

主要流媒体协议介绍

RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础.RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的. RTP 本身并没有提供按时发送机制或其它

HTTP协议介绍

HTTP协议介绍 1简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议. HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HT

[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.RTP 协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Tal