CAN总线是由德国BOSCH公司为现实汽车测量和执行部件之间的数据通讯而设计的串行通讯网络。随着CAN的应用普及,其应用范围已不局限于汽车行业,正在向机械、纺织等行业发展,随着应用领域分布式控制系统的网络越来越庞大,CAN总线越来越受地域限制。如何能使CAN网络脱离地域局限性,最有效的方法当属实施CAN总线网络接入现有的有线、无线网络当中。那么,如何能使CAN网络与有、无线网络转换,由于CAN总线协议数据与TCP/IP协议数据在桢结构上完全不同,所以我们必须使用转换接口对其数据包从新封装。
二、CAN网络与有线网的转换
在制造业信息化系统中,企业管理层和生产管理层采用的都是以太网和PC机,而在生产车间、现场都是采用现场总线(如RS-485、CAN、USB)和单片机测控设备。要想实现管理层与现场生产层的沟通,通常采用工业控制机加以太网卡,再加上PC机插槽上的转换接口卡来实现。这种连接方式提高了生产现场的计算机数量的使用,成本高,开发周期长。所以选用具有独立控制器功能,能独立使用的接口卡则是一种很好的选择。
1、系统组成
如图所示:
在工业自动化系统中,可直接利用以太网-CAN接口模块,将各种测控设备直接接入局域网,形成与局域网络互通的网络控制系统。如上图所示,采用转换接口卡,使网络结构成功地实现了以太网和现有CAN总线网的直接连接,实现管理监控层(以太网)和生产测控层(CAN总线网)之间的连接。上下层数据能方便地进行交流。而其它通讯则使用PC机接人局域网实现数据交互。
2、转换接口组成原理
接口由以太网接口A和微处理器组成。在此基础上增加CAN接口B就组成了以太网-CAN 网关。如图所示:
(1)以太网接口A
以太网接口A可选用符合IEEE802.3协议的10Base-T通用接口芯片,如 UM9003、RTL8019等,完成与以太网在物理层和数据链路层的连接。使用 RJ-45插口,可以直接挂接到以太网上。
(2)微处理器
微处理器负责对以太网接口A芯片和CAN接口B芯片进行控制。微处理器内驻有TCP/IP通信协议和CAN协议,完成以太网协议和CAN总线协议转换,实现接口A和接口B通信数据的透明传输。
由于CAN总线传输的数据量不大,数据传输速率不高,远小于以太网的数据传输速率,所以在以太网 -CAN接口模块中,数据的传送瓶颈在CAN接口B。在测控领域,通常传输的数据量不大,对数据传输速率要求也不高,于是,在此模块中微处理器可选用通常的单片机如 8031等。
(3)CAN接口B
CAN接口B采用了飞利浦的CAN物理层和链路层接口芯片SJA1000和 PCA82C250。微处理器直接控制SJA1000的AD0~AD7、ALE、RST 和脚。SJA1000的MOD EL脚接高电平,工作在Intel模式下;片选脚接地,始终处于选通状态,如图(3)所示。微处理器对SJA1000的操作主要是对寄存器的操作:一方面对SJA1000的模式寄存器(MOD)、命令寄存器(CMR)、状态寄存器(SR)、中断寄存器(IR)、中断允许寄存器(IEP)、总线定时寄存器(BTR0、BTR1)、输出控制寄存器(OCR)、时钟分频计数器(CDR)进行设置和检测;另一方面对收发缓冲区进行读写,从而和CAN设备交换数据。电路原理图如下: