首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于双AT89C52单片机的CAN总线中继器设计
来源:本站整理  作者:佚名  2009-08-28 10:02:59



引 言
      CAN总线以其开发维护成本低、总线利用率高、传输距离远(最远可达10 km)、传输速率高(最高可达1 Mbps)使用户能组建稳定、高效的现场总线网络。CAN总线已被广泛应用到各个自动化控制系统中,例如汽车电子、自动控制、智能大厦、电力系统、安防监控等领域。随着CAN总线网络区域的扩大,2个节点之间的直接数据传输将难以满足远距离通信要求。CAN中继器是延长CAN总线通信距离的中转站,其通信效率和通信可靠性直接影响CAN总线的通信能力。传统的基于单MCU的CAN中继器难以满足大量数据的中转要求,本文基于双MCU设计高性能的CAN总线中继器。

1 系统总体设计
      CY7C136是2 KB高速CMOS静态RAM。同一片RAM上有2组数据线和2组地址线,对每个端口的控制是相互独立的,可分别在存储器的任意位置存取数据。
      双口RAM作为2个MCU的共享资源,一个端口与MCUl相连,另一个端口与MCU2相连。从SJAlOOOCAN总线接口1接收来的数据送入双口RAM,这些数据被MCU2取走并送到SJAl000 CAN总线接口2上;从SJAl000 CAN总线接口2接收来的数据也送入双口RAM,并被MCUl取走送到SJAl000 CAN总线接口1上。由于MCU的地址总线和数据总线是复用的,因此采用锁存器进行地址锁存,硬件总体结构如图1所示。

2 硬件电路实现
     
电路中使用的2片MCU为8051系列单片机AT89C52,成本低、开发周期短、易于实现、可靠性高。MCUl与MCU2之间通过P1口的P1.5、P1.6、P1.7进行联络与应答,保证系统存储空间访问的安全性。
2.1 MCU主控制电路
      MCUl(AT89C52片1)连接的外围设备有双口RAM和CAN总线控制器。为了防止地址冲突,采用74LS138译码器进行地址译码。AT89C52的PO为地址/数据复用口,采用74HC573作为地址锁存器。由于MCUl和MCU2电路原理相同,本文只介绍MCUl控制电路。MCUl电路原理如图2所示。

2.2 双口RAM接口电路
      双口RAM电路接口如图3所示。双口RAM芯片CY7C136作为2个MCU数据的中转站,分别与2个MCU的相应引脚相连。其中CY7C136引脚I/O0L~1/O7L与第1片AT89C52(MCUl)的PO相连,引脚I/OOR~I/O7R与第2片AT89C52(MCU2)相连。YOAOUT为MCU1读写双口RAM的片选信号,Y1AOUT为MCU2读写双口RAM的片选信号,并将MCU的读写控制信号线与双口RAM的相应读写控制信号线相连。

2.3 CAN总线控制器接口电路
      CAN总线控制器采用sJAl000。74LSl38译码器的YO引脚输出作为SJAl000的片选信号。中断引脚连接MCUl的INTO,作为处理CAN接收中断的触发信号。电路原理如图4所示。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:18,402.34000 毫秒