8 诊断服务
8.1 总览
此章节定义了本规范中可使用的诊断服务及其执行规则。
下表列出了h事业部定义的所有UDS诊断服务。ECU最终实现与下述定义不符之处必须得到h事业部 的认可。服务实现内容需在零部件诊断规范中详细说明。
表 9 诊断服务支持列表
诊断服务列表 |
APP |
Bootloader |
安全访 问 |
寻址限制 |
约 束 |
|||||
SID (HEX) |
服务名称 |
默认 |
扩展 |
默认 |
编程 |
扩展 |
物理 寻址 |
功能 寻址 |
||
10 |
诊断会话控制 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
M |
|
11 |
电控单元复位 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
M |
|
14 |
清除诊断信息 |
√ |
√ |
√ |
√ |
M |
||||
19 |
读取诊断故障代 码信息 |
√ |
√ |
√ |
√ |
M |
||||
22 |
根据标识符读取 数据 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
M |
|
23 |
读取内存 |
√ |
√ |
√ |
U |
|||||
27 |
安全访问 |
√ |
√ |
√ |
√ |
M |
||||
28 |
通讯控制 |
√ |
√ |
√ |
M |
|||||
2A |
读取数据(周期标 识符) |
√ |
√ |
U |
||||||
2C |
动态定义数据标 识符 |
√ |
√ |
U |
||||||
2E |
根据标识符写入 数据 |
√ |
√ |
√ 1 √FBL |
√ |
M |
||||
2F |
根据标识符输入 输出控制 |
√ |
√ 1 |
√ |
U |
|||||
31 |
例程控制 |
√ |
√ |
√ 1 √FBL |
√ |
U |
||||
34 |
请求下载 |
√ |
√FBL |
√ |
U |
|||||
36 |
传输数据 |
√ |
√FBL |
√ |
U |
|||||
37 |
请求退出传输 |
√ |
√FBL |
√ |
U |
|||||
38 |
请求文件传输 |
√ |
√FBL |
√ |
U |
|||||
3D |
写入内存 |
√ |
√ 1 |
√ |
U |
|||||
3E |
测试工具保持连 接 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
M |
|
85 |
控制诊断故障代 码设置 |
√ |
√ |
√ |
M |
|||||
1) √ 1:需要通过安全访问等级1,扩展安全级 2) √FBL:需要通过安全访问等级FBL,刷新安全级 |
下表列出了需要支持“禁止肯定响应位”的诊断服务。其他服务是否支持取决于ECU供应商的具体需 求,但需得到h事业部诊断工程师的认可。
表 L 禁止肯定响应位支持列表
诊断服务列表 |
禁止肯定响应 |
|
SID (HEX) |
服务名称 |
|
10 |
诊断会话控制 |
Y |
11 |
电控单元复位 |
Y |
14 |
清除诊断信息 |
Y |
19 |
读取诊断故障代码信息 |
Y |
22 |
根据标识符读取数据 |
N |
23 |
读取内存 |
N |
27 |
安全访问 |
N |
28 |
通讯控制 |
Y |
2A |
读取数据(周期标识符) |
N |
2C |
动态定义数据标识符 |
N |
2E |
根据标识符写入数据 |
N |
2F |
根据标识符输入输出控制 |
N |
31 |
例程控制 |
N |
34 |
请求下载 |
N |
36 |
传输数据 |
N |
37 |
请求退出传输 |
N |
38 |
请求文件传输 |
N |
3D |
写入内存 |
N |
3E |
测试工具保持连接 |
Y |
85 |
控制诊断故障代码设置 |
Y |
8.2 诊断会话说明
8.2.1 默认会话
此诊断会话模式使能ECU的默认诊断会话,该会话模式不需要任何诊断应用程序的超时处理(例如: 无需3E服务保持此会话模式激活)。
如果任何其它非默认模式的会话模式被激活, 而默认模式再一次被启动,则须遵守以下执行规则:
a)当ECU发送默认会话模式肯定响应报文后, ECU应终止当前诊断会话模式并进入默认诊断会 话模式;
b)当ECU发送默认会话模式肯定响应报文后,如果在之前的诊断会话模式下解锁了ECU,则ECU 将被重新锁定;
c)当ECU发送默认会话模式肯定响应报文后,将复位之前诊断模会话模式下激活的状态和控制 服务。例如:28服务、85服务、 2F服务;
d)如果ECU发送该服务否定响应报文,激活的会话模式保持不变;
e)在ECU完成初始化后,诊断会话模式为默认会话模式。
8.2.2 编程会话
此诊断会话模式允许支持ECU内存编程所有需要的诊断服务。
在此会话模式下, ECU只能通过诊断工具发起的电控单元复位(11服务)、会话类型为默认会话的 诊断会话控制(10服务) 或ECU会话(S3_server) 超时退出此会话。
8.2.3 扩展会话
此诊断会话模式可用来支持对ECU变量进行调整所需的所有诊断服务,也可用来使能一些服务。
8.2.4 下线检测会话
此诊断会话模式可用来支持下线检测操作所需的所有诊断服务,也可用来使能一些服务。
8.3 诊断会话控制 DiagnosticSessionControl (10h)
诊断会话控制服务用于在ECU所支持的诊断会话中转换会话模式。一个诊断会话使能ECU的一个特 定诊断服务集以及相关诊断功能。某些诊断服务在特定的会话下会限制使用。
8.3.1 报文格式
表 11 诊断会话控制服务的请求报文
Byte |
Name |
Cvt |
Value (Hex) |
#1 |
Request Service Identifier |
M |
10 |
#2 |
Sub-Function=[sessionType] |
M |
00--FF |
表 12 诊断会话控制服务的肯定响应
Byte |
Name |
Cvt |
Value (Hex) |
#1 |
Positive Response Service ID |
M |
50 |
#2 |
Session Type |
M |
00--FF |
#3 : #6 |
Session Parameter Record[]=[ P2_server_max (Highbyte) P2_server_max (Lowbyte) P2*_server_max (Highbyte) P2*_server_max (Lowbyte) ] |
M |
00--FF |
表 13 会话参数记录定义
Parameter |
No.ofBytes |
Resolution (ms/bit) |
MinValue (ms) |
MaxValue (ms) |
P2_server |
2 |
1 |
0 |
65535 |
P2*_server |
2 |
10 |
0 |
655350 |
8.3.2 支持的否定响应码
表 14 诊断会话控制服务的否定响应码
Hex |
Cvt |
ErrorText |
12 |
M |
子功能不支持 如果子功能参数不支持,发送此否定响应码。 |
13 |
M |
报文长度错误 如果报文长度错误,发送此否定响应码。 |
22 |
C |
条件未满足 如果ECU不满足切换会话模式的条件,发送此否定响应码。 |
注:开始执行编程模式是, NRC 22将被使用 |
8.3.3 参数定义
表15定义了我司要求的诊断会话类型, 如有其它诊断会话需求, 需向h事业部申请并通过诊断工程 师同意。
表 15 诊断会话控制服务类型定义
Hex |
Description |
Cvt |
1 |
DefaultSession默认会话 |
M |
2 |
ProgrammingSession刷写会话 |
U |
3 |
Extendeddiagnosticsession扩展会话 |
M |
40 |
EOL diagnosticsession下线检测会话 |
U |
8.3.4 执行规定
a)诊断工具通过此服务使ECU进入不同的诊断会话模式。要执行一个诊断服务,必须在适合的 会话模式下;
b)同一时刻只能有一个诊断会话模式被激活;
c)上电后如果没有诊断会话请求,ECU需自动进入默认会话模式(01h);
d)如果ECU需要满足一定的条件才能启动一个新的诊断会话, 需在零部件诊断规范中说明。
e)图7述了模式切换的过程, 默认会话模式可以直接切换到扩展会话模式,但是不能直接切换到 编程会话模式, 如果想进入编程会话模式,则必须先进入扩展会话模式。同样, 编程会话模式不能直 接进入扩展会话模式,只能进入默认会话模式。ECU复位以及S3_server超时将导致ECU进入默认会话 模式。
图 7 诊断会话模式的转换
8.4 电控单元复位 Ecu Reset (11h)
此服务要求电控单元根据重置类型参数的内容执行有效的ECU复位功能操作。
8.4.1 报文格式
表 16 复位服务的请求报文
Byte |
Name |
Cvt |
Value (Hex) |
#1 |
Request Service Identifier |
M |
11 |
#2 |
Sub-Function=[resetType] |
M |
00--FF |
表 17 复位服务的肯定响应
Byte |
Name |
Cvt |
Value (Hex) |
#1 |
Positive Response ServiceID |
M |
51 |
#2 |
Reset Type |
M |
00--7F |
8.4.2 支持的否定响应码
表 18 复位服务的否定响应码
Hex |
Cvt |
Error Text |
12 |
M |
子功能不支持 如果子功能参数不支持,发送此否定响应码。 |
13 |
M |
报文长度错误 如果报文长度错误,发送此否定响应码。 |
22 |
M |
条件未满足 如果ECU不满足复位的条件,发送此否定响应码。 |
8.4.3 参数定义
表 19 复位服务类型定义
Hex |
Description |
Cvt |
01 |
Hard Reset 硬件复位 |
M |
02 |
Key OffOn Reset 钥匙复位 |
U |
03 |
Soft Reset 软件复位 |
M |
8.4.4 执行规定文章来源:https://www.toymoban.com/news/detail-485807.html
ECU复位的肯定响应应在复位操作执行之前发送, 并在肯定响应发送成功后100ms内执行。 ECU执行复位后,会话模式应处于默认会话模式。文章来源地址https://www.toymoban.com/news/detail-485807.html
到了这里,关于【AUTOSAR】UDS协议的代码分析与解读(五)----ECU诊断服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!