当前位置: 首页 > 范文大全 > 公文范文 >

CAN/485总线接口卡的设计与实现

时间:2022-03-23 09:20:43  浏览次数:

[摘 要] 本文设计了一种基于PIC18F248单片机的CAN总线与RS485间的接口卡,并给出了设计原理及系统软、硬件的具体实现方案。该系统采用低功耗设计,具有可靠性高、结构简单、成本低、实时性好、易扩展等特点,非常适合于工业现场使用。

[关键词] CAN总线 RS485总线 CAN/485 PIC18F248

1引言

RS485是一种最早流行的串行通信协议,由于采用了差分电平传输技术,RS485传输距离比RS232更远、抗共模干扰能力更强,因此很适合在工业现场应用,工业现场设备如变频器、可编程控制器等都带有RS485接口。但与CAN总线等更为先进的现场工业总线相比,RS485只有物理层,构成的通信系统只能采用主从结构,使用不便;另外,它在传输速度、传输距离和传输可靠性等性能上也不如CAN总线。因工业现场组网改造的需求,我们要把具有RS485接口的装置、智能仪表等接入CAN总线网络,那么能实现RS485和CAN总线协议相互转换的接口卡是必不可少的。本文对RS485与CAN总线通信过程中遇到的协议转换问题进行了研究和分析,设计出了一套适合于工业现场使用的CAN/RS485接口卡,并给出了系统的软、硬件实现方案。

2设计思想及原理

从硬件上考虑,网关要能实现RS485逻辑电平和CAN总线标准逻辑电平间的相互转换;由于该接口卡要在工业现场应用,所以要求接口卡设计能实现电气隔离、具有强抗干扰能力、低功耗和总线供电,这也是本系统设计的重点和难点。从软件考虑,接口卡应能实现RS485协议与CAN总线协议间的转换。综合以上情况,本系统的设计原理如图1所示:RS485总线上的数据经过485接口芯片后变成TTL电平,并输入到微处理器进行处理;CAN总线数据的收发由CAN总线控制器和CAN总线收发器来完成;协议的控制和数据的转换则由微处理器来完成。

图1 系统原理图

3系统硬件设计

3.1主系统设计

由于应用环境特殊,接口卡要能实现电气隔离和总线供电、要具有强抗干扰能力和低功耗及便携等特点,因此在系统设计中所采用的芯片均是低功耗、体积小的贴片封装;卡上设有光电隔离模块,以实现完全电气隔离,使CAN/485具有很强的抗干扰能力,大大提高了其在恶劣环境中使用的可靠性。主系统电路图如图2所示,主要由微控制器及其外围扩展电路、CAN总线通信电路和RS485接口电路三部分组成。

图2 主系统电路图

3.1.1 CAN总线通信设计

在设计CAN总线通信电路时,可以选择独立的CAN控制器如82C200、SJA1000等,但独立的CAN控制器芯片需要外接一个微处理器来接收外部的控制。在本系统设计中,我们选择了内部带有CAN控制器的单片机PIC18F248,它不需再外扩CAN接口,只需加一个总线驱动芯片即可,方便了系统调试并大大简化了系统的硬件设计。

PCA82C250是PHILIPS公司生产的CAN总线驱动器,它将PIC18F248单片机CAN控制器输出引脚的TTL电平转换为CAN总线上的差分信号。在硬件电路设计时应注意的是,在通讯总线两端应各接一个120欧的总线匹配电阻,否则数据通讯的抗干扰性及可靠性大大降低,甚至无法通讯,这在工业现场表现得尤为突出。

为增加系统的抗干扰能力,在PCA82C250与PIC18F248单片机CAN控制器输出、输入引脚(RB2、RB3)之间使用2个高速光电耦合器6N137,以实现总线与控制器的隔离。整个系统的节点控制器都通过PCA82C250与CAN总线相连,以保护总线不受瞬态冲击的影响,并可以提高节点的总线驱动能力,增强系统抗电磁干扰能力。

3.1.2 微控制器部分设计

PIC18F248是Microchip公司2002年研制出的具有CAN总线接口的高性能的单片机,它的CAN模块的主要特性有:完全支持CAN2.OA和CAN2.0B协议,数据长度为0-8个字节,最高通讯速率可达1M b/s,具有对已经接收到缓冲器中的信息进行两次排序的双重缓冲器,6个接收滤波器,可编程的唤醒功能,可编程的反馈模式能进行自我测试操作,对于所有的CAN接收和传输错误的情况都能进行信号中断等。

3.1.3 RS485接口电路设计

RS485接口电路采用使用了一种RS485接口芯片SN75LBC184,与普通的RS485芯片相比,它不但能抗雷电的冲击而且能承受高达8 kV的静电放电冲击,可承受高达400 V的瞬态脉冲电压,能显著提高防止雷电损坏器件的可靠性,尤其适用于一些环境比较恶劣的现场。

在图2中,四位一体的光电耦合器TLP621使PIC18F248与SN75LBC184之间实现了完全的电隔离,提高了工作的可靠性。基本原理为:当PIC18F248的管脚RB4 =0时,光电耦合器的发光二极管发光,光敏三极管导通,输出高电压选中RS485接口芯片的DE端,允许发送。当单片机PIC18F248的管脚RB4 =1时,光电耦合器的发光二极管不发光,光敏三极管不导通,输出低电压,选中RS485接口芯片的RE端,允许接收。同时,在SN75LBC184的R端(接收端)和D端(发送端)与PIC18F248之间使用2个高速光电耦合器6N137,以实现总线与控制器的隔离,增加系统的抗干扰能力。

3.2电源设计

由于光耦器件6N137两侧电源必须完全隔离,因此在本系统设计中需要三组隔离的电源供电。工业现场一般只提供9V的直流电源,而系统工作电压为5V。为此,在电源设计时需先将9V的直流电压经过低压差电源芯片LM1117,使输出电压变为5V;然后将5V直流电压经过DC-DC电源模块从而得到隔离电压。其连接图见图3:

图3 系统电源设计

4系统软件设计

CAN/485接口卡的主要任务是实现CAN总线与RS485总线间的通信,完成二者的协议转换。在本系统中,CAN总线通信采用CAN2.0B协议;而RS485总线只有物理层,它的通信协议要根据应用情况来制定。系统软件设计流程如图4所示:

图4 系统软件流程图

其中,PIC18F248单片机CAN模块的初始化是软件设计重点和难点,其初始化流程图如图5所示:

图5 CAN初始化流程图

5总结

本文结合工业现场生产的特点和需求,设计了一种基于PIC18F248的CAN总线与RS485总线之间的接口卡。该接口卡集成有1个RS485通道和1个CAN通道,可以很方便地嵌入到使用485接口的网络节点中,从而无需改变原有硬件结构就可获得CAN通信接口,实现CAN总线数据与RS485总线数据之间的互连通信。该接口卡能实现电气隔离、具有强抗干扰能力、低功耗和总线供电,而且体积小便于携带,很适合在环境恶劣的工业现场中使用。同时,本系统为CAN总线与RS232总线间的通信提供了参考,在此基础上也可将本系统扩展为多功能接口卡,通过跳线进行选择以实现CAN/485或CAN/232转换功能。

参考文献:

[1] 丁恩杰.监控系统与现场总线.江苏徐州:中国矿业大学出版社,2003.

[2] 刘和平,刘钊,郑群英,等.PIC18F×××单片机程序设计及应用.北京:北京航天航空大学出版社,2005.

[3] 张湘,张弢.列车总线控制系统的CAN-485总线网关设计[J].自动化与仪器仪表,2003(2).

作者简介:

张丽,女,工学硕士,讲师,重庆工程职业技术学院电子教研室教师,研究方向:通信工程。

推荐访问: 总线 接口卡 设计