数据总线又称为 CAN(Controller Area Network),它是一种串行多节点控制器局域网络(多主机局域网)。CAN 最早由德国 Bosch 公司开发,是为了解决现代汽车众多控制线路和数据交换问题而设计的一种现场数据通信系统。该系统简单实用,成本低廉,而且具有很高的网络安全性、传输实时性和通信可靠性。
1. 网络“节点”、网关及拓扑结构
(1)节点与和拓扑结构
在车载多路信息传输系统中,节点是指系统中的电控单元(又称为控
制模块)。因此,所谓“节点故障”就是数据总线系统中电控单元的故障,它包括软件故障和硬件故障。
拓扑结构用来表示网络内各节点的相互连接关系,而不考虑它们之间的位置和距离。网络内各控制单元的相互连接,分为星形、串联、并联和混联等多种形式。例如宝来 1.6L 轿车舒适系统内各控制单元之间采用星形连接方式,其好处是,当某一个控制单元发生故障,其它控制单元仍然可以发送各自的数据。拓扑结构不同的网络,呈现的故障症状也不尽相同。
(2)网关
①网关的概念。在网络中,网关又称网间连接器,协议转换器,BSI:电子控制单元(专指汽车上的网关)起着指挥协调中心的作用。在车载网络系统中,各子系统可能是不同类型的网络(例如 CAN 网与 VAN 网);在不同的区域,数据线的传输速率(低速网络、中速网络与高速网络)、通信协议及识别代码也可能不相同。数据要从一种总线进入另一种总线区域,实现通信和信息共享,必须改变它的识别代码或传输速率,让另一个网络所接受,这个任务就由网关来完成,网关充当了不同网络之间“翻译”的角色。凡是通信协议不兼容的网络(例如通用车系的 GM LAN、Class-2与 UART)连接在一起,中间必须有一个模块作为网关。事实上,网关是一个速率转换器,一个计算机服务器,它能够将不同类型的子系统有机地融合在一起。网关使网络具有较强的扩展性,当需要增加新的子系统时,无须对数据总线做大的修改。由于网关的存在,虽然各控制单元共网,但具有独立性,各子系统可以独立地工作,当某个子系统出现故障时,不会影响其它子系统的正常传输。
在不同的车型上,网关所处的位置各不相同,例如奔驰 S320 轿车的网关是点火开关模块(N73),宝马745 轿车的网关是 ZGM 中央模块,奥迪 A6 轿车的网关则是组合仪表模块。事实上,汽车上的网关可能不止 1 个。
②网关能够实现多种功能。a.连接和沟通不同传输速率、通信协议和识别代码的网络;b.实现在线连接及多路传输连接;c.故障自诊断;d.接收来自传感器的信息;e.向与网关连接的设备供电及提供电力保护;f. 网关还具有改变信息传输优先权的功能。以汽车发生碰撞事故时减速度信号的传输为例,该信号在驱动系统中的优先级是很高的,因为减速度信号牵涉到安全气囊是否引爆。但是传输到舒适系统,网关会调低它的优先等级,因为在舒适系统中,减速度信号的功能只是打开车门和接通车灯而已。
③网关(BSI)是需要设置的。如拔过 BSI 的保险丝,或者有过不正常断电,BSI 将进入经济模式,导致多个用电器不工作。对 BSI 重新进行设置,就可以排除这类故障,其实质是转换 BSI 的工作模式。以赛纳轿车为例,该车的车身电器连接采用了CAN 网(动力控制网)和 VAN 网(车身局域网)这两种通信网络,它们之间通过网关连接起来。在维修中,如果更换了网关,需要输入正确的车辆识别号(VIN)。如果没有输入车辆识别号,或者输入的车辆识别号与规定的车辆识别号不相同,打开收放机就会发出有规律的异常响声。这是因为,在接通点火开关后,收放机控制单元将 VIN 码与通过舒适系统 VAN网记录在网关里的 VIN 码进行比较,如果这 2 个 VIN 码不相符,就会引起异常响声,此时必须连接电脑故障诊断仪,进入 BSI,重新输入正确的车辆识别号,才能排除收放机异响的故障。
2. 数据总线的检测
建议使用专用设备 (如汽车CAN-BUS 局域网分析仪等) 进行数据总线检测。若使用原来的 OBD-Ⅱ诊断仪,只能调出常规的故障码,对于 CAN 的故障码(自诊断系统显示的数据总线故障码以“U”字打头)无能为力,必须向诊断仪的制造公司购买 CAN 专用诊断头,才能解决 CAN系统的故障诊断问题。
大众车系的数据总线只能有 2种工作状态———显性状态(逻辑值为0)和隐形状态(逻辑值为 1),这 2 种逻辑状态对应不同的电压,控制单元就是利用 CAN2条线上的电压差来确认数据的。也就是说,在 CAN 总线上传输的是差分信号,它用一个二进制数值(1 或 0)来表示 2 个物理量之间的差异(其实所有的电压信号都是差分信号,信号值实际上就是 2 个导体之间的电压差)。在隐形状态(“1”)时,两线的电压很接近;在显性状态(“0”) 时,CAN-H 线的电压值上升,而 CAN-L 线的电压值下降。CAN 采用差分信号传输数据的一个好处是,具有比较强的抗外界电磁干扰能力。
(1)读取数据流。读取测量数据块中的 CAN 总线的通信状态,可以判断 CAN 总线电控单元是处于休眠状态还是激活状态。
连接大众专用故障诊断仪 V.A.G1551 或者 V.A.S5051,读取某控制单元的数据流,可以观察到有哪些控制单元与之发生信息交流以及工作状态是否正常。如果某控制单元的数据显示为“1”,表示该控制单元接收数据正常;如果显示“0”,则表示该控制单元接收数据不正常,其原因可能是与网关的连线断路或者没有安装该控制单元。