APP下载

基于NetX500的通用EtherCAT网络接口设计及其性能研究

2013-07-02刘晓胜郑检李莹雪吴海涛

电气传动 2013年1期
关键词:网络接口固件主站

刘晓胜,郑检,李莹雪,吴海涛

(哈尔滨工业大学 电气工程及自动化学院,黑龙江 哈尔滨 150001)

1 引言

由于传统的以太网(Ethernet)是建立在载波监听多路访问/碰撞检测(CSMA/CD)机制上的广播型网络,导致其在网络通信方面存在不确定性和实时性能差等天然缺陷,已经越来越难以满足现代工业现场高精度和快速动态响应的需求[1-2]。以EtherCAT 为代表的实时以太网技术的出现,解决了传统以太网在确定性和实时性方面的不足,并逐渐被应用在工业机器人等各种高速运动控制场合,已经成为现代运动控制系统中通信领域的发展趋势[3]。

EtherCAT 是发展到目前为止速度最快、功能最强的以太网解决方案。它于2003年被引入市场,并于2007年成为国际标准,EtherCAT 技术协会(EtherCAT Technology Group, ETG)负责推广和持续研发该技术。EtherCAT 实时工业以太网除了具备高速高效的实时通信能力,同时具有拓扑结构灵活,成本低易实现,集成安全等特点[4]。本文以赫优讯公司的NetX500 芯片为核心,设计了一种通用的EtherCAT 网络接口模块。该模块可与任意满足其接口要求的控制系统连接,使控制系统成为一个EtherCAT 主站或者从站,具有良好的通用性和互操作性。通过对模块的通信测试,验证了该模块具备强大的EtherCAT 通信性能,可以满足大多数快速运动控制场合的要求。

2 高速工业以太网EtherCAT

2.1 EtherCAT 协议

EtherCAT 采用标准的以太网数据帧和符合以太网标准的IEEE802.3 的物理层。EtherCAT 将其报文嵌入到标准的以太网数据帧中(形成EtherCAT 数据帧),通过帧类型0x88A4 识别EtherCAT 数据帧。由于EtherCAT 协议被优化适用于短小的周期性过程数据,因此无需庞大的协议栈,例如TCP/IP 或UDP/IP。

标准的EtherCAT 数据帧结构如图1所示。EtherCAT 帧的数据区包括2 个字节的EtherCAT数据头和 44~1498 字节的 EtherCAT 数据。EtherCAT 头中的EtherCAT 数据长度代表所有子报文的总长度,类型一般为1,表示此EtherCAT数据帧用于主站与从站之间的通信。数据区由一个或多个EtherCAT 子报文组成,每个子报文对应独立的设备或从站存储区域,表1给出了EtherCAT 子报文的结构定义[5]。

图1 EtherCAT 数据帧 Fig.1 The EtherCAT frame structure

表1 EtherCAT 子报文结构定义 Tab.1 The definition of EtherCAT sub-packet structure

2.2 EtherCAT 网络结构及其实时性原理

EtherCAT 采用主从模式进行通信,一个网络最多可支持65535 个设备,同时支持线型、环形、树形、星型、菊花链型等多种拓扑结构。EtherCAT物理层允许两个设备最大间隔100m,采用光纤时可达到更远的间距,网络最大通信速率达到100Mbit/s。一个典型的EtherCAT 环形冗余网络如图2所示。

图2 EtherCAT 通信网络及其通信原理 Fig.2 The structure and principle of the EtherCAT network

EtherCAT 网络中由主站发送下行数据帧,每个从站接收到数据帧之后,读取寻址到该从站的数据,之后将它的反馈数据写入数据帧,继续下传数据。最后一个从站处理完数据之后,再将数据帧上行传输回主站,从而完成了一个循环周期。

与传统的以太网传输机制相比,EtherCAT 避免了网络中不同设备对网络资源的竞争,从而保证了数据传输时延的确定性,改善了以太网的带宽利用率,报文最大有效利用率可达90%以上。同时,由于EtherCAT 网络中无需交换机或集线器,省去了交换机延时,且借助于从站中的EtherCAT 专用芯片和主站中读取网卡数据的DMA 技术,整个协议处理过程都在硬件中进行,大大降低了网络通信时延,充分保证了数据传输的实时性。

3 EtherCAT 网络接口模块设计

3.1 接口模块的整体性能指标和要求

作为一个通用的EtherCAT 网络接口,接口模块与主/从站核心控制模块之间的接口应该具备兼容性的特点,要求此接口能满足包括DSP、ARM 等多种主流控制芯片系统外扩的需求,从而使EtherCAT 网络接口模块能适用于各种不同工业控制场合。同时,接口模块的软件设计,也应该具备易用性和灵活性的特点。

为了满足运动控制系统高精度,快速动态响应的需求,结合EtherCAT 网络性能,在接口模块实时性方面,要求网络通信的循环时间在毫秒级,在同步性能方面,同时要求各个从站之间的报文延迟在微秒级。

3.2 接口模块的硬件设计

3.2.1 网络通信芯片NetX500

NetX 系列芯片是德国赫优讯公司推出的新一代工业网络控制芯片,是一种高度集成的网络控制器。NetX 500 以32 位ARM926EJ-S 为CPU 核,主频200MHz,包含有存储管理单元、Cache、DSP和JAVA 扩展器,同时具备丰富的外设资源,可以作为一个单片系统的控制核心,也可以作为专门的网络通信芯片[6]。

NetX500 最大的特点在于它是一种高度集成的网络通信解决方案,芯片支持包括:EtherCAT,EtherNet/IP,Powerlink,Modbus IDA,PROFINET等在内的各种实时以太网。通过加载不同的固件程序,使用此芯片的接口模块在硬件上可支持上述各种实时以太网通信[7]。在EtherCAT 通信中,此接口模块既可被配置为主站,也可配置为从站。

3.2.2 模块整体硬件结构

接口模块硬件结构如图3所示。

图3 接口模块硬件结构图 Fig.3 The hardware structure of the interface module

模块以NetX500 芯片为核心,由于芯片内部集成了以太网物理层的功能,因此只需通过扩展出两路RJ45 接口即可作为模块的EtherCAT 物理通信接口。分别利用NetX500 的I2C 接口和SPI接口扩展出E2PROM 和Flash 作为模块的外围存储器,由于这两种存储器均具有数据掉电不丢失的特性,因此可用来存储EtherCAT 网络的相关配置信息和固件程序。SDRAM 在NetX500 运行实时操作系统时可作为系统缓存,UART 用于下载固件程序。为了保证模块的通用性,使用并行接口作为模块与其他主控模块的接口,以下将具体介绍通用并行接口。

3.2.3 通用并行接口

模块提供给用户的硬件接口为一个50 根管脚的排针连接头,该连接头包含了与NetX500 芯片通信必备的控制线、16 位数据总线D15-D0 和14 位地址总线A13-A0。其中控制线包括:WIF、BHE、RES、BUSY、INT、RD、WR、CS,这些控制线决定了数据的读取、双处理器的握手等操作,接口电路原理图如图4所示。

图4 接口电路原理图 Fig.4 The generic parallel interface

通用并行接口将NetX500 芯片的双端口内存(Dual-Port Memory, DPM)开放给主控系统,由于实际使用时接口模块已经加载了EtherCAT 通信的固件程序,因此对于主控系统来说,操作整个接口模块和操作一个外部存储设备是一样的。

3.3 接口模块的软件设计

3.3.1 双端口内存DPM

通信接口模块作为从站设备的一部分,它与从站的主控系统之间的连接是通过DPM 实现的,DPM 默认的空间结构如图5所示。

图5 DPM 地址空间结构 Fig.5 The address space of DPM

系统通道是最重要的存储单元,它包含了NetX500 芯片和实时操作系统rcX 的关键信息,即使没有应用固件被下载到模块,也总是存在[8]。握手通道将所有通道的握手寄存器集中在一个位置,握手位允许主控系统和NetX 之间的同步数据传输。一个通信通道是一个协议栈,例如EtherCAT协议栈,协议栈中的用户任务开放DPM 作为操作接口。用户通道实现用户预处理数据的处理和结果的传输,由用户自行定义使用。

由图5可知,DPM 最大地址空间是64 kBy,包括系统通道、握手通道、通讯通道0~3、应用通道0~1。对于接口模块,由于加载了固件,因此只需使用默认的系统通道、握手通道和通讯通道0,即16 kBy 的地址空间。

3.3.2 DPM 的热启动程序

DPM 热启动过程是配合接口模块加载固件程序的过程。它将相应的热启动参数发送给NetX500,从而完成EtherCAT 数据通信之前的准备工作,是进行EtherCAT 通信的关键步骤。热启动操作流程如图6所示。

EtherCAT 通信的协议堆栈已经保存在了接口模块的Flash 中。因此,在系统上电后,会自动加载该协议堆栈,应用程序将控制加载主/从站的热启动参数。不同的实时以太网从站,其热启动参数是不一样的,参数以报文的方式,通过DPM 提供的系统邮箱发送给接口模块。

4 接口模块EtherCAT 性能测试

4.1 EtherCAT 网络测试平台的构建

测试平台使用了4 个接口模块,其中一个加载EtherCAT 主站通信固件,通过赫优讯公司的PCI 板载卡(CIF50-CB-COM-ABC)插在PC 上,成为EtherCAT 网络中的唯一主站[9]。另外三个接口模块加载EtherCAT 从站通信固件,作为网络中的三个EtherCAT 从站,采用普通的五类双绞线连接。同时,主站PC 上插有实时以太网网络分析仪netANALYZER,用于采集整个网络的通信数据,从而对EtherCAT 的时间周期、报文延时、事件响应等结果进行分析,连接好所有EtherCAT 网络设备之后,在主站的SYCON.net软件中可以看到EtherCAT 网络已经成功构建,如图7所示。

图7 SYCON 软件中的EtherCAT 网络 Fig.7 The EtherCAT network in SYCON

测试时,EtherCAT 主从站之间不断传输报文,网络分析仪抓取数据,并将报文数据转为*.pcap 文件格式,然后通过Wireshark 软件,对EtherCAT 网络的循环时间、延时时间、时间抖动等实时性能进行分析。

4.2 接口模块EtherCAT 实时性能测试

对EtherCAT 数据进行同步性测试,由主站给从站发送含600 字节EtherCAT 数据的数据帧,其中每个从站处理的数据为200 字节,总共传输3810 个 EtherCAT 帧,用 Wireshark 软件对netANALYZER 采集到的数据帧进行分析,得到的实时数据结果如图8、图9所示。

图8 EtherCAT 数据帧循环周期分布图 Fig.8 The cycle-time distribution of EtherCAT data frame

图9 从站延迟时间分布图 Fig.9 The delay-time distribution of the slave

图8统计了所有数据帧的循环周期分布情况,由图中左上角软件的统计结果可知,实际网络平均循环周期约为 1 ms,波动范围为0.993~1.006 ms,表明网络循环时间短,速度快且传输性能稳定。同理分析图9中从站的报文延迟时间可知,报文在从站的平均延迟时间为1.153μs,最 大 延 迟 时 间 仅 为 1.18μs,表 明EtherCAT 网络具有良好的网络同步性能。综上可知,本接口模块的EtherCAT 网络通信性能符合第3 节中提出的要求。

5 结论

本文设计了一种通用的EtherCAT接口模块,详细介绍了接口模块的工作原理和软硬件设计流程,并且对接口模块进行了实际通信测试,测试结果表明接口模块具备稳定的EtherCAT 通信能力,并且在实时性方面符合大部分运动控制系统的需求,适用于多种控制系统扩展EtherCAT网络接口的场合。

[1] 马世平.现场总线标准的现状和工业以太网技术[J].机电一体化,2007,13(3):6-8.

[2] JASPERNEITE J, SCHUMACHER M, WEBER K.Limits of Increasing the Performance of Industrial Ethernet Protocols [J].Emerging Technologies and Factory Automation,2007(12):20-21.

[3] QI J Y, WANG L.Networked Motion Control System Design based on EtherCAT [J].Intelligent Computation Technology and Automation,2009(21):78.

[4] ETG.EtherCAT——以太网现场总线——关于“为何选择EtherCAT 问题的技术解答”[J].国内外机电一体化技术,2007,10(7):28-30.

[5] 郇极,刘艳强.工业以太网现场总线EtherCAT 驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010:9-13.

[6] 邓梧鹏.基于赫优讯嵌入式模块EtherCAT 从站设备的设计[J].国内外机电一体化,2009,12(1):58-59.

[7] 曹晶.EtherCAT 从站设备的开发[D].武汉:武汉科技大学2010:26-28.

[8] 谢香林.EtherCAT 网络及其伺服运动控制系统研究[D].大连:大连理工大学,2008:32-34.

[9] 邹玉鞋.利用德国赫优讯 netANALYZER 分析仪研究实时以太网的时间抖动[J].国内外机电一体化技术,2008,11(7):14-16.

猜你喜欢

网络接口固件主站
双冗余网络接口自动切换测试模块的设计与实现
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
基于UEFI固件的攻击验证技术研究*
基于固件的远程身份认证
浅析CTC与GSM-R系统网络接口及路由配置改进措施
提取ROM固件中的APP
网络设置管理
基于改进经济压差算法的主站AVC的研究
关口电能计量故障监测报警装置及主站研究