基于 51 单片机的 CAN 总线系统设计
0 引言
随着 20 世纪 80 年代初期德国 Bosch 公司提出 CAN(Controller Area Network)总线,即控
制器局域网方案以解决汽车控制装置问的通信问题。经过 20 多年的发展,CAN 总线现在广
泛的应用在汽车领域,在汽车控制系统中应用 CAN 总线可以使硬件方案的软件化实现,大
大地简化了设计,减小了硬件成本和设计生产成本,数据共享减少了数据的重复处理,节省
了成本,可以将信号线减到最少,减少布线,使成本进一步降低等优点。由于 CAN 总线通
信的高性能、高可靠性、及独特的设计和适宜的价格可以广泛应用于工业现场控制、智能楼
宇、医疗器械、交通工具以及传感器等领域,所以被公认为是几种最有前途的现场总线之一。
1 系统总体设计
CAN 总线系统总体结构如图 1 所示,主要包括上位机控制软件、USB-CAN 转换模块、
CAN 节点、CAN 总线介质(本处采用双绞线)组成。其中一个 CAN 节点通过 USB 接口与 PC
机相连,上位机控制软件能实时显示各 CAN 节点的数据且能通过上位机软件向各个 CAN
节点发送数据以控制各节点的 8 个发光二极管的亮或灭。
2 系统硬件电路
本系统由单片机外围电路、CAN 总线硬件电路和 USB-CAN 转换电路组成。单片机外围
电路包括电源电路模块、复位电路模块、串口通信模块。CAN 总线硬件电路包括电气隔离
模块、光耦隔离模块、CAN 驱动器电路。USB-CAN 转换电路包括 CH375 与单片机接口电
路模块和 USB 接口电路模块。
C8051F040 单片机内部的控制器局域网(CAN)控制器是一个协议控制器,不提供物理层驱
动器(即收发器),需要外部重新接入物理层驱动器。本处采用 TJ1050,TJA1050 是控制器区
域网络(CAN)协议控制器和物理总线之间的接口,是一种标准的高速 CAN 收发器。TJA1050
可以为总线提供差动发送性能,为 CAN 控制器提供差动接收性能。
TJA1050 是 PCA82C250 和 PCA82C251 高速 CAN 收发器的后继产品。其功能框图如图 2
所示。