引言
将以太网技术应用于工业控制领域形成的工业以太网技术是当前工业控制网络和现场总线技术的一个很重要的发展方向。与传统的现场总线相比,以太网现场总线具有性价比高、传输速度快、数据量大、可接入标准以太网端等优点。目前,主要的实时以太网有如下几种:Pro finet、TC-net、EtherCAT、Ethernet PowerLink、Modbus-RTPS、SERCOS III,以及我国自主研制的EPA等。
EtherCAT技术是由德国Beckhoff自动化公司提出的,该技术以其优越的性能获得越来越多的关注。2003年底成立的ETG(Ethernet Techno logy Group)组织负责EtherCAT技术的维护和推广。该组织已经拥有逾千个成员,很多成员已经推出相关产品。相关产品的研发主要来自国外,如以色列Elmo公司已推出基于EtherCAT的Elmo伺服直流驱动器(Elmo Golden);而国内在此领域还处于起步阶段,只有少数公司有所涉及,如上海新华集团公司开发了一套基于EtherCAT技术的DCS控制系统等。对此,本文对工业以太网EtherCAT从站的硬件和软件部分进行开发,最终通过实验验证了所开发的EtherCAT从站具有较高实时性,满足工业控制需求。
1 EtherCAT技术介绍
1.1 EtherCAT组成及运行原理
EtherCAT使用全双工通信技术构成主从结构,主站使用标准的以太网控制器,传输介质通常使用100BASE-TX规范的5类UTP双绞线缆;从站由专用控制芯片或者FPGA IP核构成,TI公司已推出带有EtherCAT功能的微控制器M335X。
EtherCAT的运行原理如图1所示,图中j为从站个数,j=1,2,…,i,…,n。主站发出下行电报,数据帧遍访所有从站,在数据帧到达每个从站时,从站解析出本机报文,并对报文数据进行处理,然后将该数据帧传输到下一个从站,从站再进行类似的处理,直至传输完整个回路。最后一个从站发回经过完全处理的数据帧,并由紧挨着主站的从站作为响应,将数据帧发送给主站,完成一个周期的数据处理。
1.2 EtherCAT协议
EtherCAT的数据帧结构如图2所示。从图中可以看出,它采用的是标准的以太网帧结构,帧类型为0x88A4。数据包由EtherCAT头和Ether CAT数据组成,而若干个子报文又组成了数据区。子报文又由子报文头、数据域及工作计数器组成。子报文头决定该子报文应传输到对应的从站,以及该从站对子报文进行读或者写操作。在主从站通信的过程中,16位的工作计数器(WKC)的值显得尤为重要。主站发起周期控制的时候,预先给定WKC一个值,当数据帧遍历完整个设备的时候,通过对比返回的WKC值,可以验证数据报文是否被EtherCAT从站节点正确处理。
2 EtherCAT从站硬件设计
2.1 整体结构
本文设计的从站硬件电路由物理通信接口、从站控制器及其外围设备和电源模块等部分组成。从站控制器ET1100与物理通信端口的连接部分是EtherCAT从站硬件设计最关键的部分,此部分是实现主站与从站以及从站与微控制器数据通信中不可或缺的。为了拓展本设计从站接口卡对微处理器的通用性,PDI接口部分引脚引出,可以实现与数字量I/O接口、SPI接口及并行微处理器通信接口的连接。
本文后续的验证试验中,为了测试与接线的方便,使用SPI接口与微处理器进行通信。从站接口卡的整体硬件电路如图3所示。EEPROM采用的是24LC16B,存储ET1100的配置信息;电源模块采用的是体积小、价格便宜的SP6205EM,固定输出3.3 V电压;物理芯片选择的是KSZ87 21;RJ45选择的是集成了变压器接头的HanRun HR911105A。
2.2 物理通信端口
ET1100是一个功能强大的从站控制器,可以提供4个物理通信端口,实现各种类型的拓扑结构,且每个端口皆可配置为MII或EBUS两种类型。通信端口类型配置无需软件编程,可直接通过对ET1100的外围引脚P_MODE[1:0]和P_CONFIG[3:0]进行上拉或者下拉获得。其中,P_CON FIG[3:0]决定通信接口的类型,P_MODE[1:0]决定通信接口的数目。ET1100使用MII接口时,需要外接以太网物理层芯片,并且为了降低处理/转发延时,ET1100的MII接口省略了发送FIFO,最远传输距离为100 m;EtherCAT协议自定义了一种物理层传输方式EBUS,EBUS传输介质使用低压差分信号LVDS,最远传输距离为10m。
本设计中,物理通信端口使用的是端口0与端口1,且使用能传输100 m的MII类型,则有如下配置信息:P_MODE[0:1]下拉决定端口0与端口1被使能用,而P_CONFIG[0:1]上拉表示端口0与端口1使用MII类型。本文物理芯片选用的是KSZ8721,其电路连接图如图4所示。
2.3 过程数据接口
从站控制芯片ET1100的应用数据接口又称为过程数据接口,简称为PDI。PDI是微处理器与ET1100进行数据交换的接口,是底层接口电路,为上层复杂的应用协议提供硬件基础。ET1100的PDI接口可分为SPI接口、微处理器接口和数字量I/O接口,这三种接口的实现通过PDI控制寄存器0x140取不同的值来实现。而ET1100中控制寄存器的值是上电时自动加载EEPROM中用户配置的数据,并且ET1100提供一专用引脚来表征此配置信息是否被正确加载。当此引脚信号为高电平时,表示配置信息被正确加载,此时端口才会被激活。本设计中三种接口方式皆可以使用,但是SPI接口具有接线少、使用方便、传输速度快等优势,因而后续的测试实验中使用SPI接口与测试开发板进行连接。
综合以上信息,本文详细介绍了从站硬件整体框图、ET1100的物理通信端口、PDI接口以及外围芯片具体选型与使用,最终设计的具体电路的实物图如图5所示。
3 EtherCAT从站软件设计
EtherCAT从站的软件设计主要包括微处理器的软件设计和ET1100的软件设计。在本设计中,由于嵌入式主站的设计工作很复杂,所以本测试的主站由PC机担任,PC机通过倍福公司的TwinCAT软件实现主站功能,主要负责所有从站设备的工作状态以及管理主从站之间的数据通信。
ET1100的软件设计就是把配置好的与硬件相符的XML文件烧写到EEPROM中,最终实现主从站之间的通信。微处理器dsPIC30F6014A的软件设计通过操作ET1100实现应用层协议,其任务主要完成dsPIC30F6014A硬件的初始化、ET1100的初始化以及过程数据的处理等。
非周期性数据通信与周期性过程数据通信是EtherCAT网络中主从站之间数据交换的两种形式。周期性过程数据通信采用现场总线逻辑单元进行寻址,缓冲区可以被主从节点同时访问;非周期性数据通信采用邮箱方式进行,邮箱数据通信使用两个存储同步管理通道,通常主站到从站通信使用SM0,从站到主站通信使用SM1,它们可被配置成一个缓冲区方式,使用握手来避免数据溢出,只有把缓冲区数据写满后,另一端才能读取,并且只有当内存中的数据全部读出时,一端才能重新写入数据。本实验中,从站程序采用的是非周期性数据通信,并且采用的是查询方式,程序流程图如图6所示。
4 测验测试及分析
4.1 I/O开关量的实验测试与分析
以设计的基于从站控制器ET1100的EtherCAT从站接口卡和Microchip公司的dsPICDEM1.1 Plus Development Board开发板构成从站设备,PC机凭借德国倍福公司开发的TwinCAT软件作为主站设备搭建实验平台。首先,打开TwinCAT软件中的System Manager功能,找到I/O Device,单击鼠标右键扫描设备,找到BOX设备,烧写XML配置文件到ET1100中,完成特定功能的配置,按照功能要求对从站接口板与开发板进行正确的连线。在TwinCAT软件以及开发板中编写测试程序,通过观察开发板上LED的明亮以及TwinCAT软件中的图示,来验证EtherCAT中主从站之间的通信是否成功。具体实验结果如图7~图10所示。
由图7、图8可知:主站TwinCAT软件中,写入开关量1(即高电平),从站实验平台中LED被点亮,验证了主站到从站数据传输的正确性。由图9与图10分析可得:对从站平台按下按键,输出低电子,上位机主站得到了从高电平到低电平的突变,从而从站到主站的数据传输的正确性得到验证。综上所述,主从站之间实现了双工通信,并且验证了所设计的从站接口卡的可行性。
4.2 EtherCAT从站的实时性能测试
以SOURCEFORGE上开源的SOEM(Simple Open EtherCAT Master)软件,基于嵌入式操作系统Linux的应用环境,以及本设计中的从站接口卡作为测试平台,对EtherCAT数据传输的实时性进行测试分析。在不同从站节点个数组建的网络下,采集实验数据,实验数据包括主站控制周期平均值、环运行时间。通过分析实验数据可知,本设计的从站接口卡达到了预定要求,实验数据如表1所列。
分析表中数据可以得出:在不同从站节点个数组建的网络下,周期是不变的(约为0.5 ms),这是由主站来控制的;环运行时间随着节点数的增加而成倍增加,每增加一个节点,环运行时间增加1μs,也就是报文经过每个节点时延时时间约为500 ns,可以看出从站的实时性很好。
结语
针对EtherCAT应用较广,但在国内起步较晚的现状,本文详细阐述了EtherCAT的组成、工作原理以及EtherCAT协议,并在此基础上,利用从站控制芯片ET1100设计了一种EtherCAT从站卡。此从站接口卡采用MII类型的物理通信接口与同步串行总线SPI进行通信,传输介质使用100BASE-TX规范UTP双绞线缆,可以实现100 m内的可靠传输,而且SPI通信方式具有接线少等优点。
通过搭建实验乎台,对简单I/O开关量的主从站之间的数据传输进行了验证,并利用SOEM对其实时性能进行验证。综上可知,本文设计的EtherCAT接口卡有两方面的优点:具有较高实时性,满足工业需求;具有较强的通用性,可以作为单独的I/O从站,也可以融进其他嵌入式设备中进行更深层次的开发,进一步提高系统的实时性。