基于PIC18单片机的CAN RS485转换器的设计

2012-04-14 08:55:59来源: 互联网

基于PIC18单片机CAN RS485转换器的设计

RS-485总线以双绞线为物理介质,工作在半双工的通信状态下,即同一时刻总线上只能有一个节点成为主节点而处于发送状态,其它所有节点必须处于接收状态。如果同一时刻有两个以上的节点处于发送状态,将导致所有发送方的数据发送失败,即总线冲突。

为了避免这种总线冲突问题,RS-485总线必须具备:

①以工作模式来说,一般的RS-485总线工作在主从模式下;

②从通信节点来讲,RS-485总线上的节点必须具备可以将自己的驱动器切换到高阻态的功能。

以上是为适应RS-485总线的特殊之处而采用的措施,这样同时也带来了一些不足。首先,这种总线工作方式在很多对实时性、可靠性要求高的工业控制场合有较大的局限性;其次,对驱动器实行的“发送态—高阻态”切换以及切换延迟等功能要求会使编程变得复杂。同时在上电瞬间、CPU损坏或者程序跑飞的情况下,还需要考虑复杂的故障保护等问题,否则将容易引起总线故障。

控制器局域网CAN-bus (Controller Area Network)是国际上应用最广泛的现场总线之一。最初CAN-bus被设计作为汽车环境中的微控制器通讯,意在车载各电子控制装置ECU之间交换信息,从而形成汽车电子控制网络。如今,作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus已被广泛应用到各个自动化控制系统中。而且它在通信能力、可靠性、实时性、灵活性、易用性、传输距离等方面较RS-485总线有着明显的优势,因而用CAN总线取代RS-485总线将是大势所趋。

基于RS-485网络在现场的广泛应用,目前完全放弃RS-485网络系统是不现实的。但可以考虑一种折衷的办法.就是在系统保留现有RS-485系统硬件结构的基础上添加一个CAN-bus接口,本设计的CAN485智能转换器就具有这样的现实意义。它可以实现RS-485网络与CAN网络的互联,其系统原理框图如图1所示。



1  CAN-485转换器原理

图2所示是一种CAN-485智能转换器的原理框图,本设计采用PIC18F258单片机为核心,该单片机自带CAN收发接口,因此可简化硬件设计,提高运行效率。PIC18F258的主要特征如下:

◇通过ISO CAN标准测试;

◇执行CAN协议:CAN1.2 CAN2.0ACAN2.0B;

◇标准和扩展数据模式;

◇0-8位数据长度;

可编程速率高达1 Mbps;

◇2个数据接收缓冲器;

◇6个完全接收滤波器,2个对应高优先权缓冲器,4个对应低优先权缓冲器;

◇2个完全接收掩码器;

◇3个具有优先权的发送缓冲器。



由于单片机的输出电流比较弱,难以驱动光电隔离器,为保险起见,信号输入光耦前要经过74HC573锁存;同样为了增加信号驱动能力,经过隔离的信号要再次经过74HC573锁存。

2 软件设计

系统的软件设计主要包括初始化程序、CAN接收中断服务程序、USART接收中断服务程序、主程序及应用层通信协议转换程序等。

初始化程序用于设置CAN模块的通信波特率、工作方式、发送的优先级、接收邮箱和发送邮箱及对应的接收过滤器和接收屏蔽器等。其初始化程序流程图如图3所示。



CAN接收中断服务程序主要用来接收CAN总线传输过来的数据帧,并对其进行帧校验,如果出错则要求重发,若数据帧正确接收,则将完整的数据帧存人到提前开辟的环形缓冲器中,为后面的数据处理和协议转换做好准备。其CAN接收中断服务程序流程图如图4所示。



USART接收中断服务程序主要用于接收来自RS-485总线的串行数据,并将完整的数据帧传送到另外一个环形缓冲器。其流程图和设计思想与CAN接收中断程序类似,不再例举。

协议转换程序需要参照现场RS-485系统原有的协议,然后由用户通过配套软件对通信帧的格式进行相应的设置。进行配置时,PC机必须通过RS-485接口来访问RS-485/CAN智能转换器,通常PC机的RS-232接口使用RS-232/RS-485转换器。成功设置后,就可以实现RS-485与CAN通信帧格式的相互转换。

本系统的主程序部分的设计比较简单,主要为调用初始化程序,扫描发送缓冲器是否为空,不空则在空闲时根据其优先级将CAN通信帧或RS-485串行通信帧发送出去,并不断扫描,等待中断的产生。

3 结束语

利用CAN485智能转换器可实现RS-485网络与CAN网络的互连,且智能转换器的通信波特率可调,工作模式也可控制,对于不同协议的RS-485网络,只需通过软件对转换器进行相应的初始化设置,而不必对硬件进行改动,因此可以满足绝大多数场合的使用要求。但是该方案不能充分体现CAN系统的优越性,仅适合新系统与旧系统并存、整体性能要求不太高的场所。因此,用CAN总线取代RS-485总线将是大势所趋。

关键字:PIC18  单片机  CAN  RS485  转换器

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0414/article_15656.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
PIC18
单片机
CAN
RS485
转换器

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved