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 执行规定
ECU复位的肯定响应应在复位操作执行之前发送, 并在肯定响应发送成功后100ms内执行。 ECU执行复位后,会话模式应处于默认会话模式。