DTC
-
一般由
3
个字节组成:- 字节
1
:High Byte
bit 7-6
: 对应DTC
属于哪一个系统,P: 00
动力系统、C: 01
底盘、B: 10
车身和U: 11
通信系统bit 5-4
: 用来区分DTC
是标准组织所定义还是制造商自定义00
:ISO/SAE
01
: 制造商10
:ISO/SAE
11
:ISO/SAE
bit 3-0
: 对应车辆系统的区域
- 字节
2
:Middle Byte
character of code
- 字节
3
:Low Byte
-
bit 7-4
:DTC Failure Category
-
bit 3-0
:DTC Failure Subtype
-
- 字节
-
DTC Status
-
默认值为
0x50
-
bit 0
:testFiled
- 当最近执行
test
的结果,test
失败置1
,但是不能作为最终结果,还要根据后续的结果来判定。
- 当最近执行
-
bit 1
:testFailedThisOperationCycle
- 在本次的
Operation Cycle
中,test
结果失败了,那么bit 1
置1
。那么这个1
在没有执行14
服务的情况下,将一直保存到下一次Operation Cycle
开始。
- 在本次的
-
bit 2
:pendingDTC
- 当
DTC
刚达到判定条件的时候,bit 2
被置1
。bit 0
触发置1
,bit 2
也会被置1
。 - 和
bit 1
的区别:bit 1
是在下一个operation cycle
开始的时候置0
bit 2
是在下一个operation cycle
结束的时候,并且至少完整地执行了一次test
,且没有出现失败才会置0
- 当
-
bit 3
:confirmedDTC
- 当
bit 3
置1
时,说明故障已经发生了一段时间。DTC
被存储在EEPROM
中,但并不代表现在故障还存在(可能bit 0
置0
了已经),所以可以理解为历史故障。 - 置
1
:test
结果失败,同时tripcounter
等于confirmation threshold
- 置
0
:Clear
或者 老化计计数器满足阈值条件 - 假设
confirmation threshold
为1
,那么bit 0
置1
时,bit 3
也会马上置1
tripcounter
是每个operation cycle
改变一次,如果本次operation cycle
出现了一次Fail
,那tripcounter
就加1
- 当
-
bit 4
:testNotCompletedSinceLastClear
(默认是1
)- 表示上次清除
DTC
后,是否进行过完整的test
。有过完整的置0
- 表示上次清除
-
bit 5
:testFailedSinceLastClear
- 表示在上次清除
DTC
后,如果test
运行完成并且结果失败,就置1
。
- 表示在上次清除
-
bit 6
:testNotCompletedThisOperationCycle
(默认是1
)- 表示在本次
Operation cycle
中,是否进行过完整的test
。有过完整的置0
- 表示在本次
-
bit 7
:warningIndicatorRequested
- 请求警告指示,比如仪表盘上的警示灯等。但不是所有的
DTC
都会有警告指示,如果没有和DTC
相关的警告存在,该位应置0
;如果该DTC
有相关警告指示,bit 3
置1
的时候,bit 7
也要置1
- 请求警告指示,比如仪表盘上的警示灯等。但不是所有的
-
DTC Aging counter
confirmedDTC
已经置1
- 当前
operation cycle
中至少完成一次test
,结果是Passed
,并且没有出现Fail
。那么在下一个operation cycle
开始的时候,aging counter
会加1
- 当
aging counter
累加到设定值时,confirmedDTC
置0
,DTC
信息被清除掉