CAN总线综述

时间:2022-04-09 12:38:43

摘要:本文介绍了CAN总线的基本知识,对其技术指标进行了详细叙述,最后给出了一个基于CAN总线的分布式系统的实例。

关键词:CAN总线 CAN总线技术 数据传输

The summarization of the CAN bus

Li Ting

(Electronic Laboratory Center, Yanshan University, Hebei 066004,China)

Abstract: this article introduces the basic information of the CAN bas, and go into particulars about the technique of it., at last an design which about the distributed monitor system based on the CAN bus is gave

Key words: CAN bus, the technique of the CAN bus, data transmission

1引言

CAN总线(CAN-Controller Area Network)其全称为“控制器局域网”,意思是区域网络控制器。它是国际上应用最广泛的现场总线之一。CAN总线最早是德国Bosch公司为解决现代汽车中众多的电控模块之间的数据交换而开发的一种串行通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps,距离可达10km。

CAN自诞生以来,以其独特的设计思想、优良的性能和极高的可靠性越来越受到工业界的青睐。CAN国际标准的制定更加推动了它的发展和应用,基于CAN总线的工业应用系统也大量涌现。其主要应用领域包括大型仪器设备、传感器技术及数据采集系统和工业现场监控系统等。由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛的应用。

CAN总线应用研究还在不断深入,其应用范围必将不断扩大,发展前景十分广阔。

2 CAN总线基本概念

(1) 报文。总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新报文。

(2)信息路由。

在CAN系统中,一个CAN节点不使用有关系统结构的任何信息。这里包含一些重要的概念:

系统灵活性:节点可在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。

报文通信:一个报文的内容由其标识符ID命名。ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。

成组:由于采用了报文滤波,所有节点均可接收报文,并同时被相同的报文激活。

数据相容性:在CAN网络内,可以确保报文同时被所有节点或者没有节点接收,因此,系统的数据相容性是借助于成组和出错处理达到的。

(3)位速率。CAN的数据传输率在不同的系统中是不同的,而在一个给定的系统中,此速度是唯一的,并且是固定的。

(4)优先权。在总线访问期间,标识符定义了一个报文静态的优先权。

(5)远程数据请求。通过发送一个远程帧,需要数据的节点可以请求另一个节点发送一个相应的数据帧,该数据帧与对应的远程帧以相同标识符ID命名。

(6)多主站。当总线开放时,任何单元均可开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。

(7)仲裁。当总线开放时,任何单元均可开始发送报文,若同时有两个或更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标识符ID解决。这种仲裁规则可以使信息和时间均无损失。若具有相同标识符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位电平与总线上检测到的电平进行比较,若相同该单元可继续发送。当发送一个“隐性”电平,而总线上检测为“显性”电平时,该单元退出仲裁,并不再传送后继位。

(8)安全性。为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测、标定和自检的强有力措施。检测错误的措施包括:发送自检、循环冗余校验、位填充和报文格式检查。

(9)出错标注和恢复时间。已损报文由检验出错误的节点进行标注。这样的报文将失效,并自动进行重发送。如果不存在新的错误,从检出错误到下一个报文开始发送的恢复时间最多为29个位时间。

(10)故障界定。CAN节点有能力识别永久性故障和暂时扰动,可自动关闭故障节点。

(11)连接。CAN串行通信链路是一条众多单元均可以被连接的总线,理论上,但愿数目是无限的,实际上,单元总数受限于延迟时间和总线的电器负载。

(12) 应答。所有接收器均对接收报文的相容性进行检查,回答一个相容报文,并标注一个不相容报文。

3 CAN总线技术简介

CAN总线是国际上应用最广泛的现场总线之一。最初,CAN总线技术被应用到汽车环境中的微控制器通信,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如发动机管理系统、变速箱控制器、仪表装置、电子主干系统中均嵌入CAN控制装置。

CAN协议也是建立在国际标准化组织的开放系统互联模型基础上的,不过其模型只有三层,即只取OSI底层的物理层、数据链路层和顶层的应用层。CAN总线通信接口集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等。CAN协议的一个最大特点是废除了传统的站地址编码,而对通信数据块进行编码。采用这种方法可使网络内的节点个数在理论上不受限制,但在实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips PCA82C250作为CAN收发器时,同一网络中允许挂接110个节点。数据块的标识码可由11位或29位二进制数组成,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

另外,CAN的信号传输采用短帧结构,每一帧的有效字节数为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求;同时8个字节不会占用总线时间过长,从而保证了通信的实时性,而且受干扰概率也很低。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。当节点严重错误时,具有自动关闭功能,以切断节点与总线的联系,使总线上的其他节点及通信不受影响,具有较强的抗干扰能力。CAN卓越的特性、极高的可靠性和独特的设计使其特别适合工业过程监控设备的互连。

4 CAN总线性能特点

国际标准ISO定义的CAN总线是全数字式现场控制设备互连总线,能有效支持分布式控制和实时控制的串行通信网络。与其他总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其主要特点如下:

(1)CAN以多主机方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息。利用这一特点可方便地构成多机备份系统。(2)CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最快可在134微秒内得到传输。(3)采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况。(4)CAN的直接通信距离最远可达10km(速率5Kbps以下);通信速度最高可达1Mbps(此时通信距离最长为40m)。(5)采用短帧结构,传输时间短,受干扰概率低;每帧信息都有CRC校验及其他检错措施,数据出错率极低。(6)通信的硬件接口简单,通信线少,通信介质可为双绞线、同轴电缆或光缆。(7)节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其他节点的操作不受影响。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

5 CAN总线结构和数据传输原理

5.1 CAN总线的结构

CAN总线由导线、控制器、收发器和终端电阻组成。导线是采用两根普通铜导线绞在一起的双绞线。控制器:系统内的每个单元都有控制器,它对收到和发送的信号进行翻译。收发器:每个控制单元内都配置收发器,负责接收和发送网络上共享的信息。终端电阻:整个系统共有两个终端电阻,分别装在系统的两个控制单元内,其作用是阻止CAN总线信号产生变化电压的反射。当终端电阻出现故障时,则因为线路的反射影像,控制单元的信号无效。

5.2 CAN总线系统的数据传输原理

5.2.1 数据形式

CAN总线系统中传递的数据为二进制的数字信息,每条信息的格式都是相同的,由以下几部分内容组成:开始域、状态域、空位、检查域、数据域、安全域、确认域、结束域。

开始域:1bit,提示数据传输开始,也即每条信息的始点。

状态域:11bits,用来标识是哪个控制单元发出了什么信息。

空位:未用。

检查域:用来标识整个信息包括多少项目(即数据组成部分的数量)。

数据域:为每条信息的核心部分,为信息传递的内容,最大可达64bits。

安全域:16bits,用来检测数据中有无错误,是否安全。否则让发送方重新发送。

确认域:2bits,为接收者发出的反馈信息。

结束域:代表数据传输的结束,即每条信息的结尾。

5.2.2 数据传输方式

当某个控制单元发出一条信息后,CAN总线会将其传输给网络上的各个控制单元,而这些控制单元则会选择的去接收,对于无用信息则不接收。

事实上,当CAN总线系统处于工作状态时,并不是只有一个控制单元在发送信息,而是网络上所有的控制单元都在不断的往CAN总线上发送各种各样的信息,这就需要将这些信息按重要程度不同而分类,即“优先权”大的将首先被发送出去,以便相关控制单元及时地接收并利用。“优先权”的标识是通过状态域数值来体现的,其值越小,则优先权越大。不过,同一控制单元发出不同类型的信息时,其状态域数值并不是完全一样的,这也是为了区别优先权,以保证其发出的最重要信息尽快使其他控制单元接收到。另外,同一控制单元在发出不同信息时,根据其重要程度不同,发出频率也不同,重要信息发送的频率要高。

6 基于CAN总线的分布式监控系统的一个应用实例简介

本实例中的“华控”智能分布式系统是由上位机、CAN通讯卡、RSM智能模块、通讯媒体、系统组态软件和人机界面六部分组成。示意图如图1所示,它是由CAN总线构成的分布式监控系统。主站点监控计算机负责管理工作,而将控制任务彻底下放到现场。现场中的每个设备都是具有通信功能的智能节点,它能完成诸如数据采集、数据处理、控制运算和数据传输等功能,只有一些现场仪表设备无法完成的高级控制控制功能,才由上位机来完成。现场节点之间可以相互通信,实现互操作。节点也可以把自己的诊断数据主动上传给上位机,以便于设备管理。本实例采用VB语言编程,利用CAN现场总线技术以及华控RSM智能模块搭建了分布式监控系统的逻辑结构,采用CAN2.0通讯协议实现上位机与模块的数据通信。本系统上下位机分布式监测,具有良好的系统扩展性能,操作方便,安全可靠,现场应用效果良好。

7 结语

相比其他的一些常见现场总线,CAN有许多的优越性:(1)采用数字信号传输,准确率提高;(2)接线简单;(3)现场设备具有很强的兼容性;(4)能够传送多个过程变量等。CAN总线以其独特的设计思想、优良的性能和极高的可靠性,越来越受到人们的重视。CAN只采用了ISO/OSI参考模型的1、2两层,对应用层需由用户自行定义。由于协议相对简单,并且价格便宜,抗干扰性能好。适合用于低成本、速率要求不高的控制场合。CAN总线还有着广阔的发展空间,将CAN总线引入工厂的生产监控中,对于提高工厂的生产效率和自动化水平,起到了积极的作用。

参考文献:

[1] 邬宽明,CAN总线原理和应用系统设计.北京航空航天大学出版社,1996年11月第一版.

[2] 史久根,张培仁,陈真勇.CAN现场总线系统设计技术.国防工业出版社,2004年10月第一版.

[3] 杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用.电子工业出版社,2007年1月第一次印刷.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:浅谈计算机病毒的预防 下一篇:接地装置电化学腐蚀原理及阴极保护法的应用