APP下载

CAN总线协议到EtherCAT从站协议的转换网关设计※

2013-08-27鹿海霞王丹麟杨卫民

单片机与嵌入式系统应用 2013年2期
关键词:通信协议网关以太网

鹿海霞,王丹麟,杨卫民

(国电南京自动化股份有限公司 研究院南京210003)

引 言

随着工业自动化的发展,大量现场设备的信息传递不再采用模拟信号电缆传送,而是替换为智能化现场设备,通过通信方式传递设备的状态和控制信息。在这个过程中,现场总线设备得到了大量的应用。而现场总线设备的多样性,导致在一个大型的自动化控制系统中设备的通信协议不同、通信速率不同、网络拓扑形式不同,给中央监控系统和这些现场设备之间的信息交互带来困扰。

为了更好地解决控制系统内自动化数据传输及互连的问题,部分国际自动化系统厂家借助以太网现有协议框架及其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所示。

图1 系统总体网络架构

2 CAN/EtherCAT协议转换网关

2.1 CAN/EtherCAT协议转换网关核心器件选型

CAN/EtherCAT 协议转换网关硬件包括EtherCAT从站协议控制器、从站MCU、CAN 总线协议控制器等。EtherCAT 协议控制器实现EtherCAT 的物理层与数据链路层的协议。从站MCU 主要负责运行用户的应用程序,实现EtherCAT 和CAN 总线协议之间的协议及数据转换。CAN 总线协议控制器实现CAN 总线的物理层与数据链路层的协议。

考虑到实际应用中,开发成本及软硬件设计的实现复杂度,EtherCAT 从站协议控制器选用ET1100。ET1100是一款强大的EtherCAT 从站控制器ESC 专用芯片,具有丰富的接口资源。它具有4个数据收发端口、8个FMMU 单元、8个SM、4KB控制寄存器、8KB过程数据存储器、支持64位的分布时钟。

从站MCU 选用LPC2292芯片。LPC2292是一款基于16/32位ARM7TDMI-S核,支持实时仿真和跟踪的MCU。LPC2292自带2路高级CAN 总线通道,可节省设计成本。

2.2 CAN/EtherCAT协议转换网关硬件设计

CAN/EtherCAT 协议转换网关主要由通信控制回路、Ethernet 回路、CAN 总线回路3 部分电路构成。CAN/EtherCAT 协议转换网关硬件框图如图2所示。

图2 EtherCAT/CAN协议转换网关硬件框图

在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 协议转换网关软件在功能上实现Ether-CAT 从站通信协议和CAN 总线主站通信协议功能。

CAN/EtherCAT 协议转换网关软件基于不带操作系统的硬件平台,采用C 语言编写。应用程序各任务串行执行,可以直接操作硬件的中断和定时器,保证了任务执行的速度和系统的性能。

2.中国国际税收遵从管理能力的挑战。AP-BEPS的最终目标是通过跨境税收活动的合规管理,避免国际双重不征税。在高速全球化时代,跨境活动量呈指数式上升,要促进纳税人跨境税收活动的合规,这对于发展中国家中国的国际税收遵从管理能力更是一个严峻挑战。

3.1 EtherCAT从站报文帧结构

EtherCAT 协议数据直接使用以太网数据帧传输,数据帧类型为0x88A4。数据区最大可达1 498字节。数据区由1个或多个EtherCAT 子报文组成,每个子报文对应独立的设备或从站存储区域。EtherCAT 从站子报文帧结构如图3所示。

图3 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)和运行(Operational)。各状态之间的转换关系如图4所示。状态机依次在不同的状态及状态转换期间完成不同的任务。

图4 EtherCAT从站状态转换图

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/EtherCAT 协议转换网关采用协议转换网关和CAN 总线从站设备的多级对象字典设计模式,如图5所示。

图5 多对象字典设计模型

CAN/EtherCAT 协议转换网关和CAN 总线从站设备1的对象字典输出数据(RxPDo)的主索引为十六进制数据0xl600~0xl6FF,每个输出主索引的子索引为0x7xx0~0x7xxF,最多16个子索引;输入(TxPDo)的主索引为十六进制数据0xlA00~0xlAFF,每个输入主索引的子索引为0x6xx0~0x6xxF,也是最多16个子索引。每个CAN 总线从站设备通信配置信息主索引为0x8xx0~0x8xxF。CAN 总线主站通信参数对象字典主索引为0xF800。CAN/EtherCAT 协议转换网关和CAN 从站设备的PDo对象字典映射关系如图6所示。

图6 CAN/EtherCAT协议转换网关PDO 对象字典映射关系图

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个字节有效数据,数据帧刷新时间平均为2ms。

图7 CAN/EtherCAT协议转换网关数据刷新图

TwinCAT 软件与CAN/EtherCAT 协议转换网关全部数据刷新时间取决于TwinCAT 软件报文扫描周期和CAN 总线从站设备的数量、数据的多少。假设每个CAN/EtherCAT 协议转换网关下面连接10个CAN 总线设备,每个设备的数据为16字节,那么所有CAN 总线数据扫描一周的时间为40ms。

结 语

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

编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。

[1]郇极,刘艳强.工业以太网现场总线EtherCAT 驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010.

[2]刘泽祥,闫晓宇,王荣.现场总线技术[M].北京:机械工业出版社,2011.

[3]施大发,刘建林,王辉,等.一种高性能EtherCAT 实时以太网从站的设计[J].湖南师范大学自然科学学报,2011,34(3).

[4]王磊,李木国,王静,等.基于EthercAT 协议现场级实时以太网控制系统研究[J].计算机工程与设计,2011,32(7).

[5]马军贤,周侗,杨志家,等.EtherCAT 从站的设计与实现[J].自动化与仪表,2011(8).

[6]EtherCAT TechnologyGroup.ETG5001_3_V0i1i1_S_D_MDP_Gateways.pdf.V0.1.1[EB/OL].[2012-10-23].http://www.ethercat.org.cn/MemberArea/Download/PDF/.

猜你喜欢

通信协议网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
信号系统网关设备的优化
基于Z-Stack通信协议栈的红外地温采集电路设计
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
LTE Small Cell网关及虚拟网关技术研究
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
万兆以太网在连徐高速公路通信系统改造中的应用