张振华,陈 军,侯娇艳
(1.69046部队,乌鲁木齐830001;2.新疆武警总队,乌鲁木齐830063)
现代工业化自动控制技术迅速发展,新的总线技术不断涌现。为满足控制系统对实时性、可靠性、灵活性的要求,原有RS485系统向新的系统过渡,是工业控制领域发展的必然趋势[1][2]。为实现两种网络的互联互通,满足原有 RS485网络向CAN总线网络的顺利过渡,必须设计使用RS485-CAN转换器[3][4]。
该转换器适用于工业化自动控制领域新旧系统并存的场合,是一种过渡性设备,主要实现RS485端口到CAN端口的转换,支持CAN2.0B协议。其在工业自动控制系统中具体作用可以形象示意如图1。

图1 网关在工业控制系统中的使用示意
本装置由MCS51单片机为核心,使用结合CAN模块控制器、CAN收发器模块和RS485收发器模块,单片机C语言编程实现CAN和RS485之间的通信[5][6]。总体硬件结构如图2所示。

图2 系统总体硬件设计结构图
CAN总线数据链路层协议由SJA1000芯片实现,CAN接口软件设计就是对SJA1000芯片的控制寄存器,进行相应的初始化、数据的接收和发送实现。SJA1000收发数据的单片机程序如下所示[7]:


RS485接口软件设计主要包括串口的初始化,串口接收数据中断处理函数,串口发送数据程序,其发送数据程序部分程序代码如下所示[7]:


CAN总线是工业控制领域较为先进、技术较为成熟的现场总线之一,RS485总线是最常用的串行总线,实现RS485-CAN的转换可以实现旧有系统向新系统的转换升级[8]。综合考虑可靠性、转换器性能要求、成本控制,本装置采用基于MCS51单片机设计。……