Board logo

标题: CAN总线协议到EtherCAT从站协议的转换网关设计 [打印本页]

作者: forsuccess    时间: 2013-4-23 23:21     标题: CAN总线协议到EtherCAT从站协议的转换网关设计

随着工业自动化的发展,大量现场设备的信息传递不再采用模拟信号电缆传送,而是替换为智能化现场设备,通过通信方式传递设备的状态和控制信息。在这个过程中,现场总线设备得到了大量的应用。而现场总线设备的多样性,导致在一个大型的自动化控制系统中设备的通信协议不同、通信速率不同、网络拓扑形式不同,给中央监控系统和这些现场设备之间的信息交互带来困扰。
为了更好地解决控制系统内自动化数据传输及互连的问题,部分国际自动化系统厂家借助以太网现有协议框架及其100M的带宽资源,在现有的以太网协议上进行相应的修改,推出了不同的实时工业以太网技术,比较流行的有EtherCAT、Sercos III、Profinet、Powerlink、Ethernet/IP等。其中,EtherCAT(Ethernet for Control Automation Technology)是开放的实时工业以太网通信协议,最初由德国倍福自动化有限公司研发。它基于标准的以太网技术,支持多种设备连接拓扑结构,具有配置简单、有效数据率高、全双工、数据传输容量大、传输速度快、时钟同步性高、成本低、开放性好等特点,是一种用于工业自动化的实时、高速以太网通信协议。EtherCAT协议使用全双工100 Mbps以太网,系统由一个通信主站和若干从站通信节点组成,主站发送以太网帧给各从站,从站从数据帧中抽取数据或将数据插入数据帧。主站使用标准的以太网控制器,协议和驱动程序由软件实现,从站通信节点使用专门的EtherCAT从站控制器。
本文设计了CAN总线主站协议转换为EtherCAT从站协议的协议转换网关设备(以下简称CAN/EtherCAT协议转换网关),实现了工业自动化现场CAN总线通信设备与EtherCAT主站控制系统的互连通信。

1 系统总体网络架构
CAN/EtherCAT协议转换网关存在两个方向的外部接口,对上通过以太网与EtherCAT主站进行数据交换,通信协议符合EtherCAT实时工业以太网技术规范要求;对下与CAN总线从站设备实现通信,包括实时数据通信、故障诊断恢复和冗余切换处理等。系统总体的网络架构如图1所示。



2 CAN/EtherCAT协议转换网关
2.1 CAN/EtherCAT协议转换网关核心器件选型
CAN/EtherCAT协议转换网关硬件包括EtherCAT从站协议控制器、从站MCU、CAN总线协议控制器等。EtherCAT协议控制器实现EtherCAT的物理层与数据链路层的协议。从站MCU主要负责运行用户的应用程序,实现EtherCAT和CAN总线协议之间的协议及数据转换。CAN总线协议控制器实现CAN总线的物理层与数据链路层的协议。
现在市场上有多种EtherCAT协议控制器可供使用,如Beckhoff公司的ASIC芯片ET1100、ET1200,德国Hilscher公司的ComX—CA—RE模块,也可以使用IP—Core将EtherCAT通信功能集成到设备控制FPGA中。ET1200是简化版,只提供1个RJ45接口,不能满足开发需求。ComX模块提供了方便易用的接口,可以简化硬件设计,但是价格较高。FPGA可提供针对Altera和Xilinx公司的IP核,但是价格高,开发难度大。
考虑到实际应用中,开发成本及软硬件设计的实现复杂度,EtherCAT从站协议控制器选用ET1100。ET1100是一款强大的EtherCAT从站控制器ESC专用芯片,具有丰富的接口资源。它具有4个数据收发端口、8个FMMU单元、8个SM、4 KB控制寄存器、8 KB过程数据存储器、支持64位的分布时钟。
从站MCU选用LPC2292芯片。LPC2292是一款基于16/32位ARM7TDMI—S核,支持实时仿真和跟踪的MCU。LPC2292自带2路高级CAN总线通道,可节省设计成本。
2.2 CAN/EtherCAT协议转换网关硬件设计
CAN/EtherCAT协议转换网关主要由通信控制回路、Ethernet回路、CAN总线回路3部分电路构成。CAN/EtherCAT协议转换网关硬件框图如图2所示。


在EtherCAT回路中,EtherCAT协议控制器ET1100可选择使用SPI或8位、16位总线与LPC2292连接。ET1100的相关信息保存在EEPROM中。数据收发端口使用PORT0和PORT1,采用MII方式连接PHY芯片,经过网络变压器隔离,通过RJ45接口与主站或其他从站连接。
通信管理控制回路由MCU(LPC2292)、状态显示电路、外部存储器及单片机外围电路构成。CAN/EtherCAT协议转换网关的配置信息、通信数据使用256 KB外部RAM或F-RAM存储,可以显示运行状态和通信状态等信息。
CAN总线第3方通信协议中,使用LPC2292的内置CAN总线控制器,可根据需要使用1路或2路CAN总线。为了提高CAN/EtherCAT协议转换网关的电磁兼容性EMC,使用高速光耦对CAN总线通信信号进行隔离。
3 CAN/EtherCAT协议转换网关软件设计
CAN/EtherCAT协议转换网关软件由EtherCAT从站通信处理模块和CAN总线主站通信处理模块组成。CAN/EtherCAT协议转换网关软件在功能上实现EtherCAT从站通信协议和CAN总线主站通信协议功能。
CAN/EtherCAT协议转换网关软件基于不带操作系统的硬件平台,采用C语言编写。应用程序各任务串行执行,可以直接操作硬件的中断和定时器,保证了任务执行的速度和系统的性能。
3.1 EtherCAT从站报文帧结构
EtherCAT协议数据直接使用以太网数据帧传输,数据帧类型为0x88A4。数据区最大可达1 498字节。数据区由1个或多个EtherCAT子报文组成,每个子报文对应独立的设备或从站存储区域。EtherCAT从站子报文帧结构如图3所示。


每个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所示。



4 CAN/EtherCAT协议转换网关性能
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总线数据扫描一周的时间为40 ms。

结语
CAN/EtherCAT协议转换网关通过LPC2292实现了EthercAT协议控制器与CAN总线控制器之间的协议转换和数据交换,解决了EtherCAT实时工业以太网与CAN总线之间通信的互联问题,保证了CAN现场总线设备数据可以更加高效、快速地传递到EtherCAT中央监控系统中。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0