EtherCAT主站平台_网卡_测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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主站协议栈介绍
北京盟通科技有限公司是德国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/10082551QM / 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
-x86x86, PPC x86x86x86-
emllI8254x Intel
Pro/100082540EM / 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
x86x86x86x86x86x86-
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
I218V / 0x1559
emllL9218i SMSC LAN9218i L9218i-ARM
STR9
----
emllRTL8139 Realtek RTL81398139D / 0x8139
D-Link 8139D /
0x1300
-x86x86-x86-
emllRTL8169 Realtek Gigabit NIC (PCIe, PCI) RTL8110 / 0x8169
RTL8111 / 0x8168
RTL8168 / 0x8168
RTL8169 / 0x8169
D-Link RTL8169 /
0x4300
RTL8169SC/0x8167
- x86 x86 x86 x86 x86-
RTL8103 / 0x8136
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(数据接收,周期数据发送,主站管理,非周期数据发送)所用时间的总和。