UDS诊断服务之六—28服务

目录

1 28服务的总体介绍

1.1 定义

1.2 28服务使用的场景

2 28服务的请求

2.1 28服务的请求格式

2.2 28服务请求参数说明

3 28服务的响应

3.1 28服务的肯定响应

3.2 28服务支持的否定响应码

4 举例说明

4.1 肯定响应举例

4.2 否定响应举例


大家好,时隔快一年没有更新了,今天开启会持续更新这个专栏,感谢大家的支持

1 28服务的总体介绍

1.1 定义

     28服务就是关闭通信和开启通信服务,根据不同的子功能,确定是禁止发送还是禁止接受,是开启发送还是开启接受。

1.2 28服务使用的场景

     场景1:在使用诊断仪升级和OTA升级程序的过程中,都会使用到28服务,作用是关闭控制器的通讯,确保在刷写的过程中没有其它的APP报文和NM报文的干扰,刷写完成后会再次使用28服务开启控制器的通信。

     场景2:在整车故障问题查询时,也会使用到28服务来进行排查问题,例如整车某个网段总线报文有错误帧,可以通过物理寻址的方式,依次关闭控制器的通讯,当关闭某个控制器的通讯,错误帧消失的时候,基本可以定位是该控制器导致的总线网络异常,但是,这种方法在实际的工程应用中并不是一定有效,曾经遇到过即使关闭了总线通讯,错误帧依然存在的情况,具体原因可能和收发器的硬件或者相关软件设置有关,非专业涉及领域,这里不作详细解析。

2 28服务的请求

2.1 28服务的请求格式

  28服务主要关闭前三个字节,第一个是服务ID,第二个是支持的子功能类型,第三个是通信类型,具体的会在文章的下方详细讲解

字节参数名称参数约定数值(Hex)
Byte1 Request SID
请求ID
M28
Byte2SubFunctionM00 to FF
Byte3CommunicationTypeM00 to FF

            

2.2 28服务请求参数说明

SubFunction:此参数是28服务支持的子功能,28服务在日常测试工作中使用比较多的子功能是00(开启接收和发送)和03(禁止接受和发送)。

00使能接收和发送
01使用接收但是禁止发送
02禁止接收但是使能发送
03禁止接收和发送

CommunicationType:此参数是28服务具体禁止或者开启的报文类型,主要是分为应用报文和网络管理报文,实际过程应用中比较多的是03(APP报文和NM报文),具体如下:

00ISO预留
01正常通信报文,主要指APP报文
02网络管理报文
03正常通信报文和网络管理报文

3 28服务的响应

3.1 28服务的肯定响应

      28服务的肯定响应格式很固定也很简单,有效字节就是响应SID和相应的子功能,如下表所示:

字节参数名称参数约定数值(Hex)
Byte1 Positive Response SID
肯定响应回复ID
M68
Byte2SubFunctionM00 to FF

3.2 28服务支持的否定响应码

     28服务支持的否定响应码总共是四个,如下所示:

NCR描述
12 该子功能不支持
13 诊断仪发送的诊断报文长度不符合要求
22不满足执行该诊断服务的条件
31诊断请求中参数超出定义的范围,或者访问的DID和RID是服务器不支持或者在当前会话中不支持的

4 举例说明

4.1 肯定响应举例

      诊断仪(Request):03 28 03 03 00 00 00 00

       ECU肯定响应(Response):02 68 03 00 00 00 00 00

      跟该专栏中之前介绍的一样:

       Request中03代表有效字节数,28表示请求服务ID,03表示子功能是禁止发送和接收,下一个03表示同时禁止APP报文和NM报文。

      Response中02代表有效字节数,68表示响应服务ID,03表示子功能类型,后面全部是填充位。

4.2 否定响应举例

      诊断仪(Request):03 28 00 03 00 00 00 00

      ECU肯定响应(Response):03 7F 28 22 00 00 00 00 

      Request中03代表有效字节数,28表示请求服务ID,00表示子功能是开启发送和接收,下一个03表示同时开启APP报文和NM报文。。

      Response中03代表有效字节数,7F表示否定响应ID,28表示请求服务类型,22是否定响应码,其余是填充位。

      以上就是本次28服务的讲解,如在学习过程中有任何疑问,欢迎留言沟通,一起努力,一起进步,下一章节我们讲解一直没来得及讲解的31服务,敬请期待~

如果喜欢,欢迎点赞收藏

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值