1、EtherCAT系统组成
EtherCAT是一种实时以太网技术,由一个主站设备和多个从站设备组成。主站设备使用标准的以太网控制器,具有良好的兼容性,任何具有网络接口卡的计算机和具有以太网控制的嵌入式设备都可以作为EtherCAT的主站。对于PC计算机而言,主站控制器多采用倍福开发的TwinCAT软件。EtherCAT从站使用专门的从站控制器(ESC),如专用集成芯片ET1100和ET1200,或者是利用FPGA集成EtherCAT通信功能的的IP-Core。EtherCAT物理层使用标准的以太网物理层器件,如传输介质通常使用100BASE-TX规范的5类UTP线缆。
EtherCAT运行原理为如上图所示:在一个通讯周期内,主站发送以太网数据帧给各个从站,数据帧到达从站后,每个从站根据寻址从数据帧内提取相应的数据,并把它反馈的数据写入数据帧。当数据帧发送到最后一个从站后返回,并通过第一个从站返回至主站。这种传输方式能够在一个周期内实现数据通讯,还改善了带宽利用率,最大有效数据利用率达90%以上。
2、 EtherCAT数据帧结构
EtherCAT数据直接通过以太网数据帧传输,数据帧类型为0x88A4。EtherCAT数据帧是由14个字节的以太网帧头、2个字节的EtherCAT头、44到1498字节的EtherCAT数据和4字节的帧校验序列构成。EtherCAT的数据帧结构定义如图所示。
在EtherCAT以太网报文中,目的地址为接收方的MAC地址,源地址为发送发的MAC地址,EtherCAT的以太网帧类型为0x88A4。EtherCAT头包括三个部分,分别是EtherCAT数据长度、保留位和类型。其中,EtherCAT数据长度为所有子报文长度的总和,类型固定为1,表示和EtherCAT从站通讯。每个EtherCAT子报文包括3个部分,分别是子报文头、数据和工作计数器(WKC)。其中子报文头如下表所示的7个部分。数据区中最多可以有1486个字节的数据,WKC用于记录子报文被从站操作的次数,主站设置WKC的初始值为0,当子报文被从站处理后,WKC增加一定的数值,当数据帧返回到主站时,主站会比较WKC的实际值和预期值,用来判断报文是否被正确处理。
3、EtherCAT寻址方式
EtherCAT的数据通讯是通过主站发送EtherCAT报文读写从站的内部寄存器实现的。EtherCAT报文首先通过网段寻址找到从站所在的EtherCAT网段,之后通过设备寻址找到报文数据对应的从站设备,从而完成数据交换。
(1)EtherCAT网段寻址:EtherCAT主站和从站网段有两种连接方式,分别是直连模式和开放模式。在直连模式中,从站所在的EtherCAT网段通过网线直接连接到主站的以太网控制器。在这种网络连接模式中,主站使用广播MAC地址,以太网帧头的目的地址设为0xFFFFFFFFFFFF,便可以找到EtherCAT的从站网段。在开放模式中,EtherCAT主站和从站网段都连接到一个标准的以太网交换机上,而且每个EtherCAT从站网段的第一个从站设备都有一个代表整个从站网段的MAC地址,这个从站被称作段地址从站。在这种模式下,主站发送EtherCAT报文时,以太网帧头的目的地址应该设置为目的从站网段的段地址。
(2)设备寻址:EtherCAT数据帧的子报文头里的地址区有32位,其中前16位是EtherCAT从站设备的地址,后16位是从站设备内存偏移地址。EtherCAT报文首先根据前16位找到特定的从站设备,之后根据后16位将数据写入或读出从站设备相应的内存地址。设备寻址有两种方式:顺序寻址和设置寻址。使用顺序寻址时,从站的地址是由从站设备的物理连接顺序决定的。使用设置寻址时,从站的设备地址和物理连接顺序无关,而是系统上电初始化时主站配置给从站,或者从站从自身EEPROM的配置文件中读取的。在一个EtherCAT从站网段内,每个从站设备都拥有唯一的一个设备地址,用于获取EtherCAT数据帧中相应的子报文。
4、EtherCAT分布时钟
EtherCAT提供了分布式时钟(DC)单元,来同步从站设备。相比于完全同步的通讯,分布式同步时钟具有更好的容错性,从而保证各EtherCAT从站设备同步工作的稳定性。由于每个设备的本地时钟是*运行的,为了使所有设备进行同步,需要利用分布时钟进行同步。
分布时钟同步的原理是将所有的从站设备时钟都同步于参考时钟,EtherCAT将主站连接的第一个且具有分布时钟功能的从站作为参考时钟。为了实现各从站设备之间的准确同步控制,在EtherCAT网络上电初始化时,会对分布时钟进行初始化。通过测量和计算出各从站设备时钟与参考时间的偏移,对从站设备时钟进行校正,从而达到时钟同步的目的。EtherCAT分布时钟同步方法基于硬件校正,具有很高的准确性,同步信号抖动远小于1us。
5、EtherCAT通信模式
EtherCAT通信是以主从通讯模式进行的,其中主站控制着EtherCAT系统通信。在实际自动化控制应用中,通信数据一般可分为:时间关键的和非时间关键。在EtherCAT中利用周期性过程数据通信来进行时间关键数据通信,而采用非周期性邮箱通信(mailbox)来实现非时间关键数据通信。
(1)周期性过程数据通信
周期性过程数据通信通常使用现场总线内存管理单元(FMMU)进行逻辑寻址,主站可以通过逻辑读写命令来操作从站。周期性过程数据通信使用两个存储同步管理单元(SM)来保证数据交换的一致性和安全性,通讯模式采用缓存模式。在缓存模式下使用三个相同大小的缓冲区,由SM统一管理,缓存模式的运行原理如图所示。
(2)非周期性邮箱通信
邮箱数据通信模式只使用一个缓冲区,为保证数据不丢失,数据交换采用握手机制,即在一端完成对缓冲区数据操作后,另一端才能操作缓冲区数据。通过这种轮流方式进行读写操作,来实现邮箱数据交换。
6、EtherCAT应用层协议
EtherCAT的应用层直接面向应用任务,它定义了应用程序与网络连接的接口,为应用程序访问网络提供手段和服务。通过对常用协议进行简单修改,与EtherCAT通讯协议相兼容,从而可得EtherCAT多种应用层协议,主要包括:EoE、CoE,SoE以及FoE等。
EtherCAT协议本身具有良好的同步特性和数据传输速度,非常适用于伺服系统的控制,其中CoE与SoE可实现交流伺服驱动器控制的应用层。CoE是在CANopen协议基础上,对协议进行了一些补充。CoE完全遵从CANopen的应用行规,其中CiA402行规用于伺服和运动控制。SERCOS是一种高性能数字伺服实时通信接口协议,包含多种通信技术和设备行规。SoE是指在EtherCAT协议下运行SERCOS协议规定的伺服控制行规,使用EtherCAT协议操作SERCOS行规定义的伺服参数和控制数据。