1、 机电工程学院机电工程学院 毕 业 设 计 说 明 书毕 业 设 计 说 明 书 设计题目设计题目: CAN 总线通信接口及程序设计总线通信接口及程序设计 2012 年年 5 月月 21 日日 目目 次次 1 1 CAN 总线介绍总线介绍 1.1 CAN 总线的发展背景总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽 车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否 安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是 传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发 展方向。20 世纪 80 年代,德国
2、Bosch公司着手研究用于汽车产业的新的通信协 议及控制方法,并首先提出了 CAN 总线控制系统。这一崭新的网络协议使得汽 车产业得到了飞速的发展。 CAN 总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量 及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有 CAN 总线协议 之前,一辆汽车中用于各种控制通信的线束的总长度达 3 公里之长,严重影响 了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性 低,成本高,难以维护。因此 CAN 总线的出现无疑具有重大的意义和作用。作 为一种新的网络通信协议,CAN 总线不仅减少了汽车中线束的长度,还提高了 汽车的整体性
3、能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议 的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船 舶、机床等产业设备方面。仅仅二十多年的发展,CAN 总线便已成为自动化领 域技术的潮流。 CAN 总线是串行通信网络。传统运用的是基于 R 线构建分布式控制系统, 这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导 致系统的通信效率不高,并且控制的可靠性能低。CAN 总线通过每个网络节点 进行数据通信,每个节点可以互相收发数据,CAN 总线协议对通信数据编码, 不对节点地址编码,使各个节点可以同时接收到相
4、同的数据,大大增强了数据 通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线 的结构十分简单,仅有 2 根线(CANH 和 CANL)和外部设备相连,但 CAN 总 线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据 2 的自由通信。 1.2 CAN 总线的通信层介绍总线的通信层介绍 CAN 总线是串行通信协议,可以实现各个节点在数据传输时的自由通信及 互不影响,因此 CAN 总线应具有标准的通信协议,这样可以使 CAN 总线更加 方便的应用于控制系统中。为了实现这样的设计理念,根据 ISO/OSI 参考模 型,CAN 总线包含 ISO/OSI 参考模型
5、中的数据链路层(Data Link Layer)和物理 层(Physical Layer)。 (1)数据链路层 数据链路层连接硬件和软件的结合层,主要作用是通过各种数据协议而实 现数据的传输。CAN 总线中的数据链路层又可以分为两个子层:逻辑链路控制 子层(LLC)和介质方向控制子层(MAC)。逻辑链路控制子层是数据链路层 的核心层,它为远程数据的传输提供服务,控制数据的逻辑传输。 ()物理层 物理层是 OSI 参考模型中的最底层,主要作用是规定节点电气方面的特 征。为了实现数据的自由收发,在同一网络中的物理层应该是处处一样的。 1.3 CAN 总线报文帧格式总线报文帧格式 CAN 总线上的数
6、据信息都是以报文的形式发送的。报文的格式并不唯一, 而是有几种不同的格式,但是报文的长度却受到电气及内部控制的限制。CAN 总线的报文传输也就是帧的传输,帧是 CAN 总线传送数据单位。帧也有不同的 格式,主要区别在于标识符长度不同。在CAN2.0A协议下帧具有11位标识符, 叫作标准帧;而在最新的 CAN2.0B 协议下具有 29 位标识符的帧叫作扩展帧。 为了实现数据的传输和控制,CAN 总线报文传输具有 4 种不同类型的帧结 构:数据帧、远程帧、错误帧、过载帧。其中数据帧的结构图如图 1-1 所示。 3 详细的 CAN 总线报文帧结构可以参阅参考资料6 1.4 CAN 总线的优势总线的优势 CAN总线已经成为现在控制领域最流行的控制方案,只所以从CAN总线诞 生以来仅仅二十年间便已成为公认的最好的工业生产控制方案,是因为 CAN 总 线相比其他控制总线在通信能力和速度方面具有明显的优势。虽然现在还有很 多基于R线组建的工业控制系统,但它不具备CAN 总线的诸多优点。相比于其 他的控制系统,CAN 的优势在于:(1)CAN 总线