1.RS485及CAN总线简介
RS485是工业操控范畴中一种传统的总线技能。但是,跟着工业操控的复杂度进步,RS485总线在体系容量,通讯间隔,不能支撑多主结构等方面的缺点开端逐步闪现。
CAN总线是从20时纪80年代初发展起来的一种新式现场总线技能,它的总线长度最远可达10千米(速率5Kbps以下),数据传输速率最高可达1Mbps(通讯间隔40米以内)。它在多主方法下作业,不分主从;节点数的数目首要取决于总线驱动电路,现在可达110个。选用非损坏总线裁定技能,即便网络负载很重也不会呈现网络瘫痪现象。此外,CAN的每帧信息都有CRC校验和其它检错办法,有很好的检错作用[1]。
因为CAN总线具有以上长处,它现在现已被广泛应用到轿车电子、电力体系、航空工业和主动作业等范畴中,并形成了国际标准,被公认为几种最有出路的现场总线之一[2]。
但是,因为RS485和CAN总线的电压不兼容,帧格局也不相同,因而,很多现有的RS485总线设备若要在CAN总线上运用,就必须运用RS485-CAN总线转化器。
2.体系硬件规划
2.1体系硬件原理框图
图1 :RS485-CAN总线转化器原理框图
RS485-CAN总线转化器由微操控器、CAN总线操控器、CAN总线收发器、UART操控器、RS485总线收发器组成,其原理框图如图1所示。
微处理器经过对CAN操控器和UART操控器的操作,经过CAN总线收发器和RS485总线收发器的电平转化,别离完结了在CAN总线上接纳和发送数据以及对RS485设备上数据的读写。
当要向RS485设备写数据时,就将要写的数据发送到CAN总线上。经过CAN总线收发器的电平转化之后,CAN操控器将收到一帧CAN数据,当承认这帧数据是发往本节点时,微操控器就将数据发送到UART操控器上,经过RS485总线收发器传送到RS485设备上。
RS485设备发送数据时,数据将经过RS485和UART操控器传送到微处理器上。微处理器就将这个数据经过CAN操控器和CAN总线收发器发送到CAN总线上,让其它节点接纳。
2.2体系电路规划
本文介绍的RS485-CAN总线转化器选用飞利浦公司的LPC2119作为体系的微操控器。LPC2119是一款集成有CAN和UART操控器的ARM7核的工业级单片机。具有低功耗和安稳牢靠的特色[3]。因为LPC2119自身集成了CAN和UART操控器,因而只需再添加一块CAN总线收发芯片和一块RS485总线收发芯片,以及一些外围器材即可完结体系的电路建立。
CAN总线收发器选用TJA1050,该芯片是飞利浦公司出产的、用来代替82C250的高速CAN总线收发器。除了保存82C250的首要特性外,因为TJA1050选用了先进的SOI(silicon on insulator)技能,因而抗电磁干扰功用得到大幅进步。[4]
RS485总线收发器选用了Sipex公司的SP485E,该芯片是一半双工收发器,具有增强型ESD功用,可接受15kV的人体放电形式和触摸放电形式。体系电路图如图2所示:
图2: 体系电路图
图3: 微操控器初始化流程图
图中,TD1和RD1别离为LPC2119内建CAN操控器的发送和接纳引脚,TXD0和RXD0别离为LPC2119内建UART操控器的发送和接纳引脚。TJA1050的S引脚是静音形式挑选引脚。S引脚高电平时,TJA1050进入静音形式,发送器彻底禁能,履行只听功用。SP485E的/RE引脚和DE引脚别离是接纳使能和发送使能,一个是低电平起效,一个是高电平起效。因为SP485E是一半双工的收发器,因而能够把/RE引脚和DE接在一同,由微操控器的一个IO来操控SP485E是处于接纳状况仍是发送状况。
3.体系软件规划
体系的软件规划首要包含三大部分:体系初始化程序、RS485设备数据发送中止程序,RS485设备数据接纳中止程序。
3.1体系初始化程序
体系的初始化包含微操控器的初始化、UART操控器初始化和CAN操控器初始化。微操控器初始化的流程可见图3(源代码略)。