文档库 最新最全的文档下载
当前位置:文档库 › 汽车技术毕业论文 CAN总线在汽车上的应用

汽车技术毕业论文 CAN总线在汽车上的应用

XX工业高等专科学校

继续教育学院

毕业论文(设计)

中文题目:CAN总线在汽车上的应用

英文题目:CAN bus and its application in automobile

毕业专业:汽车机械制造技术

学生姓名: XX

准考证号:

指导教师:

二零一二年二月

独创性声明

本人声明所呈交的论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得XX工业高等专科学校或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

论文作者签名:签字日期:年月日

学位论文版权使用授权书

本论文作者完全了解XX工业高等专科学校有关保留、使用论文的规定。特授权XX工业高等专科学校可以将论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。

(保密的论文在解密后适用本授权说明)

论文作者签名:导师签名:

签字日期:年月日签字日期:年月日

中文摘要

随着汽车的发展,汽车正向高舒适.高操控性.高安全性.高智能方向发展。尤其是高档轿车,高精度传感器及汽车电器在整车大量应用,增加了大量复杂的线束,大量的线束给整车的安全性能带来巨大隐患。在这种情况下,产生了一种全新的信号传递方式“总线”既BUS。总线技术最先应用于工控领域。现场总线技术自70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推广,导致了自动控制领域的一场革命。本文介绍了汽车电器中最常用的总线——CAN总线的产生及发展历史,并对其优点及主要技术指标进行了详述,就其在汽车上的具体应用给出了实例,最后分析了CAN总线的发展趋势。

关键词:控制器局部网、通信、CAN总线的功能

A b s t r a c t

With the development of automobile, auto forward high comfort, high maneuverability, high security and intelligent direction. Especially the high-end cars, high-precision sensors and automotive appliances in the vehicle a large number of applications, adds a number of complex wiring harness, a large number of wiring harness to the vehicle's safety performance of a huge hidden dangers. It was first used in industrial field bus technology. Field bus technology since the birth of 70 years so far, because of its reduced system, cable, simplifying installation, maintenance and management, and lower system investment and operating costs, increase system performance, the advantages of causing widespread attention, get big range of promotion, led to a revolution in the field of automatic control. This article describes the most common vehicle electrical bus - CAN bus generation and development of history and its advantages and the main technical indicators of the detail on its specific application in the car example is given, the last of the CAN Bus trends.

Keywords: controller area network, communications, CAN bus functions

目录

目录

第1章 CAN总线的产生与发展 (1)

1.1 CAN BUS 基础 (1)

1.2 CAN BUS 系统构成 (2)

1.3 CAN BUS 特点 (3)

1.4 CAN BUS 技术介绍 (4)

1.4.1 位仲裁 (4)

1.4.2 CAN与其它通信方案的比较 (4)

1.4.3 CAN的报文格式 (5)

1.4.4 数据错误检测 (5)

第2章利用CAN总线完成对汽车电子控制系统节点的在线编程 (7)

2.1 CAN BUS是系统在线编程应用和代码升级重要工具 (7)

2.2 系统分析与设计 (7)

2.2.1 系统整体设计分析 (7)

2.2.2 PC机控制层软件的设计 (7)

2.2.3 ECU节点软件的分析 (8)

2.3 ECU节点的软件设计 (8)

2.4 利用CAN总线对汽车电子控制系统节点的在线编程的优点 (9)

第3章 CAN BUS 的发展趋势 (10)

3.1 现场总线的发展不会被计算机通信技术取代 (10)

3.1.1 功能方面 (10)

3.1.2 要求方面 (11)

3.1.3 结构方面 (12)

3.2 现场总线应用工程的发展趋势 (12)

3.2.1 通过应用技术发挥现场总线的优势 (12)

3.2.2 不同类型的现场总线组合更有利于降低成本 (13)

3.2.3 现场总线的本质是信息处理现场化 (13)

3.2.4 网络的设计 (13)

3.2.5 系统组态傻瓜化 (13)

第4章结束语 (14)

参考文献 (15)

致谢 (16)

第1章 CAN总线的产生与发展

控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。

随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。

分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将 5C技术—COMPUTER 、CONTROL 、COMMUNICATION 、CRT 和 CHANGE 紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。

典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。控制器局部网CAN(CONTROLLER AERANETWORK)正是在这种背景下应运而生的。

由于CAN总线为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年 9月 PHILIPS SEMICONDUCTORS制订并发布了 CAN总线技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。此后,1993年11月ISO 正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。

1.1 CAN BUS 基础

CAN BUS 是一种协议,是需要通讯的双方按照互相规定好的协议相互之间交换数据用的语言,就如人类相互交流的语言一样,有英语.法语.德语.西班牙语等等。BUS也是一种语言,有CAN BUS,PROFI BUS,INDERBUS在到INTERNET的TCP/IP等等都是机器之间交换信息的语言。

(1)目前在车辆上应用的两种数据传递形式

形式1:每项信息通过独立的数据线进行交换(图1.1)

图1.1

形式2:各控制单元间的所有信息都通过两根数据线进行交换(图1.2)

图1.2

(2)总线在系统中的作用

[]CAN数据总线是控制单元间的一种数据传递形式。通过双绞线或光纤进行数据及信息的传递,使在网络中的各个控制单元形成一个完整的系统。通过网络达到站点与站点之间的通讯,站与站之间通过双绞线或光线连接,只有两根线,杜绝了在大量信号交换时需要的大量复杂的线束,所以也就降低了故障点的个数,提高安全性能。

1.2 CAN BUS 系统构成

CAN BUS 系统构成如下图1.3所示:

1个控制器

1个收发器

2个数据传输终端

2条数据传输线

图1.3 CAN BUS 系统构成 1.3 CAN BUS 特点

CAN 总线是德国BOSCH 公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS 。CAN 总线通信接口中集成了CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

[]CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN 协议采用CRC 检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN 卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。

另外,CAN 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN 总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN 总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN 总线插卡可以任意插在PC AT XT 兼容机上,方便地构成分布式监控系统。

具有收发功能的CAN 控制器 具有接收功能的CAN 控制器

数据总线终端电阻 数据总线终端电数据总线

1.4 CAN BUS 技术介绍

1.4.1 位仲裁

要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。实时处理通过网络交换的紧急数据有较大的不同。一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。

CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。在此例中,站2的报文被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。

CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。

对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取 (许可)控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法。

1.4.2 CAN与其它通信方案的比较

在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中 ,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站 ,总线系统按站希望的传送分配(如:Ethernet CSMA/CD)。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。

CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效

的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。

1.4.3 CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。

在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。

控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位(ro),为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。

应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。

1.4.4 数据错误检测

不同于其它总线,CAN协议不能使用应答信息。事实上,它可以将发生的任何错误用信号发出。CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。

(1)循环冗余检查(CRC)

在一帧报文中加入冗余检查位可保证报文正确。接收站通过CRC可判断报文是否有错。(2)帧检查

这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。

(3)应答错误

如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。CAN协议也可通过位检查的方法探测错误。

(4)总线检测

有时,CAN中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。

(5)位填充

一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步沿用位填充产生。在五

个生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN自动插入一个高电平位。CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。

如果至少有一个站通过以上方法探测到一个或多个错误,它将发送出错标志终止当前的发送。这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。当大量发送数据被终止后,发送站会自动地重新发送数据。作为规则,在探测到错误后23个位周期内重新开始发送。在特殊场合,系统的恢复时间为31个位周期。

但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。因此,如果不采取自监测措施,总线系统应采用模块化设计。为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。(6)CAN可靠性

为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统要求数据传输具有较高的安全性。如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。从总线系统数据的角度看,可靠性可以理解为,对传输过程产生的数据错误的识别能力。

残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。它描述了传送数据被破坏和这种破坏不能被探测出来的概率。残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。计算残余错误概率要求能够对数据错误进行分类 ,并且数据传输路径可由一模型描述。如果要确定CAN的残余错误概率,我们可将残留错误的概率作为具有80~90位的报文传送时位错误概率的函数,并假定这个系统中有5~10个站,并且错误率为1/1000,那么最大位错误概率为10—13数量级。例如,CAN网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工作寿命4000小时、平均报文长度为 80位的系统,所传送的数据总量为9×1010。在系统运行寿命期内,不可检测的传输错误的统计平均小于10—2量级。换句话说,一个系统按每年365天,每天工作8小时,每秒错误率为0. 7计算,那么按统计平均,每1000年才会发生一个不可检测的错误。

相关文档