热度 7
2023-2-15 10:43
1592 次阅读|
0 个评论
概述 DTC(Diagnostic Trouble Code)对于从事车载诊断的人来说一定不陌生,我们正是通过DTC信息来了解汽车上每一个ECU是否发生了故障。而对于汽车电子测试人员,由于不同DTC产生条件的特殊性,有必要借助一定的工具来模拟DTC产生的条件,从而检测DTC的记录、解除等功能是否正常。下面我们将会简单介绍DTC的检测机制,并提供一种基于VT系统的验证方法。 根据UDS 14229-1的规定,DTC不但可以显示ECU故障,还使用一个字节来表示这个故障当前处于什么样的状态。如果我们想深入地了解每一种状态,首先就要明白DTC的检测机制。 D TC 检测机制 如下图所示为UDS 14229-1中对DTC检测机制的描述。在这里我们会提到如下几个概念:Operation Cycle,Monitoring Cycle,Test。 Operation Cycle 是一次运作周期,代表这一段时间内一直在进行对于该DTC的监测,由一个或多个Monitoring cycle组成 Monitoring Cycle 则表示对于该DTC产生条件的一次完整监测,由一个或者多个Test组成 Test 则是检测的最小单元,每个Test代表着满足DTC产生的一个条件 为了更容易进行理解,我们以电压异常的DTC为例。 假设某ECU有电压异常DTC,每10秒检测一次ECU供电电压,每次检测分为两个部分,分别为检测电压是否过高和检测电压是否过低。那么根据上图我们可以知道,检测电压是否过高和过低分别对应两个Test,而每10秒钟进行的一次检测就对应着Monitoring Cycle,而Operation Cycle则一般为一个点火周期或者总线从唤醒到再次休眠的过程。 DTC状态位 了解DTC检测机制是了解DTC状态位的基础,因为DTC的状态位就是在监测机制的基础上进行定义的。由于篇幅所限,在这里我们只用大家比较熟悉的一位来举例说明DTC状态位: 当前DTC 。 当前DTC在状态位中的名称是TestFailed,也就是在上一次的测试中出现了错误。这里的测试特指前文中的Test,只要在一次Monitoring Cycle中出现了失败的Test,那么在下一个Monitoring Cycle中,这一位就会被置位,表示这个DTC出现了,而 如果前一个循环中没有出现失败的Test,那么这一位又会被清除。因此当这一位被置位时,便表示在上一次完整的检测中出现了故障,也就是我们理解的当前DTC了。 基于VT系统的ECU故障诊断测试解决方案 通过上文的介绍,我们不难看出,对于一名测试人员来说,测试DTC最关键的无外乎以下几点: ECU工作环境的仿真 、 故障注入 以及 相关物理量的精确控制 。 首先,不同DTC产生的条件不尽相同,而且可能涉及到电压、电阻和电流等多种物理量以及各种传感器信号;与此同时,DTC发生以及清除时,常需要对有关参数进行较为精确的监测,这也对测试提出了更高的要求。而北汇信息基于VT系列设备所搭建的测试系统,很好的满足了这两方面的测试要求。 VT系统是由德国Vector公司开发的测试设备,可以为ECU的 Hi L测试提供一个接近于真实的环境。通过不同型号的板卡,VT系统可以为ECU提供相应的工作环境,例如提供可以变化的电源电压,模拟传感器的输入信号,模拟负载等等,这基本上可以模拟产生DTC的大部分外部条件。 值得一提的是,对于一些较为复杂的传感器信号(例如碰撞信号等),VT系统还在板卡中预先做好定义,减少了测试系统开发人员的工作量,也提高了测试效果。 借助Vector公司的CANoe软件,我们可以实现对VT板卡的控制,提供十分精确的时间控制与I/O参数模拟,最大程度的发挥板卡的优势,提高测试质量与测试效率。CANoe为使用者提供了一种基于C语言的编程工具CAPL,并提供了丰富的库函数供测试者使用,很大程度上降低了编程的难度,同时提高了程序质量。 空调控制器的 DTC检测案例 现以某空调控制器的DTC检测为例来简单介绍该系统的实际应用,以一个出风模式电机堵转的DTC为例。 根据相关定义,我们得知其监测方式为周期监测,且记录条件为ECU连续8次在0.5秒内检测到电压变化的回馈值小于0.04V。这是一个较为典型的测试实现过程,它既包含了对于电压量的精确模拟与监测,同时又包含了对时间量的精确监测。 我们可以使用电源板卡VT7001来为ECU供电,精确控制供电电压值并确认其满足DTC的相关使能条件;使用VT2816板卡来模拟控制器需要的输入值,产生回馈电 压,模拟出风模式电机的运转(仿真其位置信号)。而DTC描述中的时间控制则可以通过CANoe提供的编程功能来实现。 我们按照DTC描述的监测逻辑编写测试脚本,并在CANoe中运行来控制相关板卡,使其电压回馈值在0.5秒内的变化小于0.04V,并持续一定时间,再通过CANoe来读取控制器是否产生了对应的DTC,从而实现测试目的。 我们按照DTC描述的监测逻辑编写测试脚本,并在CANoe中运行来控制相关板卡,使其电压回馈值在0.5秒内的变化小于0.04V,并持续一定时间,再通过CANoe来读取控制器是否产生了对应的DTC,从而实现测试目的。 不同的DTC其产生条件不尽相同,需要的模拟条件与测试方法也有所差异。在模拟的精度相当的情况下,测试程序的逻辑与实现方式则很大程度上影响了测试结果的优劣,而这无不需要一定测试经验的积累。北汇科技专注于汽车电子测试,拥有近十年的从业经验及丰富的行业知识,我们将为您提供更高效,更优质的测试解决方案和服务。