摘要:本文描述汽车上CAN总线报文通信丢失的故障排查思路,从信号源控制器、传输线路、信号目标控制器进行展开分析,并形成故障树分析方法。在实车上的故障案例中,根据该故障树分析可以及时准确地检测出报文通信丢失的原因。故障原因被成功找到并能够被人为再现,充分表明故障树分析方法是高效正确的。
近些年来CAN总线在汽车电子应用上越来越广泛,可以实现信息共享的同时减少了线束的数量。一般乘用车上的CAN网络节点有十几个,甚至二三十个,对这些节点之间进行CAN总线信号交换的可靠性要求很高,但是由于某些原因,比如整车环境(如蓄电池电压不稳定或过低)、CAN节点故障、传输线束故障导致目标控制器接收不到源控制器的某个报文,从而出现某个报文通信丢失的故障,严重的会影响整车的性能和安全。所以查找通信丢失的故障原因很有必要,没有清晰的排查思路,很难快速高效地找到故障点。根据我们实车排查的经验,形成了一套CAN报文通信丢失的故障树分析方法。
1 报文通信丢失判定机制
报文通信丢失分为两种情况:一种是收不到其它CAN节点的报文,一种是自身节点发不出报文。在整车网络中,连续一定时间内未收到报文则被认为与某CAN节点通信丢失故障。Busoff是某CAN节点发送不出去报文,累计到一定数量则按照总线协议规定进入Busoff模式。
2 报文通信丢失的故障树排查方法
我们把通信丢失的报文称为特定报文,把发送特定报文的控制器称为源控制器,接收特定报文的控制器称为目标控制器。实时故障排查我们从源控制器、报文传输线路、目标控制器三大方面去排查。
2.1历史故障排查方法
根据实车故障排查经验,当诊断仪读到有报文通信丢失相关的故障码时:与某CAN节点通信丢失或者与某CAN节点Busoff,首先判断故障码为历史故障码还是实时故障码。如果为历史故障码,可能的原因有:①车辆非正常下电,比如人为拔掉过蓄电池负极电缆;②在非OFF挡更换过车上的控制器;③控制器插接件出现过进水、接触不良等问题;④外部设备引入故障码,比如数据记录仪、故障诊断仪、用户私自加装设备;⑤整车蓄电池电压不稳定。历史故障码可以在查找到问题原因后进行清除故障码操作,并根据可能的原因进行人为再现进行验证。
2.2实时故障排查方法
当诊断仪读到有报文通信丢失相关的故障码时:与某CAN节点通信丢失或者与某CAN节点Busoff,如果为实时故障码,采用CANoe软件进行监测特定报文是否发出,如果源控制器的特定报文未发出,故障点有可能是:源控制器电压不稳定,过高或过低都会导致通信故障;线束问题、源控制器本身硬件或软件问题;其它控制器的故障导致总线负载率升高、错误帧增加,从而影响了源控制器的特定报文被超时发送,导致发生报文丢失的故障。
如果源控制器的特定报文已发出,排除了源控制器的故障嫌疑,如果此网段上没有发生其它报文通信丢失的故障,可以初步判断传输线路是良好,故障原因可以锁定在目标控制器上,有可能目标控制器的缓冲区溢出,误认为特定报文丢失。
当诊断仪读到Busoff故障,如果报文丢失所在的网段有错误帧,或者错误帧不断增多,可以从以下方面进行故障分析。
1) CAN网络终端电阻不匹配:终端电阻不匹配会导致网络抗干扰能力差。整车需要在断电的情况下用万用表进行测量终端电阻,如果终端电阻不满足设计要求,则有可能是:某控制器的故障、CAN主干线上线束故障、CAN支线上的线束故障或插接件接触不良。
2)某个控制器的故障有可能导致整车网络节点Busoff ,如某控制器的插接件接触不良、进水,硬件问题,软件问题。在整车上,可以采用逐个拆除控制器的方法进行排查,锁定嫌疑控制器,然后解析控制器的硬件或者软件。
上述故障分析法形成故障树,如图1所示,表1列出了故障树符号说明。
2.3报文通信丢失案例分析
2.3.1案例1
故障车辆车辆不能起动,节点1报通信丢失故障。
故障现象车辆在ON挡时,总线分析软件检测网络报文,负载率升高,有错误帧,如图2所示,节点1有故障码:与节点2通信丢失。
故障分析总线分析软件检测网络报文,节点1的特定报文未发出(其他报文正常发出),用万用表测试了蓄电池和节点1的电源均正常,节点1的线束接触正常,更换了节点1控制器,故障依然存在。初步判断是网段上其它控制器故障导致的干扰。采用逐个去掉控制器来进行排除,当去掉节点3控制器的时候,网络错误帧不再出现,故障也消失。为了进一步确认是节点3的问题,更换了节点3控制器,网络恢复正常。故障点锁定在节点3控制器,需进一步专业解析节点3控制器。