首页 > 代码库 > 基于EtherCAT协议的从站分析

基于EtherCAT协议的从站分析

EtherCAT的从站系统实际上是一个嵌入式计算机系统,这个嵌入式控制系统的

主要部分就是EtherCAT从站控制器(ESC),实现EtherCAT协议过程中物理层与数

据链路层之间的数据通讯是它的主要任务,而应用层协议则根据不同的控制任务通过

从站微控制器来完成,这样,应用层微控制器与ESC共同完成EtherCAT从站系统的

构成。EtherCAT从站系统的软件设计主要包括两个部分:EtherCAT主站的管理和

EtherCAT从站应用程序的设计[[36]。主站由TwinCAT管理,控制发送相关的操作命令

或实时数据,完成主站与从站之间过程数据通讯的管理与调配,及从站所以设备的工

作状态的控制与管理;从站应用程序则是整个通信过程的核心,完成应用控制任务。

根据EtherCAT协议所完成的功能设计出的从站软件协议栈主要

完成以下几项任务[[22,23]

     }1}初始化任务初始化从站微处理器与EtherCAT从站控制器,选

择过程数据接口类型,使能ESC中断服务,初始化CoE对象字典,设置邮

箱与过程数据的缓存通道初始参数以及与EtherCAT协议相关变量;

     (2)状态机任务通过ESC中的应用层状态控制寄存器的值判断当

前从站请求的状态,从站先检查状态机转换所需要的参数配置是否正确,当

检查正确后切换到相应状态,如果转换成功则将结果写入从站状态转换变量,

根据当前状态设置SM或FMMU通道参数,启动或停止从站处理的数据服务

类型,如果主站请求的状态转换失败,从站将给出状态转换错误标志;

     (3)数据通信任务完成非周期性数据与周期性数据通信的通道参数

设置以及通信数据的处理,实现邮箱数据与实时过程数据的通信服务。当启

动过程数据通信服务后,从站可以查询或中断模式处理周期性过程数据的通

信服务和应用层任务。

    根据上述EtherCAT通信协议所完成的三项任务,由从站微处理器与ESC

从站控制器及从站软件的共同配合下来完成,最终设计出的从站软件协议栈

完成任务的流程图如图所示。

 

    首先,采用ESC的PDI接口类型为DPRAM数据接口,使用外部微

处理器访问,支持串行及并行模式的访问。根据ESC与微处理器之间不同访

问模式对两者的通信接口进行不同的配置,确保底层数据传送正确性。

    其次,完成EtherCAT从站接口初始化,包括对邮箱通信的接口,过程

数据输入输出数据标志的初始化,应用层事件寄存器的初始化以及确定过程

数据的输入输出过程数据字节大小即过程数据对象的映射。

    最后,从站协议栈进入查询状态,不断检查应用层是否发生应用层请求

事件,如果当前处于自由运行模式,从站可以处理过程数据通信,否则只能

查询并处理非周期性邮箱数据通信;如果处于同步运行模式,过程数据的处

理是在ESC中断服务函数中处理的,每当有过程数据刷新时就会触发ESC

中断信号给微处理器,处理器调用中断服务例程来处理过程数据。

基于EtherCAT协议的从站分析