http://www.ethercat.org.cn/cn.htm
EtherCAT技术介绍
EtherCAT系统组成和工作原理
EtherCAT采用主从式结构,主站PC机采用标准的100Base-TX以太网卡,从站采用专用芯片。系统控制周期由主站发起,主站发出下行电报,电报的最大有效数据长度为1498字节。数据帧遍历所有从站设备,每个设备在数据帧经过时分析寻址到本机的报文,根据报文头中的命令读入数据或写入数据到报文中指定位置,并且从站硬件把该报文的工作计数器(WKC)加1,表示该数据被处理。整个过程会产生大约10ns的时间延迟[1]。数据帧在访问位于整个系统逻辑位置的最后一个从站后,该从站把经过处理的数据帧做为上行电报直接发送给主站。主站收到此上行电报后,处理返回数据,一次通信结束。系统结构原理图如图1所示:
EtherCAT支持几乎所有的拓扑类型,包括线型、树型、星型等,其在物理层可使用100BASE-TX双绞线、100BASE-FX光纤或者 LVDS(Low Voltage Differential Signaling, 即低压差分信号传输),还可以通过交换机或介质转换器实现不同以太网布线的结合。快速以太网的物理层(100Base-TX)允许两个设备之间的最大电缆长度为100米,而LVDS的物理层只能保障10米的传输间距,适合于近距离站点的连接。整个网络最多可以连接65535个设备。
借助于从站中的EtherCAT专用芯片和主站中读取网卡数据的DMA技术,整个协议处理过程都在硬件中进行。EtherCAT系统可以在30μs内刷新1000个I/O点,它可以在300μs内交换一帧多达1486个字节的协议数据,这几乎相当于12000个数字量输入或输出。控制100个输入输出数据均为8字节的伺服轴只需要100μs[2]。EtherCAT的高性能使它还可以处理分布式驱动器的电流(转矩)控制。
EtherCAT数据帧结构
EtherCAT以标准以太网技术为基础,在MAC(媒体访问层)增加了一个确定性调度的软件层,该软件层实现了通信周期内的数据帧的传输。EtherCAT采用标准的IEEE802.3以太网帧,帧结构如图2,各部分含义见表1:
EtherCAT没有重新定义新的以太网帧结构,而是在标准以太网帧结构中使用了一个特殊的以太网帧类型0x88A4,采用这种方式可以使控制数据 直接写入以太网帧内,并且可以与遵守其它协议的以太网帧在同一网络中并行。一个EtherCAT帧中可以包含若干个EtherCAT子报文,报文结构如图3,各部分含义见表2,每个报文都服务于一块逻辑过程映像区的特定内存区域,由FMMU(Fieldbus Memory Management Unit,负责逻辑地址与物理地址的映射)寄存器和SM(Sync Manager,负责对ESC和微处理器内存的读写)寄存器定义,该区域最大可达4GB字节。EtherCAT报文由一个16位的WKC(Working Count)结束,其数据区最大长度可达1486个字节。在报文头中由8位命令区数据决定主站对从站的寻址方式,由于数据链独立于物理顺序,因此可以对EtherCAT从站进行任意的编址。
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从站节点正确处理。