UDS的DTC和J1939的SPN和FIM的区别

标准故障码字符所属系统
00 P Powertrain 动力系统故障
01 C Chassis 底盘故障
10 B Body 车身故障
11 U Network 网络故障

DTC故障码表示是通过UDS请求,获取到的故障,服务是19,
和参数读取其实类似的过程。这个时候替换掉U=11
即可以得出136330365=U10 06 0B(十进制和十六进制的关系)
在这里插入图片描述

J1939的SPN以及FMI码,是通过DM1发送的,DM1报文有两种报文,一种是单帧报文,一种是多帧报文;
DM1故障报文的ID是:18FECA10
1,单帧发送故障的直接通过18FECA10 这个报文发送故障数据就可以了。
2,关于DM1的多帧报文的发送比较有讲究,和普通的多帧报文发送不太一样。
DM1的多帧报文发送必须依托于一个属性报文,
18EBFF10//属性报文
这个故障属性报文,后边跟的数据包含的内容有:包的大小、数据长度、PGN(对于故障这个PGN就是FECA了,和DM1的故障相同),
18ECFF10//故障报文
后边跟的就是正真的故障数据了;多帧的话有多少个多帧,那么就需要发送多少个这样的报文。
UDS的DTC和J1939的SPN和FIM的区别_第1张图片
题外话:这个18EBFF10//属性报文也可以包含其他的多帧类型的PGN,比如RC报文,用来发送缓速器最大扭矩,标定的最大扭矩等属性的,RC报文用于EBS控制过程中提供数据。
有时候会碰到DTC的故障和J1939的SPN和fmi放到一起,对应起来,但是其实两者之间没有逻辑关系,只是他们的故障描述差不多,所以罗列到一起了。
UDS的DTC和J1939的SPN和FIM的区别_第2张图片
诊断仪器代码就是DTC,UDS的
SPN码和FMI码是J1939的,
DTC一般用于做诊断仪器,J1939的故障用于仪表显示。

你可能感兴趣的:(Autosar)