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

2012-04-14 08:55:59来源: 互联网 关键字:PIC18  单片机  CAN  RS485  转换器

基于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
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:USB的便携式ARINC429总线通信设备技术
下一篇:基于LTC4310设计的绝缘双向I2C总线通信技术

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
PIC18
单片机
CAN
RS485
转换器

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved