RS485-CAN总线转换器设计与实现
2011-07-05张振华侯娇艳
张振华,陈 军,侯娇艳
(1.69046部队,乌鲁木齐830001;2.新疆武警总队,乌鲁木齐830063)
0 引言
现代工业化自动控制技术迅速发展,新的总线技术不断涌现。为满足控制系统对实时性、可靠性、灵活性的要求,原有RS485系统向新的系统过渡,是工业控制领域发展的必然趋势[1][2]。为实现两种网络的互联互通,满足原有 RS485网络向CAN总线网络的顺利过渡,必须设计使用RS485-CAN转换器[3][4]。
1 该转换器应用场合
该转换器适用于工业化自动控制领域新旧系统并存的场合,是一种过渡性设备,主要实现RS485端口到CAN端口的转换,支持CAN2.0B协议。其在工业自动控制系统中具体作用可以形象示意如图1。
图1 网关在工业控制系统中的使用示意
2 系统硬件设计
本装置由MCS51单片机为核心,使用结合CAN模块控制器、CAN收发器模块和RS485收发器模块,单片机C语言编程实现CAN和RS485之间的通信[5][6]。总体硬件结构如图2所示。
图2 系统总体硬件设计结构图
3 软件设计
3.1 CAN接口软件设计
CAN总线数据链路层协议由SJA1000芯片实现,CAN接口软件设计就是对SJA1000芯片的控制寄存器,进行相应的初始化、数据的接收和发送实现。SJA1000收发数据的单片机程序如下所示[7]:
3.2 RS485接口软件设计
RS485接口软件设计主要包括串口的初始化,串口接收数据中断处理函数,串口发送数据程序,其发送数据程序部分程序代码如下所示[7]:
4 结束语
CAN总线是工业控制领域较为先进、技术较为成熟的现场总线之一,RS485总线是最常用的串行总线,实现RS485-CAN的转换可以实现旧有系统向新系统的转换升级[8]。综合考虑可靠性、转换器性能要求、成本控制,本装置采用基于MCS51单片机设计。实验结果表明:该装置转换数据快速,协议转换完备,性能可靠性高,成本低,设计及升级简单,适合于在具有类似需求的场合大范围推广使用。
[1]沈毅斌,陈善章,袁明东.基于PIC18单片机的RS-232/RS-485/CAN 互联适配器的设计[J].科技资讯,2008,(30):7.
[2]张海忠,邓先明,袁启东.基于PIC18单片机的RS485/CAN智能转换器的设计[J].现代电子技术,2007,(04):14-16.
[3]陈啸呐,贺前华,苏勇.基于LPC2119的RS485-CAN总线转换器设计[J].微计算机信息,2006,(14):20-22.
[4]蔡莉,卢珞先.RS-485通信与CAN总线的接口设计[J].武汉理工大学学报,2002,( 01) : 30-33.
[5]杨永超.佳灵JP6C-T9系列变频器RS485-CAN转换器的设计[J].湖北民族学院学报,2009,(04):412-414.
[6]蒋加伏,刘清华.RS485-CAN转换器的设计[J].微计算机信息,2010,(26):171-173.
[7]白延敏.51单片机典型系统开发实例精解[M].电子工业出版社,2009:268-292.
[8]杨凌霄,杨校辉,刘艳辉.RS485-CAN协议转换器的设计与应用[J].微计算机信息,2010,(20):81-83.