马伯祥, 陈树星, 张丽波, 王 鑫, 聂泽宇, 段冲磊, 李志宁
(一汽解放商用车开发院, 吉林长春 130011)
乘用车上的仪表和其他控制器之间存在功能关联, 如ABS (防抱死控制器)、 Airbag (安全气囊控制器) 等。 一个控制器发送异常的总线信号, 可能导致另外一个或多个相关的控制器发送故障。 本文从试验车辆上故障现象出发,复现并分析定位问题, 提出控制器的改进方案, 达到处理问题、 提高可靠性目的。
在车辆下线检测过程中, 试验车上发现如下问题: 试验车辆在点火起动之后, 仪表显示屏点亮ABS报警灯。 用诊断仪读取到以下2个故障码: 故障1——ABS报出低电压故障 (故障ID=0xC00700); 故障2——Airbag 报出ABS 的Checksum_Front校验和算法错误故障 (0xD65183)。
1) 故障1, 同时满足下述4个条件, ABS报低电压故障(故障ID=0xC00700): ①诊断服务没有禁止DTC; ②当前无BUSOFF故障发生; ③当前ABS报文没有丢失; ④供电电压低于9V。
故障报警状态: 当产生故障后点亮ABS报警灯。
2) 故障2, 满足下述5 个条件, AIRBAG 报ABS 的Checksum_Front校验和算法错误故障 (故障ID=0xD65183):①点火开关ON挡; ②9V≤电源范围≤17V; ③诊断服务没有关闭诊断功能; ④当前无BUSOFF故障; ⑤ABS的Checksum_Front计算错误。
故障报警状态: 未与报警灯关联。
1) 设置试验初始状态为点火开关ON挡, 变速器挡位P挡, 结合相关因素: 点火开关状态 (OFF-ACC-ONSTART), 车辆行驶 (低速情况下, 车速低于30km/h, 正向和反向), 变速器挡位 (P-R-N-D挡), 仪表报警规律。
2) 在试验车辆上连接CAN数据监测设备 (VN1640),记录网络数据, 连接车辆诊断仪读取诊断数据。
3) 按照试验项, 顺序进行试验1~8。
试验1: 点火开关ON挡, 用诊断仪清故障, 仪表显示屏ABS报警灯熄灭。 读故障, 显示无故障。
试验2: 原地操作切换变速器挡位P-R-N-D挡; 在每个挡位上停留2min并读故障, 显示无任何故障。 点火开关状态 (OFF-ACC-ON) 切换, 在每个挡位上停留2min并读故障, 显示无故障。
试验3: 点火开关切换ON-START (车辆起动), 仪表显示屏点亮ABS报警灯。 读故障, 显示故障1。
试验4: 清故障, 原地操作切换变速器挡位P-R-N-D挡; 读故障, 显示无任何故障。
试验5: 车辆D挡位行驶 (车速低于30km/h), 读故障,显示上述故障2。
试验6: 车辆行驶, 用诊断仪清除故障, 仪表显示屏ABS报警灯熄灭, 读故障, 显示故障2。
试验7: 车辆停止, 读故障, 显示无故障。
试验8: 车辆R挡位行驶 (车速低于30km/h), 读故障,显示上述故障1、 故障2。
2.3.1 回放数据, 排查问题原因
试验1: 点火开关ON挡时, 车辆无故障。
试验2: 变速器挡位变化和点火开关挡位时, 车辆无故障。
试验3: 故障1与点火状态有关, 需要通过试验9 (在试验3基础上增加ACC-START条件)、 试验10 (在试验3基础上增加OFF-START条件)、 试验11 (在试验3基础上增加STRAT-OFF条件) 数据进行验证。
试验4: 故障1和故障2在车辆点火后与变速器挡位变化无关。
试验5、 6、 7、 8: 故障2和车辆行驶状态有关 (变速器D/R), 和车辆车速、 轮速有关 (车速和轮速都不为默认值)。
2.3.2 归结问题方向
重复上述试验1~8, 故障显示规律化, 排除仪表显示因素、 变速器因素 (通过读故障发现: 换挡过程没有引入故障), 结合诊断策略归结问题为以下: ①故障1和车辆点火相关, 具体为: 当点火开关切换ON-START或OFF-START或ACC-START, 车辆报出故障1。 ②故障2和车速、 轮速相关, 当变速器挡位为D/R挡, 并且车辆行驶情况下, 车辆报出故障2。
2.3.3 复验并定位问题
1) 故障1: 在试验车辆上连接示波器监测整车电源状态,连接CAN监测设备 (VN1640) 记录测试数据。 当点火开关切换ON-START, 在发动机起动过程中, 发现电压低于9V(图1中红色为电压波形, 最低点约8.5V, 绿色为发动机转数), 达到了故障1的报警条件, ABS控制器报出低电压故障。
图1 车辆起动过程电压波形图
2) 故障2: 连接CAN设备监测ABS的Checksum_Front校验和数据 (校验和算法为: Checksum_Front=字节1异或字节2....异或字节7), 涉及到的字节1到字节7信号包含车速值、 左前轮速值、 右前轮速值、 左后轮速值、 右后轮速值,经计算, Checksum_Front信号值正确, 排除ABS控制器问题, 问题归结为Airbag控制器误判。
在试验车辆连接CANApe标定监测设备, 监测Airbag关于故障2状态标示位 (当故障2产生时, 状态标示位=1;当故障2消除时, 状态标示位=0), 重复试验5~8。
车辆行进过程中, 状态标示位=1, 确认Airbag报故障2与车辆行进和算法相关; 查看Airbag接收ABS数据后处理方式, 如图2 所示, ABS 发送报文的第23bit、 39bit、 55bit、60-63bit位为保留位, 当Airbag接收到ABS发送的报文后,按照和ABS同样的算法进行运算 (Checksum_Front=字节1异或字节2....异或字节7), 但是Airbag对于保留位采取默认为0值进行计算, 实际上ABS在车辆行驶后保留位第60-63bit数据变化 (ABS内部算法应用, 此时60-63bit数值不为0),导致Airbag 计算值与报ABS 不符, Airbag 报ABS 的Checksum_Front校验和算法错误故障。
图2 ABS相关报文信号位设置
1) 方案1: 更改2.1中条件④的供电电压值到点火电压值以下 (比如8V, 此项需要具体发动机点火标定数据)。优点是限制了ABS在车辆点火过程当电压低于9V时报低压故障; 不确定因素是试验用车的电池性能不一致, 本车点火电压低压达到8.5V, 其他有可能出现低于此值情况 (比如7V), 此时如定义8V为限值则满足不了要求。
2) 方案2: 在2.1故障处理策略里加入第5条: 当发动机转速>0时, 需要车速>8km/h才报警。 原因为当车辆ON挡静止 (发动机转速=0) 可能出现电压过低, 比如低于8V情况, 此时可以报警; 当车辆点火过程, 发动机转速>0, 但是车速=0, 所以此时的低压不会产生报警。 而且当车辆行驶后, 虽然发动机转速>0且车速>0, 但由于行车过程对电池充电, 电压会迅速上升到正常工作状态。
比较方案1和2, 由于方案1会引入电池性能因素, 所以选择方案2。
ABS不改变对默认值处理方式 (ABS内部算法应用),而Airbag 根据总线采集的ABS 实际CAN 数据计算Checksum_Front校验和 (即Airbag不能用默认值进行计算, 需要用总线数据计算)。
ABS控制器、 Airbag控制器设计师更改相关故障处理策略, 刷件后重新试验, 试验车辆无相关故障报出。
由于乘用车上各控制器之间功能存在关联, 仪表的故障灯显示功能为驾驶员和试验人员提供了故障判断依据。但在其报出故障时, 仍需结合诊断仪等工具判断问题源头,避免遗漏潜在的问题。