基于CAN总线的汽车车身线束设计

基于CAN总线的汽车车身线束设计

安徽江淮汽车集团股份有限公司乘用车制造公司安徽合肥230601

摘要:随着汽车电子技术的不断发展,汽车上各种电子控制单元的数目不断增加,传统汽车电子控制单元(ElectronicControlunit)间采用点对点的通信方式,导致车内连接导线显著增加并且布线复杂,所以提高各个控制单元间通讯可靠性和降低导线成本就成为迫切需要解决的问题。为此德国BOSCH公司开发了CAN总线协议,并使其成为国际标准(ISO11898)。

关键词:车身线束;CAN;网络化控制;

电子技术的发展,越来越多的电器、电子设备在汽车上安装使用。在为人们带来方便、舒适的同时,却使车内线束增多、空间紧张、布线复杂,从而导致车身重量明显增加、运行可靠性降低、故障维修难度增大。另外,各电控单元之间传递的大部分信息是可由多个电控单元共享的,而传统的点对点的通信方式不能实现信息共享。相应的,将CAN总线技术运用于车身电控单元线束设计即可轻松解决问题。

一、CAN/LIN总线介绍

1.CAN总线。20世纪80年代末,德国BOSCH(博世)公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换,提出最初用于汽车电子装置互联的控制器局域网——CAN串行通信总线系统,之后被汽车行业和控制领域广泛应用,已成为国际标准(ISO11898)。到目前为止,世界上已拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微控制器芯片。CAN总线由于采用了独特的设计和新的技术,与一般的通信总线相比,具有突出的可靠性、实时性和灵活性。CAN采用多主工作方式,成本低,且具有极高的总线利用率;CAN总线具有可靠的错误处理和检错机制,采用短帧结构,传输时间短,受干扰的概率低;采用非破坏性总线仲裁技术,节点在错误严重的情况下具有自动退出功能。

2.LIN总线。1998年,Audi、Motorola、BMW、DaimlerChrysler、VCT、Volvo和Volkswagen七家公司联合提出了新型A类总线——LIN(LocalInterconnectNetwork)。LIN是一种低成本短距离的低速网络,旨在传送开关设置和传感器输入等状态的变化,并对这种变化做出响应,因此它只适用于对传送时间要求不高的低速事件,并不适用于发动机控制等高速事件。LIN总线成本低,基于通用的UART/SCI接口,LIN的传输速率可高达20Kb/s,总线长度最大可以达到40m;采用单主多从模式,不需要总线仲裁;在从节点中不需要晶体振荡器和陶瓷振荡器时钟就能实现自同步;可预先计算确定性信号的传播时间;无需改变LIN从节点的硬件和软件就可以在网络上增加或删除节点等等。

二、CAN节点结构

系统中,CAN节点采用以下电路结构:ECU(AT89C51)+CAN控制器(SJA1000)+

CAN收发器(PCA82C250)AtmelAT89C51单片机是一种低功耗、低电压、高性能的8位CMOS单片机,片内含有4KBFlashROM,4个I/O口共32个I/O引脚,都可供用户使用,而且其输出引脚和指令系统都与MCS-51兼容,灵活性高且价廉。独立CAN控制器PHILIPSSJA1000主要完成CAN的通信协议,支持CAN2.0A/B协议,支持11/29位标识码,具有扩展的64字节接收缓冲器,通信位速率可达1Mbps,即使在恶劣环境中也可正常、稳定地工作。PHILIPSPCA82C250是一种通用CAN收发器,是CAN控制器与物理总线之间的接口,对总线提供差动发送能力、对CAN控制器提供差动接收能力。节点主要电路见图1(中央控制节点中AT89C51的P1端口与各车灯开关相连,其余节点的P1端口连接车灯)。

图1节点电路原理图

三、总体结构

车身网络常由车内仪表、照明及信号灯组、自动车窗、座椅等电控节点组成。本系统中,网络中包含车内仪表板和四组照明、信号灯组共五个节点。其中,照明、信号灯组中包括远光灯、近光灯、转向灯、雾灯、倒车灯、刹车灯,且不同灯的安装位置不尽相同。中央控制节点安装在汽车仪表板上,接收司机的操作指令;其余四个节点则分别安装在车头、尾部的左侧和右侧,与不同车灯相连,控制车灯状态。CAN总线将所有节点连接起来,组成一个汽车内部控制网络。由于每个CAN节点与网络连接只用两根线:CAN_H线、CAN_L线,从而大大减少了线束使用量。

四、软件流程

中央控制节点的流程:见图2。变量STATE存储AT89C51的P1端口的状态。从P1.0至P1.7,程序顺序检查每一位是否与STATE的对应位相同。

图2主程序流程图

若不同,表示与该端口相连的开关发生状态变化,则根据变化的实际情况向总线发送报文。P1.7检查完毕后重新对P1.0进行下一轮检查。其余节点的软件流程:程序不断查询状态寄存器(SR),监视RXFIFO中是否有新报文。若已收到新报文,首先根据报文标识符确定操作对象是哪个车灯;其次根据报文数据域的内容确定操作内容(开启/关闭/闪烁);最终实施操作并开始重新查询SR。其中,当使车灯(转向灯、应急灯)闪烁时,车灯每两次点亮之间的时间间隔为1s,即需要设定0.5s的延时,每到0.5s产生中断,中断服务程序将车灯的状态(P1.0)置反。由于AT89C51定时器无法产生长达0.5s的延时,程序使用定时器T0(定时0.1s)和变量N(初值5)配合使用产生0.5s延时。

五、系统软件设计

CAN2.0B协议只制定了CAN物理层与数据链路层的协议,在进行系统设计时,要根据用户的需要制定相应的CAN应用层协议。根据总线系统各节点及其所要实现的功能,确定相互间共享的数据,然后了解各节点需接收和发送的信息,统一制定CAN网络中需传输的信息,最后给制定好的CAN网络传输消息分配标识符。CAN2.0B给出了标准帧和扩展帧两种报文格式,它们的主要区别在于报文所含标识符的位数不同,标准帧包含11位标识符,扩展帧包含29位标识符。本系统使用扩展帧格式,以提高系统的可扩展性和与其它系统的兼容性。标识符ID越小,优先权越高,所以在确定ID时先要分析该信息帧需求的紧急性。将汽车车灯位置分布和行驶安全性要求作为各模块划分的依据,各报文的优先级由高到低为:刹车灯、倒车灯、应急灯、转向灯、近光灯、远光灯、雾灯。由于在同一时间总线上最多只能传输一个信号,当有多个信号同时发送时,优先级高的报文先传输,优先级低的报文后传输。信息编码是把相近或相关的信息组合成一个数据块,使它们的数据可按同样的频率从控制节点发送到总线上。其它CAN节点可同时获得这组信息,并对该信息进行相应的处理。本车灯控制系统通过主控制器发送信息,各分节点先通过验收/屏蔽滤波器接收自己需要的信息,屏蔽不需要的信息,再根据接收内容进行相应操作。本系统采用模块化程序设计思想,按照功能分成不同的程序模块,各模块间相对独立,以完成特定的功能。各模块之间可以相互调用,数据共享,以重复利用代码和简化代码。主要的功能模块有:CAN初始化模块、接收中断服务程序模块、CAN报文发送模块、转向灯控制模块等。程序首先执行初始化程序模块,以初始化系统,将对应车灯的I/O控制口输出方向设置为输出,并初始化CAN控制器及定时器,等待CAN报文的接收中断;如果有CAN报文的接收中断,则读取CAN报文的数据字节并且进行解析,控制相应车灯控制I/O口的变化,由功率驱动芯片来完成车灯的开关操作。

采用CAN总线技术设计了一个汽车车灯控制系统,验证了将CAN总线技术应用于车身网络设计的可行性,CAN总线具有高速、可靠、实时性好、易于维护且工程造价低等优点,解决了汽车ECU的日益增加与传统汽车控制方式之间的矛盾。随着CAN总线在汽车电气控制方面的广泛应用,汽车的使用性和可靠性等方面将会得到很大的提高。

参考文献:

[1]张运涛,现场总线CAN原理与应用技术.2016.

[2]王兴平.探讨基于CAN总线的车身网络设计.2017.

[3]王贵和,梁玮.浅谈基于CAN总线的汽车车身线束设计.2017.

标签:;  ;  ;  

基于CAN总线的汽车车身线束设计
下载Doc文档

猜你喜欢