故障诊断方案设计
1诊断设计前言
故障设计对于开发及售后的作用极为重要,诊断包含逻辑、电路、网络等方面。对于电路诊断,除了原理图的设计对设计极为重要之外,负载的电流范围也极为重要(选用的输出芯片的电路诊断检测范围匹配问题)。
硬件设计阶段就应该综合来考虑负载输出电流范围(由OEM提供),并且给出诊断方案,否则后续负载匹配出现问题修改硬件极为麻烦
2 电路诊断的基本设计
电路诊断的基本目的就是保护输出电路、故障检测定位等,更快更精准的确定问题,从而达到快速检修。
2.1 驱动芯片的诊断方式
对于输出电路的开短路检测,最基本最常用的方法就是电流检测(开路检测: 输出电流小于开路阈值,短路检测: 输出电流大于开路阈值)、电压检测(开路检测: 回采输入电压大于开路阈值,**短路检测:**回采输入电压大于开路阈值)。
电流的检测: 用于高边输出(灯负载或者其他负载)、半桥输出(电机输出负载或者单用高边输出)(常用于芯片输出等)
电压的检测: 用于传感器输入电压采集、上拉源电压采集等方面(常用于自搭电路)
2.1.1 L99DZ100芯片诊断
车门域控制器常用的控制芯片ST公司的L99DZ100,可作为输出及ECU的SBC芯片使用,下图为该芯片的推荐使用方式。
常用功能的诊断
1) 半桥诊断(电动车窗诊断)
a、输出时诊断方式
电路输出原理如下,简单说就是可以配置一个电压值VSCd_HB (DIAG_x (CR 10)来监控压降,当压降大于该配置值VSCd_HB (DIAG_x (CR 10)超过一个时间tSCd_HB,就将状态寄存器SR2相应状态位DSMON_HS2、DSMON_HS1、DSMON_LS2、DSMON_LS1置上提示车窗状态出错。
b、OFF模式下进行诊断
简单来说,就是通过给定控制寄存器的值,来检测是否发生某种类型故障。下图是具体的操作序列,按照相应操作即可对相应的Pin脚进行诊断。
2) 后视镜加热输出诊断
The Heater MOSFET Driver stage is controlled by control bit GH (CR 5). The driver contains two diagnosis features to indicate short-circuit in active mode (external MOSFET switched on) and open-load in off state (External MOSFET switched off).
这段是诊断文件的原文描述,意思就是需要在激活输出时进行短路诊断,在关闭输出是才能进行开路诊断(CR10(GH_OL_EN))。同时诊断的输出电压比较值也是可以配置的。
3) 过流检测
下图是过流检测的芯片手册描述,也就是通过状态寄存器SR3进行检测。值得注意的是半桥输出它会存在过流恢复模式,也就是SR3对应的状态位在触发热保护时才会置上,SR4状态寄存器提供了过流警示位用于检测此状态。
过流阈值会在数据手册中进行详细说明,存在一些输出口配置两种模式,对应着不同的驱动能力和不同的过流检测阈值。
4)开路检测
下图是开路检测的芯片手册描述,也就是通过状态寄存器SR5进行检测。
5) 电流监测
CM引脚可以通过配置来进行电流回采,比如折叠电机的堵转阈值,也可作为过流检测等(不推荐使用:精度不高、使用麻烦、CM引脚出现问题会导致与之相关的诊断均无法使用)
2.1.2 VN7040/VN7100芯片诊断
ST公司的 VN7040/VN7100桥驱输出芯片,提供了几种诊断模式:输出状态下的电流监控、OFF模式下的开路检测及短电源检测
1)输出状态下过流/开路检测
下图为该芯片输出的真值表,可以检测高边输出的pin脚,通过检测输出电流判断输出电路的状态,通过标定电机给出合适的过流及开路检测阈值。
2)OFF模式下的开路检测
OFF模式下的开路检测需要存在外部的上拉电阻,否则无法进行,具体检测方式见表格。
3)OFF模式下的短电源检测
OFF模式下的短电源检测如**2)**中图所示,在没有外部上拉时可以进行检测,否则无法进行,具体检测方式见表格。
2.1.3 自搭电路诊断
如通过采及传感器的电压,通过AD转换成电压值,通过标定采集的合理范围,超出此范围认为出现电路故障(如开路、短路等)
2.2 电流检测范围与负载匹配
如上文中所说电流的开路检测存在阈值范围、过流也存在检测阈值范围,正常输出电流不在两者阈值之间,那么基于此芯片的检测方式将不再使用。
1) 大负载与小功率输出口
在小驱动能力的输出口给一个大功率负载,如果通过检测电流的话会直接误报短路,甚至集成电路损坏
2)小负载与大功率输出口
对于一个大的输出口会给一个小功率输出负载使用,电流回采会极小会直接报开路(输出可能不受影响,但是无法实现正常的故障检测)
如VNH7100驱动一个工作电流只有几毫安的灯负载,回采的12位AD值只有十几,而回采的误差允许范围存在十几,导致无法使用回采AD进行开短路的判断。
3 网络诊断基本设计
3.1 网络诊断物理层错误
当收发器接收到的状态不正常时,DZ100会根据总线上的回采及收发器进行的操作对应的置上不同的状态位以提示出现的故障。故障的具体定义及类型根据OEM要求进行设置。
3.2 CAN网络诊断设计
3.2.1 CAN节点离线故障
下图为CAN Bus OFF及恢复的具体过程,根据AutoSar网络管理Can Bus Off的DTC需要发生32次才能置上DTC,并且指定次数Bus Off后会进入一个慢恢复阶段。
此故障可以由AutoSar配置模块CANSM进行配置,达到L2才进入Bus Off并记录DTC时需要注意DEM模块设置的Step Up值否则会造成提前记DTC或者记不上DTC的问题。
3.3 LIN主节点电路故障诊断
对于LIN的通信故障由主要节点进行检测并上报,从节点不进行检测。
主要包含三类错误: 报文发送错误故障、报文接收错误故障、报文丢失错误故障
下图为EB配置错误回调函数,通过此接口可以得到发送或者接收的错误标志,然后以一个高于LIN报文周期的周期进行上报即可
4 错误的处理及上报
4.1 错误的处理方式
对于错误的处理个人认为最重要的两点:
1)、保护控制器电路
如出现短路故障,应该切断输出,至于何时尝试恢复(最好与OEM协商),可以在ECU进行休眠唤醒后。
2)、尽量保障功能的正常运行
如出现电路接触不良出现开路,不应该不加分辨直接切断输出,如灯负载可不切断输出,最大程度保障输出可能恢复,如车窗设置了OFF模式下的开路检测,对此可直接切换至不输出状态
4.2 故障的上报策略
对于AutoSar架构,底层配置的SetEvent运行时间较长,因此个人建议不要频繁调用此接口函数,可采取措施减少调用。
1)、设置检测条件
在检测条件不满足的情况下,直接不调用此上报函数接口
2)、判断计数范围
判断SWC中该故障状态与现在计数范围,如检测结果为fail但计数为127(在最大值),此时可不调用上报接口函数,与此类似,检测结果为pass但计数为-128(在最小值),此时可不调用上报接口函数