×
接口总线驱动 > 总线 > 详情

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

发布时间:2020-05-26 发布时间:
|

0 前言

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

    CAN(Controller Area Network)即控制器局域网,是博世公司开发的一种串行通信协议。和其它现场总线相比,性价比较高。CAN采用多主竞争总线形式,废除传统的站地址编码方式,代之以对数据信息进行编码,最多可标识2032(2.0A)或5亿(2.0B)多个数据块。数据通讯速率最大可达1Mbps(距离40m),能充分满足信息的实时需要。短帧数据结构最长8个字节,占用总线时间很短,受干扰概率低。另外,CAN在错误检测及自恢复能力方面的优势,有力地保证了数据通讯的可靠性。

1 总体结构

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

 

图1 总体结构图

2 CAN节点结构

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

 

图2 节点电路原理图

3 报文传输

    CAN2.0B给出了标准帧和扩展帧两种报文格式,二者的主要区别在于报文所含标识符的位数不同,标准帧包含11位标识符,扩展帧包含29位标识符。考虑到系统的可扩展性和与其它系统的兼容性,本系统使用扩展帧格式。

    报文中的标识符描述数据的含义,不同的帧的标识符不同。每个节点的接收器通过对帧进行接收滤波来确定此帧是否与自己有关,接收有关的,滤掉无关的。标识符同时定义了报文的静态优先权。总线空闲时,任何单元都可以开始传送报文,具有较高优先权报文的单元可以获得总线的访问权。车辆驾驶过程中,驾驶员根据需要控制仪表板上的车灯开关。中央控制节点实时监测每个开关的状态变化,若发生变化则向总线上发出控制信号;其它节点对信号报文进行有选择地接收、处理,并产生对相应车灯状态的控制。表1中,每种车灯信号拥有一种报文标识符(除ID.20-ID.13外,其它位均为0)。

    由于不同车灯在保障车辆安全行驶方面的重要性有轻重之分,车灯对应信号的优先级也应有所区别。表1中各报文的优先级由高到低排列为:刹车灯、倒车灯、应急灯、转向灯、近光灯、远光灯、雾灯。由于在同一时间总线上最多只能传输一个信号,当有多个信号同时发送时,优先级高的报文先传输,优先级低的报文后传输。

表1 报文定义

 

    表1中,节点对报文有选择性地接收,这是通过设置每个节点的验收滤波器实现的。验收滤波器由验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)组成,每个节点的设置如表2所示。[page]

表2 节点验收滤波器设置

 

4 软件流程

    中央控制节点的流程:见图3。变量STATE存储AT89C51的P1端口的状态。从P1.0至P1.7,程序顺序检查每一位是否与STATE的对应位相同。若不同,表示与该端口相连的开关发生状态变化,则根据变化的实际情况向总线发送报文。P1.7检查完毕后重新对P1.0进行下一轮检查。主节点的P1端口连接如表3。

表3 主节点的P1端口连接

 

 

图3 中央控制节点流程图

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

 

图4 T0中断服务程序流程

5 结束语

    本实验成功地验证了将CAN总线技术应用于车身网络设计的可行性,CAN总线具有高速、可靠、实时性好、易于维护且工程造价低等优点,很好地解决了车身线束设计中的诸多问题。此外,还可以将安全气囊、悬架控制、牵引控制ABS等也加入车身网络,从而进一步简化车身线束和分布式控制。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
当代手机各外部接口的ESD保护设计指南