[UDS] --- DiagnosticSessionControl 0x10 service

简介: [UDS] --- DiagnosticSessionControl 0x10 service

1 会话

$10包含3个子功能,01 Default默认会话,02 Programming编程会话,03 Extended扩展会话,ECU上电时,进入的是默认会话(Default)。

为什么设计三个会话模式呢?因为权限问题。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。这里来一张权限表格。带颜色的区域代表需要解锁操作。

1.1 会话权限

默认会话[10 01] : #0x22 #0x11 #0x19 #0x14 #3E

编程会话[10 02] : #0x34 #0x36 #0x37

拓展会话[10 03] : #0x27 #0x85 #0x2E #0x31

1.2 会话跳转

1.3 非默认会话回到默认会话

  • 请求10 01
  • #11 复位
  • #3E 超时
  • 上下电,休眠唤醒

1.4 会话保持

ECU一上电就会进入默认会话,通过10 SF进入非默认会话,但是非默认会话模式是需要3E持续发送来保持的

体现在下图就是Timeout S3 time.

结合下面的截图来讲讲s3 time具体是什么机制

Tester会在S3 client时间内周期性发送3E给ECU【如3E00, 3E08】,ECU收到这个请求之后,会让ECU维持在非默认会话;

如果Tester在S3server时间内都没有给ECU发送诊断请求报文,那么ECU就会从非默认会话跳转到默认会话,此时如果ECU 处于解锁状态,也会从解锁状态跳转到锁定状态。

2 格式

2.1 request格式

SID + SF

2.2 response格式

positive response: 0x40 + 0x10 + SF + Data

negative response: 0x7F + 0x10 + NRC

10服务支持的NRC代码如下:

相关文章
|
6月前
|
传感器 机器人
[ROS2] --- service
[ROS2] --- service
138 0
|
Kubernetes 负载均衡 算法
【K8S系列】深入解析Service
【K8S系列】深入解析Service
135 0
【K8S系列】深入解析Service
|
6月前
|
XML 数据库 Android开发
Service介绍
Service介绍
54 0
|
6月前
|
安全
[UDS] --- SecurityAccess 0x27 service
[UDS] --- SecurityAccess 0x27 service
193 0
|
11月前
|
Kubernetes 网络协议 Cloud Native
Service 基础
Service 基础
|
存储 Kubernetes 应用服务中间件
k8s--Service 环境准备、ClusterIP 使用
k8s--Service 环境准备、ClusterIP 使用
|
API 开发工具 Android开发
Service基础
Service基础
88 0
Service基础
openstack报错——MainPID=0 Id=neutron-server.service ActiveState=failed
openstack报错——MainPID=0 Id=neutron-server.service ActiveState=failed
374 0
openstack报错——MainPID=0 Id=neutron-server.service ActiveState=failed
|
Oracle 关系型数据库
service管理
service管理
154 0
|
Android开发 开发者
Service通信详解
Service通信详解
148 0