igh ethercat master及简单介绍

接触ethercat也有一段时间了,做些小总结吧

1,关于ethercat

ethercat是基于工业以太网的一种总线协议
我接触的igh ethercat master for linux是以用ethercat协议设计的一个软件,或者说igh ethercat master实现了ethercat协议里面的主站功能,本质是一个开源软件。不过需要自己下载源码,编译,安装。
ethercat协议是有两部分组成,主站和从站,主站是一个纯软件,从站包括特殊硬件和从站代码。

2,知识点

EtherCAT运行原理:

在一个通讯周期内,主站发送以太网数据帧给各个从站,数据帧到达从站后,每个从站根据寻址从数据帧内提取相应的数据,并把它反馈的数据写入数据帧。当数据帧发送到最后一个从站后返回,并通过第一个从站返回至主站。这种传输方式能够在一个周期内实现数据通讯,还改善了带宽利用率,最大有效数据利用率达90%以上。
还有,主站实现源码修改了网卡驱动,在发送以及接收数据的时候删减了一些不必要的操作,所以用主站提供的网卡驱动速度更快一些。

EtherCAT寻址方式:

(1)网段寻址:
利用MAC地址,地址存放在以太网帧头里面。EtherCAT主站和从站网段有两种连接方式,分别是直连模式和开放模式。在直连模式中, 从站所在的EtherCAT网段通过网线直接连接到主站的以太网控制器。在这种网络连接模式中,主站使用广播MAC地址,以太网帧头的目的地址设为0xFFFFFFFFFFFF,便可以找到EtherCAT的从站网段。在开放模式中, EtherCAT主站和从站网段都连接到一个标准的以太网交换机上,而且每个EtherCAT从站网段的第一个从站设备都有一个代表整个从站网段的MAC地址,这个从站被称作段地址从站。在这种模式下,主站发送EtherCAT报文时,以太网帧头的目的地址应该设置为目的从站网段的段地址。
(2) 设备寻址:
EtherCAT数据帧的子报文头里的地址区有32位,其中前16位是EtherCAT从站设备的地址,后16位是从站设备内存偏移地址。EtherCAT报文首先根据前16位找到特定的从站设备,之后根据后16位将数据写入或读出从站设备相应的内存地址。

Ethercat数据帧

igh ethercat master及简单介绍

EtherCAT应用层协议:

EtherCAT的应用层直接面向应用任务,它定义了应用程序与网络连接的接口,为应用程序访问网络提供手段和服务。通过对常用协议进行简单修改,与EtherCAT通讯协议相兼容,从而可得EtherCAT多种应用层协议,主要包括:EoE、CoE,SoE以及FoE等。