CAN总线及其在汽车计算机控制系统中的应用_高松
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上 海 理 工 大 学 学 报
第24卷 第3期 J. University of Shanghai for Science and Technology Vol.24 No.3 2002 收稿日期: 2002-03-21
作者简介: 高 松(1965-), 男, 博士研究生.
文章编号: 1007-6735(2002)03-0299-03
CAN 总线及其在汽车计算机控制系统中的应用
高 松1, 应启戛1, 魏民祥2
(1.上海理工大学 动力工程学院 上海, 200093; 2.山东理工大学 交通与车辆学院, 淄博 255012)
摘要:介绍了CAN 总线的特点、数据帧格式、数据交换原理、数据传输速度及其与总线长度的关系以及近年来出现的几种高层协议. 讲述了CAN 总线在汽车计算机控制系统中的应用情况,指出CAN 总线作为一种极具潜力的控制器局域网总线,在汽车计算机控制系统中有着广阔的应用前景.
关键词:控制器局域网(CAN); 总线; 汽车电子 中图分类号:TP 273 文献标识码: A
CAN bus and it 's applications in automobile electronic systems
GAO Song 1, YING Qi-jia 1, WEI Min-xiang 2
(1.College of Power Engineering , University of Shanghai for Science and Technology , Shanghai 200093, China;
2.University of Shandong for Science and Technology , Zibo 255012)
Abstract : CAN(controller area network) bus is presented with its characteristics, message frame for standard and extended formats, principles of data exchange, bitrate and bus length and several high layer protocols evolved since the introduction of CAN. Applications of CAN bus in automobile electronic systems are also introduced. It is pointed out that as a potential controller area network, CAN bus will find extensive applications in automobiles. Key words : controller area network (CAN ); bus ; automobile electronics
随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,连接导线显著增多,因而提高控制单元间通讯可靠性和降低导线成本已成为迫切需要解决的问题. 为此以研发和生产汽车电子产品著称的德国BOSCH 公司开发了CAN 总线协议,并使其成为国际标准(ISO11898). 1989年,Intel 公司率先开发出了CAN 总线协议控制器芯片,到目前为至,世界上已拥有20多家CAN 总线控制器芯片生产商,110多种CAN 总线协议控制器芯片和集成CAN 总线协议控制器的微控制
器芯片. 在国外,CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线[1]. 而我国在这方面的应用和研究刚刚起步,同发达国家相比有较大差距.
1 CAN 总线的特点
CAN (Controller Area Network)总线是一种串行多主站控制器局域网总线. 它具有很高的网络安全性、通讯可靠性和实时性,简单实用,网络成本低. 特别适用于汽车计算机控制系统和环境
300 上海理工大学学报 2002年第24卷
温度恶劣、电磁辐射强和振动大的工业环境. 通讯媒体可以是双绞线、同轴电缆或光导纤维,数据传输速率可达1Mbits/s.
CAN总线协议支持两种格式的数据帧: 标准版(CAN2.0A)和扩展版(CAN2.0B). 这两种格式的数据帧都由7个段码组成. 标准版CAN(2.0A)的ID码为11位,可以识别2048个不同的信息. 扩展版CAN(2.0B)的ID码为29位,可以识别5.12×108个不同信息. CAN总线标准版(CAN 2.0A)数据帧格式如图1所示.
图1 CAN总线标准版(CAN 2.0A)数据帧格式
Fig.1 Message frame for standard version (CAN2.0A)
CAN总线协议的总线仲裁是按位进行的,需要比较不同节点在同一位数据传输时间内总线请求优先级的高低. 因此,最高数据传输速度随总线长度的增加而降低.
自CAN总线问世以来,为满足CAN总线协议的多种应用需要,相继出现了几种高层协议. 目前大多数基于CAN总线的网络都采用CAN总线的高层协议. CANopen, DeviceNet 和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而CAL则应用于基于标准应用层通讯协议的优化控制场合,SAEJ1939则应用于卡车和重型汽车计算机控制系统[2].
2 CAN总线的数据交换原理
CAN总线协议是一种非破坏性的通过竞争来进行总线仲裁的协议. 当多个节点同时要求占用总线进行数据传输时,为防止一个节点破坏另一个节点的数据,CAN总线协议控制器在仲裁段传输过程中,根据标识码的大小对总线进行仲裁,标识码较小的信息具有较高的总线占用优先级. 当在一条总线上要传送两种不同格式的信息时,如果这两种不同格式的信息具有相同基本标识码(BID),在进行总线竞争时,标准格式帧的优先级始终高于扩展格式帧的优先级.
按CAN总线协议,传输的数据都需要一个网络内惟一的标识码来指定信息内容(如发动机转速或冷却水温度)和信息的优先级. 若某一个节点的CPU要将信息发送给一个或多个节点,首先应将待发信息及其标识码发送给指定的CAN总线控制器,为此,CPU必须首先初始化CAN总线控制器的数据交换功能,然后用CAN总线控制器构建并发送信息. 一旦网络中某一节点的CAN总线控制器获得总线控制权,网络中所有其他节点都成为接收节点,所有正确接收到该信息的节点都要进行信息检验,以确定所收信息是否与本节点有关,然后放弃无关信息,对有关信息进行处理. 这种方法使系统构建非常灵活,对每个独立节点来说,都不需要物理目的地址,如果要增加的新节点是纯粹的接收站,则无需对现有节点的硬软件做任何修改,就能方便地向现有CAN总线网增加新节点. 该协议也允许多站同时接收信息(广播式)和分布式过程信息共享,即采用该协议可以传送多个控制器共用的测量信息,对于基于CAN总线的汽车计算机控制系统,所有的控制单元可以共享同一个传感器.
3 CAN总线在汽车计算机控制系
统中的应用
CAN总线协议作为一种极具应用潜力的控制器局域网总线,近年来在汽车计算机控制系统以及纺织机械、包装机械、造纸机械、农业机械、工程机械、机器人和其他开放式分布智能控制领域得到了越来越广泛的应用. 汽车计算机控制系统电控单元与CAN总线接线图如图2所示. 电控单元的微控制器通过数据总线与CAN总线控制器直接相连,由于CAN总线控制器带有两个接收
图2 汽车计算机控制系统电控单元与CAN总线接线图Fig.2 Automobile electronic systems and
the connection diagram of CAN bus