ISO 14229-1 0X19 DTC

开发工作还是离不开UDS 诊断协议,还是需要好好理解几个重要的服务,毕竟在工作中的使用频率还是很高的

0x19: readDTC information

SID: 19
用来读取故障码的信息;
DTC ID =DTC mask Record一般为3 byte; DTC highbyte,DTC middle byte,DTC low byte
DTC 的状态掩码:1byte,

bitdescription
0testfailed:执行的结果; 0 表示没有failledm , 1 表示检测故障的条件成立
1testfailedinthisoperationcycle:表示在当前周期内的检测结果; 或者是在当前周期调用clear 尚未发现fail. 同样0 表示当前操作循环尚未fail,1 表示当前操作循环至少fail一次
2pendingDTC:在当前或者最后完成的循环内检测到了failed; 和bit 1 的条件一样; 只是 在cycle 结束后才会清0, 而bit1 则在周期开始就会清0;
3confirmedDTC:表示故障存在很长的时间,需要警示或者存储在NVM中
4testnotcompletesincelastclear:表示这个上次调用clear以来是否完成了一个DTC 的检测
5testfailedinsincelastclear:表示是否在上次调用clear后,检测的结果为fail
6testnotcompletedthisoperationcycle:指测试是否在当前操作周期内完成 或者在上次调用clear 后的周期内完成
7warningindicationrequested:指是否有对应的故障指示灯或者文字信息

状态位表示了DTC 的实际状态; 可以理解在判断条件满足的情况下,如果检测到故障的条件成立,则会置位对应的状态为; 在满足失效计数后,实际的故障就会保存在NVM中, 并通过19 服务读取出来。

从ISO 14229 附录D 的图 D.9 来理解 一个operation cycle可以执行多次的test, 之言检测到到test的结果,对应的状态救应置位; 也就是说 一个oepration cylce>=test cycle.

19 服务下又包含不同的subfunction.

subfunctiondescription
01returnNumberofDTCbystatusmask: 通过状态掩码返回匹配的DTC的个数
02reportDTCbystatusmask:通过定义的掩码查找匹配的故障
03reportDTCsnapshotidentification:返回冻结帧ID
04reportDTCsnapshotrecordbyDTCnumber::请求冻结帧信息
06reprotDTCextRecordDTCNumber:读取扩展信息
0AreprotsupportDTC:支持的DTC 状态信息

对于06服务 extenddata 是一个 1 byte 的数,代表了定义的功能; 比如 0x10 是读取 fault detection counter… 这些是在开发过程中定义的.
后面在单独说下关于DTC 一些limits 的limits, 包括对于Autosar 中的DEM FIM…

和其他服务一样 ,0x19 服务的正响应是SID+0x40; 负响应是7F。

如上是在开发过程需要的相对基础的一些知识,实际开发过程会对实际的参数都会有定义,这个只能根据不同的项目去解读,但是基本上是大通的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值