当前位置:文档之家› CAN总线在汽车车身控制中的应用

CAN总线在汽车车身控制中的应用

编号:11《汽车总线与嵌入式系统》课程论文CAN总线在汽车车身控制中的作用班级:车辆工程1132(及手机):一青()学号:1131504328任课教师:建祥()2016-11-2CAN总线在汽车车身控制中的应用摘要:阐述了CAN(Controller Area Network)总线协议及其技术特点。

结合应用实例分析了CAN总线技术在汽车中的应用优势,并对系统的总体结构、数据传输方式以及控制过程进行了详细的描述,给出了节点电路的设计、协议的定义及软件实现方法,并用试验验证了其可行性。

一、引言随着计算机技术、网络通信技术、集成电路技术的飞速发展,以全数字式现场总线为代表的现场控制仪表、设备大量应用,使得繁琐的现场连线被单一简洁的现场总线网络所代替,为工业现场控制用户带来了巨大好处。

特别是上个世纪80年代以来,随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等等。

在这种情况下,如果仍采用常规的布线方式,即电线一端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,使得电线的质量占整车质量的4%左右,已远远不能满足汽车愈加复杂的控制系统要求。

另外,电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。

为此,改革汽车电气技术的呼声日益高涨。

因此,一种新的概念——车用控制器局域网络CAN应运而生。

二、CAN总线技术介绍及发展现状CAN是控制器局域网络(Controller Area Network)的简称,它是由德国Bosch公司及几个半导体生产商开发出来的,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。

通信速率可达1Mb/s.CAN 总线通信接口中集成了CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

它具有很高的网络安全性、通讯可靠性和实时性,而且简单实用,网络成本低。

特别适用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

CAN 总线技术在汽车总线邻域已经占有了一定的市场地位,国内外众多汽车制造商大多选择can总线技术作为它们汽车网络技术。

我国在CAN总线研究应用方面起步较晚,工程应用几乎是空白。

特别是在汽车上的应用,可以说是从2002年国家863电动汽车重大专项立项以后,才有几个大的汽车研究和生产单位正式启动的,目前都处于研究的初级阶段,还没有拿出产品化的成果。

由于这些研究刚刚还处于起步阶段,故目前的研究重点都集中在动力系统的CAN通讯上,还没有精力针对汽车车身的电子控制部件进行CAN总线的应用研究一些专家认为,就像汽车电子技术在20世纪70年代引入集成电路、80年代引入微处理器一样,近10年现场总线CAN技术的引入也将是汽车电子技术发展的一个里程碑。

三、CAN总线的技术特点CAN总线可有效支持分布式控制或实时控制。

该总线的通信介质可以是双绞线、同轴电缆或光纤,其主要特点如下:•CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,且不分主从;•CAN总线采用独特的非破坏性总线仲裁技术,高优先级节点优先传送数据,故实时性好;•CAN总线具有点对点、一点对多点及全局广播传送数据的功能;•CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其它校验措施,数据出错率极低;•CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响;•CAN总线系统扩充时,可直接将新节点挂在总线上,因而走线少,系统扩充容易,改型灵活;•CAN总线的最大传输速率可达1Mb/s,直接通信距离最远可达到10km(速率在5kbps以下);•CAN总线上的节点数取决于总线驱动电路。

在标准帧(11位报文标识符)时可达到110个,而在扩展帧(29位报文标识符)时,个数不受限。

三、车身系统的CAN控制设计1. CAN总线网络系统架构现代汽车典刑的控制单元有发动机控制模块、变速器控制模块、多媒体控制模块、气囊控制模块、空调控制模块、巡航控制模块、车身控制模块(包括照明指示和车窗、刮雨器等)、防抱死制动系统(ABS)防滑控制系统(ASR)等。

完善的汽车CAN总线网络系统架构如图1所示。

图1 汽车CAN总线网络系统架构2. CAN节点的硬件架构本系统中,CAN节点采用:ECU(AT89C51)+CAN控制器(SJA1000)+CAN收发器(PCA82C250)的电路结构以下是其核心芯片简介:(1)CAN控制器为了系统进一步扩展的需要,可选取支持CAN 2.0B通讯协议的芯片SJA1000。

SJA1000是PHILIPS公司生产的既支持CAN2.0B,又支持CAN 2.0A的CAN控制器,它与仅支持CAN 2.0A的CAN控制器PCA82C200在硬件和软件上完全兼容。

(2)CAN收发器PCA82C250是PHILIPS推出的CAN控制器和物理总线接口芯片,可提供对总线的差分发送和接收。

它与ISO11898标准完全兼容,并有高速、斜率控制和待机3种不同的工作方式,可根据实际情况选择。

(3)单片机AT89C51AT89C51是ATMEL公司的单片机。

它是一种低功耗、高性能、内含4KB闪速存储器的8位CMOS微控制器,与工业标准MCS-51指令系统和引脚完全兼容。

AT89系列的优越性在于其片内闪速存储器可进行1000次的编程与擦除,且数据不易丢失,数据可保存10年。

CAN总线控制器、总线驱动器和单片机连接基本方法如图2所示。

图2 CAN总线控制器、总线驱动器和单片机连接图三、车身控制模块中的CAN应用层协议1. 协议原则本协议遵循CAN2.0B规范,根据车身控制模块的特点,采用源→目的方法,每个节点都有自己固定的标识地址,且节点数小于64,设计时可将中央控制模块设为主节点,而将车门、电动座椅子模块及自检子模块设置为从节点。

本协议可完成以下功能:(1)特定信息的广播;(2)主从节点之间的连接;(3)主从节点之间的信息交换(包括故障信息)。

本协议采用帧优先原则分配标识符,每一帧标识符中的高四位表示帧类型,不同帧类型有不同的优先权,优先权决定了各种信息帧在同等情况下的发送顺序,协议中的29位标识符的分配如下:帧类型(4位)+目的地址(6位)+源地址(6位)+命令(或状态、报告)属性(13位)[或数据属性+分段标志+分段号(共13位)]。

对所有的命令或状态、数据、报告属性、除定时采集发送的数据外,原则上均需应答(发送确认帧以保证通讯正常)。

2. 帧格式仲裁场和控制场定义仲裁场由29位标识符ID28-ID0以及SRR、IDE和RTR组成,SJA1000中的寄存器17-21用来存放扩展帧格式帧信息的标识符。

发送时,SRR=1,IDE=1,RTR=1/0(远程帧/数据帧)。

标识符中的ID28-ID25为车身控制模块交换报文的帧类型(共4位)。

ID24-ID19为车身控制模块中帧信息使用者的地址(或称为目的地址,共6位)。

ID18-ID13为车身控制模块中帧信息发送者的地址或称为源地址(共6位)。

ID12-ID5为车身控制模块中交换的命令、状态、数据或报告属性(共8位),ID4位需附加命令或状态、数据、报告属性时的分段标志。

ID3-ID0为附加命令或状态、数据、报告属性的分段号(共4位)。

当ID4=0时,ID3-ID0控制场、数据寄存器0-7有效。

对于远程帧,则可忽略ID4-ID0以及控制场的值。

SJA1000的寄存器16低四位DLC3-DLC0可构成控制场,以决定数据帧的数据长度。

3. 车身控制模块CAN2.0B通讯报文约定按车身控制模块的节点要求,通讯的信息帧分为表1所列的6种,表1中的优先级按序号从高到低排列。

其目的地址和源地址的分配见表2所列。

表1 车身控制模块帧模型表2 车身控制模块各节点地址分配其工作方式如下:(1)开机后或唤醒时,从节点向主节点发送状态信息,主节点发送广播信息远程帧(两次),广播信息为共用信息,包括车速信号,档位信号,点火开关位置信号等。

(2)正常情况下,从节点内部巡查各端口状态,如有故障则向主节点发送故障代码3次,主节点收到三次故障报警后开始响应,从节点停止发送,一旦故障消失,再向主节点发送正常信息。

在主节点中应有一故障表,以用于已诊断模块的通讯。

(3)主结点分别发送自检信息后,如各从节点正常,则发送正常信息,状态和数据帧。

如有故障,则通过分段数据帧发送故障报警帧。

(4)从节点监测到正常输入信号的变化(包括开关量和模拟量采样级数的变化)后,便通过报告帧发送信息给主节点,主节点则发送命令帧以示响应。

4. 通讯报文定义表3所列是中央控制模块与诊断模块的通讯报文定义。

表中,aaaa为分段号,可在故障代码多于8个时设置,最多可达传送16×8个字节代码;bbbbbb为各传感器代号,其响应帧采用不分段的数据帧,cccccccc为执行相应动作的代码,如车窗上升为00000001,下降为00000010,该响应最多可以执行256个动作。

响应帧采用远程帧,请求帧为远程帧。

表3 中央控制模块与诊断模块通讯表4 正常工作时各节点通讯协议约定在系统正常工作时,各节点的通讯协议约定如表4所列。

表中的dddd为分段起始命令中包含的总段数;eeee为广播信息的某一段号,控制场中的数据长度为该段内的数据长度,数据场中的数据广播的某段实际数据,按顺序定义数据有:•数据寄存器1=车速信息高8位;•数据寄存器2=车速信号低8位;•数据寄存器3=发动机转速信号高8位;•数据寄存器4=发动机转速信号低8位;•数据寄存器5=点火开关位置,其中,0表示钥匙拔出;1表示钥匙位于OFF;2表示钥匙位于ACC;3表示钥匙位于RUN;4表示钥匙位于START;•数据寄存器6=档位信号,0表示空档;1表示驱动档;2表示驱动档;3表示倒档;4表示驻车档;•数据寄存器7=遥控信号,0表示遥控解锁主驾车门;1表示遥控锁定主驾车门;2表示遥控解锁所有车门;3表示遥控锁定所有车门;4表示遥控解锁行礼箱;•数据寄存器8用于防盗模式;0表示进入防盗模式,1表示解除防盗模式;•数据寄存器9-16:保留。

四、软件流程各控制器应按规定格式和周期发送数据到总线上,同时也要接受其他控制器的信息。

总线上的其他控制器则根据需要各取所需的报文。

对于接收数据,本系统采用中断方式实现。

一旦中断发生,即将接收的数据自动装载到相应的报文寄存器中,此时还可采用屏蔽滤波方式,利用屏蔽滤波寄存器对接收报文的标识符和预先在接收缓冲器初始化时设定的标识符进行有选择地逐位比较,只有标识符匹配的报文才能进入接收缓冲器,那些不符合要求的报文则将被屏蔽于接收缓冲器之外,从而减轻CPU处理报文的负担。

相关主题