找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于AT89C52单片机的RS485-CAN智能转换器设计*

[复制链接]
admin 发表于 2013-3-25 05:05:28 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 基于CAN总线和RS485总线的广泛应用和各自的优缺点,设计了基于AT89C52单片机的RS485-CAN智能转换器。在保留现有RS485系统硬件的基础上添加了一个CAN总线接口,实现了CAN总线与RS485之间的数据传输,具有一定的使用价值。
关键词: RS485总线;CAN总线;AT89C52单片机;串口通信
    现场总线是一种应用于生产现场,在现场设备之间、现场设备与控制器之间实行双向、串行、多节点数字通信的技术。RS485是一种平衡传输方式的串行接口标准,采用半双工异步数据通信方式。RS485的共线电路结构是在一对平衡传输线的两端都配置终端电阻,其收发器和接收器可以挂在平衡传输线的任何位置,实现在数据传输中多个驱动器和接收器共用一个传输线的多点应用。目前,在我国应用的现场总线中,RS485通信总线也是被广泛使用的数据通信总线。随着科技的发展,RS485总线的效率低、系统的实时性差、通信的可靠性低、后期不灵活等缺点逐渐暴露出来。但完全放弃RS485网络系统是不可能的,尤其是在已经具有现场的硬件网络中。而CAN现场总线作为一种由带CAN控制器组成的高性能串行数据通信网络,是国际上应用最广泛的现场总线之一,是一种技术先进、可靠性高、功能完善、成本合理的远程网络通信控制方式。因此,可以考虑一种折中的方法,就是在保留现有RS485系统硬件结构的基础上,添加一个CAN总线接口,以实现CAN总线接口和RS485接口之间的相互转换。
1 系统整体设计方案
 RS485-CAN智能转换器实现了RS485总线网络与CAN总线的网络互连,这种连接方法一般作为过渡性的方案,适合那些新旧系统并存,性能要求不高,新系统与旧系统有相同运行机制的地方。该设计有1个RS485通道和1个CAN通道,可以很方便地嵌入使用RS485接口通信的网络接口、工业现场控制单元、智能网络接口中。原有系统中的RS485网络与CAN网络是相互独立的,现在可以在不改变原有硬件结构的前提下,使用RS485总线设备通过RS485-CAN智能嵌入式网关,经由CAN总线网络与上位机进行通信。
2 硬件设计
 RS485-CAN智能转换器由微控制器模块、基本模块、CAN接口模块、RS485接口模块和储存模块组成。如果选择的微处理器中集成了CAN控制器,则无需外接CAN控制器;否则需要外接CAN控制器。硬件设计框图如图1所示。
   
   2.1 微控制器模块
 本系统采用性价比较高的ATMEL单片机AT89C52,AT89C52是一个低电压、高性能CMOS 8 bit单片机,片内含8 KB的可反复擦写的只读程序存储器Flash和256 B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置通用8 bit中央处理器和Flash存储单元。AT89C52单片机电路如图2所示。
    20121107050348025222812.gif
    D100为电源指示灯;P0口连接CAN控制器SJA1000的总线;P2.0控制SJA1000片选信号,SJA1000向微控制器发送数据通过INT0外部中断的方式通知,微控制器的RD、WD分别与SJA1000的读写信号相连;TXD、RXD与RS485收发器相连;P1.0~P1.3与储存器AT93C46相连;P2.6经上拉电阻与J100跳线相连。当不接跳线时,P2.6为高电平,表示进行正常的RS485总线数据传输;当连接跳线时,P2.6为低电平,表示串口作为配置参数使用。
2.2 CAN接口模块
2.2.1 CAN总线接口的结构

 一个CAN总线接口由微控制器、CAN控制器和CAN收发器三部分组成,它们分别对应于CAN总线的物理层、数据链路参和应用层。微控制器主要负责上层应用及系统控制,包括CAN协议的应用层协议的实现,协调系统各设备的工作。中间层为CAN控制器,主要负责处理数据帧,完成数据的打包、解包和错误界定,并提供报文缓冲和传输滤波。底层是CAN收发器,主要是接口电平的转换及接口电气特征的处理。
2.2.2 CAN总线控制器和收发器
 CAN控制器选用飞利浦公司生产的SJA1000 CAN总线控制模块。SJA1000是一种独立控制器,用于工业环境中的CAN总线。SJA1000的基本特征有:管脚及电气特性与独立CAN总线控制器PCA82C200兼容;软件与PCA82C200兼容(缺省为基本CAN模式);扩展接收缓冲器(64 B FIFO);支持CAN2.0B协议,同时支持11 bit和29 bit标识符;通信速率为1 Mb/s;增强CAN模式(PeliCAN),支持具有很多特性的CAN2.0协议;采用24 MHz时钟频率;支持多种微处理器接口。
 本设计选择TJA1050作为CAN总线收发器。TJA1050是CAN协议控制器和物理总线之间的接口,是一种标准的高速CAN收发器,可以为总线提供不同的发送性能,也为CAN控制器提供不同的接收性能。TJA1050的主要特征有[3]:完全符合ISO 11898标准;速率最高达1 Mb/s;电磁辐射(EME)极低;电磁抗干扰EMI性极高;不上电的节点不会对总线造成扰动;TXD引脚有防止箝位在显性总线电平的超时功能;静音模式中提供了只听模式和Babbling Idiot保护;保护总线引脚防止汽车环境中的瞬态干扰;输入级和3.3 V以及5 V的器件兼容;输出驱动器受到温度保护。
 CAN总线收发器TJA1050与CAN总线控制器SJA1000连接的电路图如图3所示。
    20121107050348087722813.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 22:59 , Processed in 0.059857 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表