CAN总线协议到EtherCAT从站协议的转换网关设计
每个EtherCAT子报文包括子报文头、数据区和相应的工作计数器(Working Counter,WKC)。发送子报文的WKC初始值为0,子报文被CAN /EtherCAT协议转换网关正确处理后,增加一个增量,主站根据WKC是否正确,来判断该子报文是否被正确响应。
3.2 EtherCAT从站通信处理模块
EtherCAT从站通信处理模块实现与EtherCAT主站之间的通信,EtherCAT从站通信处理模块以EtherCAT从站控制器为核心,从站协议控制器实现EtherCAT数据的接收、发送以及错误处理。从站MCU操作EtherCAT从站协议控制器,实现应用层协议。
EtherCAT协议有2种数据交换形式:一种是周期性过程数据通信,另一种是非周期性邮箱数据通信。周期性过程数据通信用来传输数据刷新率要求较高的输入输出数据,非周期性邮箱数据通信则用来配置或读取从站的参数信息。
自动化控制系统中,系统一般要求先采集下面设备的输入数据,对输入数据进行相应的逻辑处理,然后产生输出控制信号,发送到输出设备。EtherCAT协议的状态机通信模式很好地解决了这个问题,保证了通信的安全可靠。
CAN/EtherCAT协议转换网关支持4种状态:初始化(Init)、预运行(Pre-Operational)、安全运行(Safe-Operational)和运行(Operation al)。各状态之间的转换关系如图4所示。状态机依次在不同的状态及状态转换期间完成不同的任务。
CAN/EtherCAT协议转换网关处于初始化状态时,主站初始化EtherCAT从站控制器的一些配置寄存器、配置邮箱通道参数。预运行状态下,CAN/EtherCAT协议转换网关与主站使用邮箱通信交换通信配置信息,此时,不允许过程数据通信。安全运行状态下,CAN/EtherCAT协议转换网关应用程序读入输入数据,但不产生输出信号,设备无输出,处于“安全状态”。运行状态下,CAN/EtherCAT协议转换网关应用程序读入输入数据,此时,主站应用程序发出的输出数据有效,CAN/EtherCAT协议转换网关产生输出信号。
3.3 CAN总线主站通信处理模块
CAN总线主站通信处理模块主要实现与CAN总线从站设备之间的数据交换、参数配置和故障诊断等。数据的收发采用定时器和中断相配合的模式。
上电硬件初始化,配置好CAN总线通信的参数后,CAN总线主站通信处理模块首先请求下面各CAN总线从站设备的输入数据,所有输入数据扫描完成后,置输入数据扫描完成标志,EtherCAT主站接收到该标志后,转换CAN/EtherCAT协议转换网关状态到运行状态。此时,输出数据有效,CAN总线主站通信处理模块发送输出数据到相关CAN总线从站设备。所有的从站一轮扫描结束后,判断统计是否有从站出现通信故障,并进行相应的处理。
3.4 CAN/EtherCAT协议转换网关对象字典设计
EtherCAT协议使用对象字典实现标准的参数信息配置和输入、输出数据读写操作,每个对象字典有一个主索引和多个子索引。在CAN/Et herCAT协议转换网关采用协议转换网关和CAN总线从站设备的多级对象字典设计模式,如图5所示。
CAN/EtherCAT协议转换网关和CAN总线从站设备1的对象字典输出数据(RxPDo)的主索引为十六进制数据0x1600~0x16FF,每个输出主索引的子索引为0x7xx0~0x7xxF,最多16个子索引;输入(TxPDo)的主索引为十六进制数据0x1A00~0x1AFF,每个输入主索引的子索引为0x6xx0~0x6xxF,也是最多16个子索引。每个CAN总线从站设备通信配置信息主索引为0x8xx0~0x8xxF。CAN总线主站通信参数对象字典主索引为0xF 800。CAN/EtherCAT协议转换网关和CAN从站设备的PDo对象字典映射关系如图6所示。
EtherCAT主站采用Beckhoff公司的TwinCAT软件,与4个CAN/EtherCAT协议转换网关进行通信,采用wireshark网络封包分析软件,撷取EtherCAT网络通信报文帧,共撷取10次,每次1万帧。TwinCAT软件与CAN/EtherCAT协议转换网关全部数据刷新时间如图7所示。当输入数据为128字节、输出数据为100字节时,通过对撷取的请求报文时间戳和响应报文时间戳进行差值计算得出:TwinCAT主站软件与CAN/EtherCAT协议转换网关之间报文平均响应时间为200μs左右。CAN/EtherCAT协议转换网关具有较高的可靠性、安全性和快速响应特性。CAN总线主站与CAN总线从站设备通信波特率设为1 Mbps,一般一帧报文为8个字节有效数据,数据帧刷新时间平均为2 ms。
TwinCAT软件与CAN/EtherCAT协议转换网关全部数据刷新时间取决于TwinCAT软件报文扫描周期和CAN总线从站设备的数量、数据的多少。假设每个CAN/EtherCAT协议转换网关下面连接10个CAN总线设备,每个设备的数据为16字节,那么所有CAN总线数据扫描一周
EtherCAT从站 CAN总线 网关 协议转换 相关文章:
- 为什么要使用CAN总线?(05-31)
- 基于CAN总线的智能家居安防系统设计(10-11)
- 如果CAN总线中节点ID相同会怎样?(08-31)
- 恶劣电磁环境中的CAN总线接口电路设计(01-10)
- μC/OSII的CAN驱动程序设计(11-25)
- 基于ARM LPC2292 的CAN总线和以太网间的(01-13)