1.2 设计内容
(1)采用AT89C52作为微处理器,SJA1000作为通信控制器,82C250作为总线收发器设计CAN总线通信系统节点的硬件电路。
(2)硬件电路具有一定的抗干扰性能。
2 设计原理与思路文献综述
2.1 CAN总线简介
CAN总线,全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线的一种,它是德国Bosch公司在1986年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯总线[3]。它与其它总线最大的区别是两个节点之间传送信息时报文中没有地址信息,而是对不同性质的数据加以标识。在通讯时,以全网广播为基础,各接收节点根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。虽然CAN总线最初是为在汽车行业应用而开发的,但由于其具有很强的纠错能力,支持差分收发,因而适合高噪声环境, 而且传输距离比较远。另外,像 Philips, Motorola,Intel等半导体制造商相继开发出了支持 CAN协议的集成芯片,更是推动了CAN总线的应用。目前,CAN总线在数控机床 、医疗设备、工业控制等领域也取得了广泛的应用。1993年,国际标准化组织正式颁布了CAN总线的国际标准ISO11898。其具体特性如下[4,5]:
(1) CAN网络上的节点信息可以分成不同的优先级,用来满足不同的实时要求。
(2) CAN为多主工作方式,网络上任一节点均可在任意时刻主动地向网络上的其他节点发送信息,而不分主从。
(3) 当多个节点同时向总线发送信息时,CAN采用非破坏性总线仲裁技术,低优先级的节点会依次退出发送,而最高优先级的节点正常发送,不会受到任何影响,极大地节省了总线冲突仲裁时间。
(4) 发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送 。
(5) CAN的直接通讯距离最远可达到10km(速率5kbps以下),通讯速率最高可以达到1Mbps(此时通讯距离最长为40m)。
(6) CAN的每帧信息都有CRC校验,保证了出错率很低。
(7) CAN节点在错误严重的情况下具有自动关闭,退出总线的功能,从而使总线上的其它接点不受影响。
CAN总线通讯协议主要描述设备之间的信息传递方式。CAN总线层的定义与开放系统互连模式(OSI)一致。每一层与另外一个设备上相同的那一层通讯。实际的通讯发生在每一个设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN总线的规范定义了模型的最下面两层:数据链路层和物理层[6,7]。表2.1中展示了OSI开放式互连模型的各层。应用层协议可以由CAN总线用户定义成适合特别工业领域的任何方案。源.自/优尔·论\文'网·www.youerw.com/
表2.1 OSI开放式互连模型
7 应用层 最高层。用户、软件、网络终端等之间用来信息交换
6 表示层 将两个应用不同数据格式的系统信息转化为能共同理解的格式
5 会话层 依靠底层的通讯功能来进行数据的有效传递
4 传输层 两通信节点之间数据传输控制
3 网络层 规定网络连接的建立、维护
2 数据链路层 规定在介质上传输的数据位的排列和组织