图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所示: