【车载开发系列】UDS诊断—诊断会话控制($0x10)
UDS诊断---诊断会话控制($0x10)
一.概念定义
SID$0x10就是诊断会话控制服务DiagnosticSessionControl的意思。它包含3个子功能。ECU上电时,进入的是默认会话模式(Default),如果没有收到诊断会话请求,ECU需自动进入第一个默认会话模式(01h),在同一个时刻,只能有一个诊断会话模式被激活,所以这里的会话模式更像是一个容器,其他所有的服务都将在这个“容器”当中执行。诊断工具通过此服务使ECU进入不同的诊断会话模式。
二.三种会话模式
在诊断会话控制服务中包含默认会话,编程会话和Extended扩展会话3个子功能。
为什么设计三个会话模式呢?因为权限问题。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。
| 子功能 | 会话模式 |
|---|---|
| 01 | 默认会话模式 |
| 02 | 编程会话模式 |
| 03 | 扩展会话模式 |
1)默认会话
子服务代码是01。顾名思义,就是ECU在刚启动时保持的状态,当ECU复位的时候也是会返回默认会话,不需要超时处理。
2)编程会话
子服务代码是02。刷写程序时用的,超时或者刷写失败时会跳转回默认会话,即ECU从底层软件跳转

UDS诊断中的$0x10服务涉及默认、编程和扩展三种会话模式。默认模式权限最低,编程模式用于程序刷写,扩展模式用于高级诊断功能。会话模式切换有特定规则,且不能直接在默认和编程模式间转换。报文格式包括请求、肯定响应和否定响应,定义了会话类型和交互细节。
&spm=1001.2101.3001.5002&articleId=128006975&d=1&t=3&u=bb05a143cc5d47c8ab533559f16d79fe)
233

被折叠的 条评论
为什么被折叠?



