当前位置:首页 >> 机械/仪表 >>

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

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

表 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 等也加入车身网 络,从而进一步简化车身线束和分布式控制。


更多相关标签: