UDS学习笔记(五)——ISO14229

在学习完ISO15765后,我们就可以正式的学习UDS了,也就是ISO14229。我们前面知道了,所有的ISO14229中的服务啊,请求啊,都是在ISO15765基础上进行的。例如10功能代码表示的就是切换对话模式的功能。接收端接收到消息之后,还要进行相应的答复。因此我们本节就分为诊断请求以及诊断响应两个部分进行学习。

目录

 

诊断请求

诊断响应


诊断请求

那我们按套路,首先就上一张图吧。

这么多的诊断服务,其实主要还是分为两大类。:一类是拥有sub-function的,另一类是没有sub-function的。

service ID就是上图的ID值,不同的ID表示不同的功能。

sub-function表示的是该服务的子服务,例如对于10 02来说,10表示的是DiagnosticSessionControl即切换ECU的诊断模式,02表示的是切换到程序下载模式。严格来说,sub-function只有七位,其最高位用来表示ECU是否要响应该消息。当置1时,ECU就不会进行回复。

parameter则没有严格的限制,只是表示服务的一些参数。

带sub-function的服务

 不带sub-function的服务就更好理解了。

不带sub-function的服务

诊断响应

响应来说,主要分为两种响应,第一种是ECU正确的执行了该诊断服务,被称为positive response。它的响应格式就是诊断请求的Service ID + 0X40。

positive response

而当ECU无法执行该诊断服务时,就会响应一条negative response表示ECU没有执行该诊断服务,对于negative response来说,其固定成三个字节。第一个字节为0x7F,第二个字节是被拒绝掉的SID,第三个字节是这个诊断服务无法被执行的原因(下图)。

negative response
无法执行的原因

参考文献

参考的知乎专栏

https://blog.csdn.net/u012252959/article/details/83063899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值