UDS(五)应用层10/3E

1.DiagnosticSessionControl (0x10)service

  DiagnosticSessionControl服务在服务器中用于切换至不同的诊断会话,对应的SID为0x10。不同诊断会话下对其SID服务权限如下图所示:

在这里插入图片描述
在这里插入图片描述

1.1请求格式:SID + sub function

  请求格式固定两个字节,第一个字节SID:0x10,第二个字节低7bit为sub function,决定ECU服务器切换至指定Diagnostic Session。

所有的 Diagnostic Session如下:

	0x00 :ISOSAEReserved(保留)
	0x01 : defaultSession(默认会话)
	0x02 :ProgrammingSession(编程会话)
	0x03 :extendedDiagnosticSession(扩展会话)
	0x04 :safetySystemDiagnosticSession
	0x050x3F : ISOSAEReserved(保留)
	0x400x5F :vehicleManufacturerSpecific(由整车厂自定义使用)
	0x600x7E :systemSupplierSpecific(由ECU供应商自定义使用)
	0x7F :ISOSAEReserved(保留)

  注意:不同的Diagnostic Session相应的权限不用。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。常用的Diagnostic Session:01 Default默认会话,02 Programming编程会话,03 Extended扩展会话,ECU上电时,进入的是默认会话(Default)。

  如果您进入了一个非默认会话的状态,一个定时器会运转,如果一段时间内没有请求,那么到时间后,诊断退回到默认会话01(最低权限)。当然,我们有一个3E的服务,可以使诊断保持在非默认的状态。

1.2响应格式:response SID + sub function + parameter

积极响应如下图所示:
在这里插入图片描述
这个诊断服务的response分为三部分,第一部分是0x50,作为SID的正响应;第二部分是进入的session,作为sub-function的响应;第三部分是4个字节,前两个字节代表P2Server_max(对于服务器接收到请求消息后发出响应消息时间的性能要求),后两个字节代表P2*Server_max(当服务器在发送否定响应码为0x78 的否定响应后,到服务器发出响应消息最长时间的性能要求)。

消极响应返回的response negative code(RNC)如下图所示:
在这里插入图片描述

1.3举例:
在这里插入图片描述

2.TesterPresent (0x3E) service

  3E服务是告知ECU服务器与诊断仪tester正连接着,用于保持ECU当前Diagnostic Session(诊断仪一般在ECU处于非default session模式下发送至ECU)。如果ECU超过一定的时间没有发送或接收诊断命令,ECU会退出非default session模式,使用3E服务可保持当前Diagnostic Session。

2.1 请求格式:SID + sub function

在这里插入图片描述
  sub function 只有两个参数:一个是0x00(需要ECU response),一个是0x80(不需要ECU response);

  一般来说主机厂会为这个服务定义两个时间参数,一个参数用于规定自己的诊断仪发送0x3E服务的间隔,另一个参数用于定义ECU收不到0x3E服务的timeout时间

2.2 响应格式:response SID + sub function

  只有当sub function 为 0x00 时,ECU才会响应诊断仪。响应格式如下图所示:
在这里插入图片描述

2.3举例
在这里插入图片描述
UDS协议栈系列文章:

UDS(一)入门概述

UDS(二)网络层

UDS(三)网络层时间参数

UDS(四)应用层

UDS(五)应用层10/3E

UDS(六)应用层11/27

UDS(七)应用层28/85

UDS(八)应用层22/2E

UDS(九)应用层14/19

UDS(十)应用层34/36/37

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值