引言 CAN 总线是一种设备互连的总线型控制网络,与其它的现场总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。这些特点使得其能同时满足过程控制和制造业自动化的需求,因此被认为是最具有发展前途的现场总线之一。但是,由于其收发器驱动能力的限制,约束了CAN 总线的最远直接传输距离和总线上可以挂接的最大节点数,给系统组网带来了一定的困难。而另一方面,由于以太网的低成本、开放性、应用软硬件的支持以及强大的组网能力,目前已经是应用最广泛的局域网络技术,越来越多的工程师们开始采用CAN 总线与以太网结合的技术。针对这样一种情况,本文提出一种CAN 总线和以太网互连系统的设计方案,实现CAN 总线网和以太网的数据互连。
1 系统结构
用网关连接CAN 现场总线和以太网的网络架构图如图1 所示。
图1 系统网络结构示意图
网关的嵌入不仅使管理深入到控制现场,同时给系统组网带来了很大的方便。
1.1 网关嵌入的益处
① 增大了系统的最大CAN节点数
在不接中继器的条件下,一个CAN 子网内最多可以挂接110 个节点,而每个网关下可以连接一个子网,通过多个网关可以把多个子网联系在一起,从而增加了系统的节点数。
② 扩大了系统的组网范围
CAN 的直接通信距离大概只有10km 左右,系统按照现场区域和节点数构建子网,子网与子网通过以太网连接,从而突破了区域和距离的限制。
③ 实现了具有不同传输速度的现场总线子网的相互通信网关提供一个友好的人机接口,用户可以根据需要设置IP 地址和CAN 控制器的波特率。
1.2 网关嵌入的问题
网关的应用给系统带来方便的同时,也付出了一定的代价,在设计中必须考虑这些问题,以提高系统的整体效率。这些问题表现在:
①实时性
由于使用网关,对数据的处理必须经历先存储,再转换,最后再发送的过程,增加了一些存储转发延时。因此在设计中必须考虑系统的实时性,要求系统能在存储新接收到的数据后立即启动协议转换和数据转发任务,尽量减小系统延时。
② 安全性
若网关出现故障,会对CAN 子网和以太网间的通信产生影响,甚至会瘫痪这个子网与整个系统的通信。因此在硬件设计中,要尽量避免干扰等问题的出现;软件设计必须能对一些可纠正错误及时作出反应,并把错误信息返回给用户。
2 网关硬件设计
网关硬件设计分为CAN 接口、以太网网络接口和人机接口等3 个部分。
2.1 主控制器的选择
主控制器采用Philips 的ARM 控制器LPC2292。LPC2292 基于一个支持实时仿真和跟踪TM 的16/32 位ARM7TDMI-SCPU。CPU 内核工作电压为1.8V,引脚工作电压为3.3V。
LPC2292 带有256 k 字节(kB)嵌入的高速Flash 存储器,完全可以满足系统代码的容量要求,无需外扩存储器;独特的加速结构使32 位代码能够在最大时钟速率下运行,可实现TCP/IP 协议栈中的ARP、TCP、UDP、ICMP 等网络协议。
LPC2292 内部集成两个CAN 控制器,方便系统采用冗余设计。CAN控制器主要特性有:单个总线上的数据传输速率高达1Mb/s;32 位寄存器和RAM 访问;兼容CAN2.0B,ISO11898-1规范;全局验收滤波器可以识别所有的11 位和29 位Rx 标识符;验收滤波器为选择的标准标识符提供了FullCAN-style 自动接收。
CPU 外部静态存储器控制器为CPU 内部系统总线和外部存储器或外部I/O 器件提供了一个接口。利用这种外部总线可以方便与以太网网卡控制器进行连接。
2.2 CAN 接口
考虑系统的安全性,CAN 接口部分采用冗余设计。当正常通道发生故障时自动调用冗余通道进行传输;如果冗余通道也发生故障,则进入故障处理。其硬件接口示意图如图2 所示。LPC2292 两路通道分别通过高速总线驱动器TJA1050 与总线相连。总线驱动器采用带隔离的DC/DC 单独供电,不仅实现了两路通道之间的电气隔离,也实现了网关与总线之间的电气隔离。
2.3 网络接口
网卡控制器采用台湾RETACK 公司的10M 以太网控制芯片RTL8019 ,支持全双工工作模式,软件兼容8 位或16 位的NE2000 模式;内部集成DMA 控制器、ISA 总线控制器以及16kRAM 、网络PHY 收发器等。RTL8019 使用LPC2292 外部存储控制的BANK3 部分,它的数据地址范围为0x83400000~0x8340001F 。RTL8019 的工作电压为+5V,而LPC2292 的引脚工作电压为3.3V ,所以还应在连接线上串联470 Ω 的保护电阻。网络采用双绞线传输。
图2 网络硬件结构示意图 |