1 引言
工业以太网技术不断提高的性能和迅速降低的成本,工业以太网成为当前的技术热点。EtherCAT(ethernet for control automation technology)是技术德国beckhoFF(倍福)公司提出的实时工业以太网技术,它基于标准的以太网技术,具有灵活的网络拓扑结构,支持星形、线性、树形等几乎所有的网络拓扑结构[1]。EtherCAT系统配置简单,具有高速、高有效数据率等特点,其有效数据利用率达到90%以上,全双工特性得以完全利用[2]。2005年2月,EtherCAT通过96% iec会员投票表决,正式成为iec规范——iec/pas62407,国际标准组织(iso)已将EtherCAT纳入iso15745标准。EtherCAT技术引起了自动化技术领域的广泛关注,并于2003年成立了EtherCAT技术组织,简称etg,到目前为止,etg组织成员已超过1500个[3]。
2 EtherCAT技术介绍
2.1 EtherCAT的组成和工作原理
EtherCAT采用主从式结构,主站可以用一般pc机,利用beckhoFF公司开发的twincat(the windows control and automation technology)组态软件来实现。控制周期从主站发出,主站发送下行电报,电报最大有效数据长度可达1498字节。数据帧遍历所有从站设备,每个设备在数据帧经过时分析寻址到本机的报文,根据报文头中的命令读入数据或写入数据到报文中指定位置,并且从站硬件把该报文的工作计数器(wkc)加1,表示该数据被处理。整个过程只有几纳秒时间延迟[4]。数据帧在访问位于整个系统逻辑位置的最后一个从站后,该从站把经过处理的数据帧做为上行电报直接发送给主站。主站收到此上行电报后,处理返回数据,一次通信结束。系统结构原理如图1所示。
图1 ethercat的工作原理
借助于从站中的EtherCAT专用芯片et1100和主站中读取网卡数据的dma技术,整个协议处理过程都在硬件中进行,使EtherCAT的网络性能达到了一个新的高度。EtherCAT系统可以在30毫秒内刷新1000个io结点,可以在300毫秒内交换一帧多达1486个字节的协议数据,这几乎相当于12000个数字量输入或输出。
2.2 EtherCAT的协议
EtherCAT以标准以太网技术为基础,在mac(媒体访问层)加了一个确定性调度的软件层,该软件层实现了通信周期的数据帧的传输。EtherCAT采用标准的ieee802-3以太网帧,以太网帧的结构如图2所示,各个部分的含义如表1所示。
图2 ethercat帧结构
表1 以太网帧结构含义
ethercat在标准以太网帧结构中使用了一个特的以太网帧类型0x88a4,采用这种方式可以使控制数据直写入以太网帧内,并且可以与遵守其它协议的以太网帧在一网络中并行。一个EtherCAT帧中可以包含若干个EtherCAT报文,每个报文都服务于一块逻辑过程映像区的特定内
存域,由fmmu(fieldbus memory management unit)寄存器和(syncmanager)寄存器定义,该区域最大可达4gb字节。EtherCAT报文由一个16位的wkc(working count)结束,其数据最大长度可达1486个字节。在报文头中由8位命令区数据决主站对从站的寻址方式,由于数据链独立于物理顺序,因可以对EtherCAT从站进行任意的编址。
3 EtherCAT从站硬件设计
3.1 EtherCAT从站的结构
本文设计的EtherCAT从站节点硬件包括从站协议控制器、cpu和网络接口等部分组成。EtherCAT从站中最关键部分EtherCAT协议控制器,它实现EtherCAT的物理层与数据链路层议。现在市场上有多种EtherCAT协议控制器可供使用,本文选用beckhoFF(倍福)公司的esc(EtherCAT slave controller)et1100来作为EtherCAT协议控制器,使用英飞凌的16位mcu xc164作为从站结点的cpu。整个从站硬件结构如图3所示。
图3 ethercat从站硬件结构图
如图3所示,xc164和et1100之间可以采用spi总线或者微控制器方式交换数据,e2rom用于存储ET1100的配置数据,在从站上电时由主站根据e2rom存储的数据配置ET1100。以太网口0和1分别用于接收主站的上行电报和发送下行电报。
3.2 从站控制器ET1100的结构
ET1100是一款功能强大ethercat从站控制器,具有丰富的接口资源,其内部功能结构如图4所示[5]。
图4 从站控制器et1100的内部结构功能图
其中重要的功能模块如表2所示。
表2 ET1100功能模块的介绍
3.3 从站控制器et1100的接口
物理层接口:ET1100可提供4个物理层接口,支持mii接口和ebus接口两种类型,接口数目和类型的选者可以通过ET1100的外围配置引脚p_mode[1:0]和p_conf[3:0]用上拉电阻或下拉电阻的方式进行配置,无需软件编程,简单实用。其中p_mode[1:0]引脚决定接口的数目,p_conf[3:0]引脚决定端口的类型。其配置方式如表3、表4所示。
表3 ET1100物理层端口数目配置
表4 et1100物理层接口类型的配置
mii接口以工业以太网网线作为传输介质,可以与pc机直接相连,传输距离远,可有效传输100m,但需要网卡芯片和网络变压器进行电平转换,电路复杂,成本较高,一般用在较远的场合。而ebus为低电压差分信号lvds电平,有效传输距离只有10m,但是结构简单,适合作为背板总线使用。本论文采用双mii接口,网卡芯片采用芯片ks8721bl,其接口信号和连接如图5所示。
图5 et1100 mii接口连接图
3.4 过程数据接口pdi
过程数据接口(pdi)是实现从站控制器和应用之间的接口。ET1100的pdi接口有如下几种:数字量i/o 接口,微控制器接口,spi接口。pdi接口
的选择与配置是在esi(从站信息) eeprom中的配置区中进行的。ET1100的pdi接口提供一个eeprom_loaded的信号,表明该eeprom是成功加载并且过程数据接口可以使用了,只有在esi eeprom的配置信息成功加载完,pdi引脚才被激活,在此之前所有pdi引脚都无效。本论文采用16位单片机xc164作为应用层cpu,故pdi接口选者异步16位微控制器接口,异步微控制器接口采用分接地址和数据总线,双向数据总线为16位宽,其接口电路图如图6所示。
图6 et1100和xc164的连接图
3.5 eeprom接口
ET1100具有一个i2c总线的eeprom接口,最大支持4mb的存储空间,通过引脚run/eepromsize配置,在系统上电时,若run/eeprom size为低电平则最大支持16kb存储空间,若为高电平,则最大支持4mb。本文选用的eeprom芯片为24lc16a_so8,所以将引脚run/eeprom size配置为低电平,eeprom与ET1100的连接如图7所示。
图7 et00和eeprom的连接图
4 ethercat从站软件设计
主从站之间交换的数据主要分两种形式:一种是周期性数据;另一种是非周期性数据。周期性数据传输可以采用缓冲区方式。缓冲区为在内存中分配的一段空间,两端都可以访问缓冲区中的数据;非周期性数据采用邮箱方式传输,此时一端写入数据到内存,且只有此段内存写满后另一端才能开始从内存中读取数据,并且只能当内存中的数据全部读出时,才能重新写入数据。缓冲区和邮箱由sync-manage寄存器(0x800-0x820)来定义。针对这两种数据通信方式,从站程序可以对非周期性数据通信采用查询方式,对周期性通信采用中断方式,程序流程图如图8、图9所示。
图8 中断方式流程图
图9 查询方式流程图
5 结束语
本文利用倍福公司的esc et1100,提出了一种设计ethercat工业以太网总线从站结点的方法,介绍了一种新的现场总线技术EtherCAT。本从站方案可以单独作为从站使用,也可以利用嵌入式技术融入嵌入式系统之中。通过使用EtherCAT技术,可以大大提高系统总线的性能。
作者简介
胡世江(1984-) 男 硕士研究生,研究方向为人工智能。
参考文献
[1] 刘艳强,王健,单春荣. 基于EtherCAT的多轴运动控制器研究. 制造技术与机床,2008(6):44-52.
[2] 向乾亮,辛志远. 实时以太网EtherCAT技术在电力系统中的应用. 继电器,2008,36(11):35-47.
[3] 刘艳强,单春荣. 工业以太网现场总线EtherCAT及驱动程序设计. 制造技术与机床,2007,29(11):22-29.
[4] 德国倍福公司. 实时以太网:i/o层超高速以太网[j]. 工业以太网与现场总线.
[5] EtherCAT技术组. EtherCAT-以太网现场总线
et1100ethercat