摘 要:文章首先介绍了RS485总线和CAN总线的特点,然后结合RS485总线的缺点与CAN总线的优点,给出了RS485-CAN转换器的设计方法,最后描述了具体的硬软件设计。
1 RS485 及CAN 总线简介
RS485 是一种平衡传输方式的串行接口标准,采用半双工异步数据通信方式。基于在RS485 总线上只能有一个主机的特点,它往往应用在集中控制枢纽和分散控制单元之间。同时RS485 的总线效率低,系统的实时性差,通信的可靠性低,后期维护成本高,网络工程调试复杂,传输距离不理想,单总线可挂接的节点少等缺点也局限了其应用。
CAN(Controller Area Network,控制器局域网)现场总线是一种由带CAN 控制器组成的高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一。它的总线长度最远可达10千米(速率5Kbps 以下),数据传输速率最高可达1Mbps(通讯距离40米以内)。它在多主方式下工作,不分主从。采用非破坏总线仲裁技术,即使网络负载很重也不会出现网络瘫痪现象。此外,CAN 的每帧信息都有CRC 校验和其它检错措施,有很好的检错效果。由于CAN 总线具备以上优点,它目前已经被广泛应用到汽车电子、电力系统、航空工业和自动工作等领域中,并形成了国际标准,被公认为几种最有前途的现场总线之一。
一时间完全放弃RS485网络系统是有困难的,尤其是在已经具有现成的硬件网络中。因此考虑一种折中的方法,就是在保留现有RS485系统硬件结构的基础上,添加一个CAN总线接口,从而实现RS485网络与CAN网络的互联。
2 系统硬件设计
RS485-CAN转换器硬件设计框图如图1所示,整个硬件系统分为5个模块:微控制器模块,基本模块,CAN接口模块,RS485模块和储存模块。其中CAN接口模块的CAN控制器的选用要依据微控制器模块,如果选择的微控制器中集成了CAN控制器,则无需外接CAN控制器,否则需要外接CAN控制器。
2.1 微控制器模块,基本模块以及储存模块
这三个模块的设计属于常规设计,因此省去具体的电路图。需要说明的是微控制器可以选择内部集成了CAN 控制器的单片机,但是本设计基于系统成本,性价比以及微控制器的应用普遍性的考虑,使用的是ATMEL的AT89C52单片机;基本模块主要是完成微控制器的外围电路设计,主要包括电源和晶振以及复位电路等;储存模块主要是用来储存系统的配置信息,如CAN 波特率,RS485 波特率等,要求的储存空间较小,1K 的片外EEPROM足够使用,当然也可以选择自带EEPROM 的微处理器。
2.2 CAN 接口模块
CAN 接口模块包括总线控制器和收发器两部分。CAN 总线控制器选择的是SJA1000,它是Philips 公司推出的一款完全符合CAN 总线协议规定的CAN 控制器,可完成报文控制,数据滤波等CAN 控制器功能,SJA1000 不仅兼容PCA82C200支持的