首页 > 代码库 > 基于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协议的从站分析