诊断开发必会 UDS 19服务

简单介绍下,19服务的作用,主要读取ECU上的故障状态信息,例如出现系统故障或者Bus-off故障,当故障发生的时候可以保留当前里程、电压、时间、速度等数据,用于定位分析问题。本文列举在工作中常用的19子服务,源于《ISO14229》。
为方便理解,假设ECU上只监控了两个DTC

动力系统故障 欠压:0x000001
动力系统故障 过压:0x000002

DTC状态掩码说明

19 + 子服务 + MASK:Mask一个字节表示DTC Status ,通过对bit置位,查询DTC状态。

19 01

作用:用于查看发生故障的数量。
这样说可能不太好理解,举例说明下:
测试仪 190101 :后面的MASK表示要过滤掉想要DTC状态,01想要查看当前的故障。
ECU 正向应 5901xx010001:
xx表示ECU支持哪些DTC状态掩码,这个在CDD以及Autosar工具链进行配置,可以是09、2F、7F。
01表示DTC协议格式。 0001表示只有1个当前故障,如果想知道具体是哪个故障,就需要用到1902服务了

19 02

190201:查询发生当前故障有哪些DTC。
5902xx0000010B:DTC 0x000001状态是0x0B bit0被置位,表示当前ECU欠压状态。

19 0A

190A:查询所有DTC状态。 590Axx0000010B0000020A:0x000001 DTC处于当前故障,0x000002 DTC表示出现历史故障,之前出现故障又恢复了。

19 04

用查询DTC的快照数据,快照数据可以是里程、时间和速度等,快照数据一般是两组及以上,什么意思呢,比如在时间点1发生故障,记录快照数据1,当发生第二次故障时候记录快照数据2,当发生第三次故障时候,假如只有存储两组快照数据,那么第二组快照数据会被覆盖,保留最近一次快照数据。 190400000101:查询DTC 0x000001 快照记录号1数据。 59040000010B0102F001250421F0020064:01表示快照记录号,02表示两个两个DID数据,0xF001 时间20250421,0xF002 速度100km/h。 如果想看全组的快照数据:
1904000001FF 59040000010B0102F001250421F00200640202F001250421F0020065

19 06

1906用与查看DTC相关计数器,比如老化计数器和故障发生次数等。 假设一个需求,扩展记录号0x01:记录已经老化计数器次数,扩展记录号0x02:故障发生次数。 190600000102:查询DTC0x000001 故障发生次数。 59060000010205:发生了5次故障。
190600000201:查询DTC0x000002 已经老化计数器次数。 1906000002FF:查询DTC0x000002所有计数器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小昭debug嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值