相较于传统的车载控制器,比如电机控制器、整车控制器,通常是一个故障点对应一个故障码。然而对于ADAS控制器而言,由于其硬件复杂、与外部交互也多,有的主机厂沿用之前的方案,采用一个故障点对应一个故障码的方案,但是这样的就是导致ADAS控制器的故障列表非常大。也有一些采用将多个故障点对应一个故障码的方案,这样故障列表就很小,但是报出故障之后,问题排查就相对复杂一些,需要看内部log,一个一个排查。
偶然从网上看到了一份理想ONE的ADAS控制器的维修资料,里面有一章节是描述故障码,通过这份资料来分析一下理想ONE的故障码设置方案,首先说一点,理想ONE ADAS控制器的故障码都是以C打头的,从标准定义来看,其归属是底盘故障。
▲图1 故障码分类
01.
电压类故障
总体分过压和欠压故障,确认和恢复debounce时间均为500ms,并且电压监控没有做回置处理。监控的对象主要包括,蓄电池、外设芯片供电、主控芯片供电、IGON、TJA1043的INH引脚等电压进行监控,各个的阈值分别为:
1.低压蓄电池:低压阈值为6V,高压阈值为16V,恢复均为9V~16V。
2.VCC5V:过压阈值为2.625V,恢复条件为2.375V~2.625V,欠压阈值为2.375V,恢复条件为2.375V~2.625V,这里硬件上应该是做了分压处理,因为其电源电压是5V的。
3. VCC3V3:过压阈值为3.465V,欠压阈值为3.135V,恢复均为3.135V~3.465V。
4. VCCCAM:过压阈值3.57V,欠压阈值为2.23V,恢复均为2.23V~3.57V。
5。VCC1V8:过压阈值为1.89V,欠压阈值为1.71V,恢复均为1.71V~1.89V。
5。VCC1V1:过压阈值为1.155V,欠压阈值为1.045V,恢复均为1.045V~1.155V。
5。VCC1V0:过压阈值为1.05V,欠压阈值为0.95,恢复均为0.95V~1.05V。
6.IGNON信号电压不在范围内:触发条件0.5V~2.0V,恢复为小于0.5V或大于2.0V。
除了上述以外,还有一些高低边的短路开路故障,这些也是通过引脚电压来监控的。
02.
总线类故障
总线主要是做Mobileye与外设的SPI通信监控,包括CRC校验、没有响应、心跳出错,外部总线信号的无效、丢失、超范围、busoff、RC、CRC等。
超范围主要也是信号超范围,比如方向盘期望力矩与实际力矩、期望减速度与实际减速度等。
无效是指信号的无效标志位,比如车速信号无效标识符、方向盘转交信号无效标识符等,busoff是连续5次恢复,恢复是5000ms内没有关闭,就恢复。
对于丢失故障,每个节点仅监控一帧报文的,而不是所有的报文丢监控。
有一点比较有意思的是,理想ONE里做了很多CAN信号请求超时的故障,与丢失不一样的是,他是指某些信号没有在规定的时间内响应期望的信号,比如泊车对ESP请求退出,如果3s,没有退出泊车,就会报请求超时故障。
03.
内部故障
对于内部故障,理想ONE的策略不像传统的车载控制器,采用的是一个故障点一个故障码的策略,而是对外是一个比较笼统的故障码,对于EyeQ4来说,主要是分了EyeQ4的coredump故障,也就是SOC挂死了。
对整个控制器而言,有个ECU故障,包括的触发条件EEPROM损坏、无法读写等,PCB损坏,传感器、滤波器异常等,内存出错,比如踩内存了,
对MCU而言,有MCU RAM故障,比如CRC校验出错、MCU ROM故障 ROM的CRC校验,MCU的程序流执行错误。
04.
小结
以上就是从理想ONE的ADAS控制器的故障码的一些梳理,故障的设置逻辑与小编接触到了有一些差别,比如内部故障的多对一笼统处理,通信类孤战处理。统一处理的好处是对外部来说能看到的故障码很少,不会泄露太多自己的策略,不好之处即使如果真的报了这些故障,排查比较麻烦,需要看内部的log才能知道具体的问题点,有时候有些模块没有记log的话,就很难查了。
分享不易,恳请点个【👍】和【在看】