介绍下Dem系统中的DTC。
Dem模块的最小单元是Diagnostic event,但是客户通过UDS(Unified Diagnostic Services)是按照DTC来理解故障的。
DTC的定义
DTC“诊断故障代码”定义一个惟一标识符(显示给诊断测试人员),该标识符映射到Dem模块的“诊断事件”。Dem向Dcm模块提供“诊断故障代码”状态。DTC有两种类型:UDS-DTC和OBD-DTC,两者的区别是通过DemObdDTC配置实现的,当DemObdDTC置true时,对应DTC和所有相关事件都是OBD相关。
DTC的格式
Dem模块支持满足以下格式的DemDTC:
ISO-14229-1
SAE J2012 OBD DTC (aka 2-byte DTC)
SAE J1939-73
ISO 11992-4
SAE J2012 WWH-OBD DTC (aka 3-byte DTC)
用DemTypeOfDTCSupported来指明ECU中DTC的格式,用于报告ISO- 14229服务中 Read DTC Information (0x19)。
Dem使用U32位的变量来报DTC的值,对于OBD-DTC和UDS-DTC稍有差异,如下图:
当DemOBDSupport设置成DEM_OBD_MASTER_ECU或DEM_OBD_PRIMARY_ECU时,会出现DemDtcValue。
DemDTC介绍
DemDTC容器包含了所有DemUdsDTC的配置参数,具体如下:
DemObdDTC介绍
DemObdDTC容器包含所有DemObdDTC的配置参数,具体如下:
DTC组介绍
除了单个DTC值外,还可以配置一组DTCs,由ISO 14229-1附录D.1所定义。每个DTC组都拥有指定的DTC组值(必须是任何其他DTC和DTC组的唯一值)。当请求对DTC组执行操作时(如清除或使能DTC), DTC组由DTC值选择。DemGroupOfDTC代表了DTC组的边界值。
本文首发于微信公众号“汽车控制与人工智能”,欢迎关注。