1 概述
在工厂、变电站、智能大厦等大型企业自动化系统中,如 图1(a) 所示,在上层企业管理层和生产 监控层采用的都是以太网和PC机,而在下层车间、现场都是采用现场总线(如RS-485、CAN、 lonWorks、基金会等)和单片机测控设备。上下两层的沟通,通常采用工业控制机加以太网卡,再加 上PC机插槽上的接口卡或并行打印口的EPP接口卡来实现。这种连接方式成本高,开发周期长,接 口卡成为系统上下两层的通信瓶颈,一旦出现故障,上下两层的联系就告中断。为此,如 图1(b) 所 示,我们利用廉价的“网络通”组成基于单片机的以太网-CAN网关取代昂贵的工控机加接口卡,成 功地实现了以太网和现有CAN总线网的直接连接,实现管理监控层(以太网)和生产测控层(CAN总 线网)之间的连接。上下层数据能方便地进行交流。
图1 两种分布式自动控制系统结构比较
更重要的一点在于,现在成熟、稳定、廉价的以太网已经普及深入到了工厂、车间、大楼等基层。在大型企业自动化系统中,没有必要再采用现场总线和两级结构,可直接利用廉价的以太网接口模块“网络通”,将各种测控设备直接接入以太网,形成现代化的网络控制系统。
2 以太网-CAN网关的组成原理
在网络控制系统中,我们利用“网络通”组成基于单片机的以太网-CAN网关,结构组成如 图 2 所 示。“网络通”由以太网接口A和微处理器组成。在此基础上增加CAN接口B就组成了以太网-CAN 网关。
图2 基于“网络通”的以太-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的MODEL脚接高电平,工作在Intel模式下;片选脚接地,始终处于选通状态,如 图 3 所示。微处理器对 SJA1000的操作主要是对寄存器的操作:一方面对SJA1000的模式寄存器 (MOD)、命令寄存器(CMR)、状态寄存器(SR)、中断寄存器( IR)、中断允许寄存器(IEP)、总线定时寄存器(BTR0、 BTR1)、输出控制寄存器(OCR)、时钟分频计数器(CDR)进行设置和检测; 另一方面对收发缓冲区进行读写,从而和CAN设备交换数据。
图3 以太网-CAN 接口原理图