5.2.4 服务数据单元定义
5.2.4.1 强制参数
5.2.4.1.1 通用定义
应用层服务包含三个强制参数。以下参数定义适用于本标准中规定的所有应用层服务(标准和远程格式)。
5.2.4.1.2 A_Mtype 应用层消息类型
数据类型:枚举
范围:诊断,远程诊断
描述:
参数Mtype用于识别6.2(后续内容会详细介绍)中规定的车载诊断系统的格式。
如果 A_Mtype = 诊断,service_name 原语应由参数 A_SA,A_TA 和 A_TAtype 组成。
如果 A_Mtype = 远程诊断,service_name 原语应由参数 A_SA,A_TA、A_TAtype 和 A_AE 组成。
5.2.4.1.3 A_SA 应用层源地址
数据类型:2字节无符号整型数值
范围:0x0000~0xFFFF
描述:
参数SA对标识客户端和服务端的地址进行编码。
对于服务请求和服务指示,A_SA表示已请求诊断服务的客户端地址。
对于服务响应和服务确认,A_SA表示已执行请求的诊断服务的服务端地址。
如果消息来源于远程客户端或服务端,则A_SA表示本地服务端,该服务端为远程到主网络的网关。
注:如果使用物理寻址请求消息,响应消息中的 A_SA 值将与相应请求消息中的 A_TA 值相同。(因为物理寻址为点对点寻址)
5.2.4.1.4 A_TA 应用层目标地址
数据类型:2字节无符号整型数值
范围:0x0000~0xFFFF
描述:
参数 A_TA 应用于对标识客户端和服务端地址的标识符进行编码。
有两种寻址方式,物理寻址和功能寻址。
因此,可以为车辆系统定义两个独立的目标地址集(每个寻址方式一个)。
物理寻址始终是在一个 ECU 中实现的服务端的专用消息。当使用物理寻址时,通信是客户端和服务端之间 的点对点通信。
如果客户端不知道要响应诊断服务请求的服务端的物理地址,或者服务端是否在多个 ECU 中分布实现,则 客户端将使用功能寻址。当使用功能寻址时,通信是从客户端到在一个或多个 ECU 中实现的服务端的广播通信。
对于服务请求(和服务指示),A_TA 表示将执行请求的诊断服务的服务端的标识符。如果正在寻址远程服 务端,则 A_TA 代表本地服务端,该服务端为远程网络到主网络的网关。
对于服务响应(和服务确认),A_TA 表示最初请求诊断服务并应接收请求的数据(即请求的 A_SA)的客户 端地址。服务响应(和服务确认)应始终使用物理寻址。如果远程客户端被寻址,则 A_TA 代表本地服务端, 该服务端为远程网络到主网络的网关。
注:响应消息的 A_TA 值始终与相应请求消息的 A_SA 值相同。
以上内容与5.2.4.1.3中的内容是互通重复的,所以此处不多做赘述,上述都是14229协议里的原话。
5.2.4.1.5 A_TA_Type 应用层目标地址类型
数据类型:枚举
范围:物理,功能
描述:
参数 A_TA_type 是 A_TA 参数的扩展。 它用于表示传输消息的寻址方式。
5.2.4.1.6 A_Result
数据类型:枚举
范围:ok,error
描述:
req_confirm 和 rsp_confirm 原语使用参数“A_Result”来指示消息是否已正确发送(ok)或消息传输是否不 成功(错误)。
5.2.4.1.7 A_Length
数据类型:4字节无符号整型数值
范围:0(d)~(2(32) - 1)(d)
描述:
该参数表示发送或接收的数据长度。
5.2.4.1.8 A_Data
数据类型:字节流
范围:无(就是字节数据流)
描述:
该参数包括要由较高层实体交换的所有数据。
5.2.4.2 车辆系统要求
车辆制造商应确保每一个标识服务端和每一个标识客户端都拥有唯一的地址标识符。
服务端的物理目标地址应始终与服务端的源地址相同。
车辆系统诊断网络的所有客户端和服务端地址都应编码在相同的源地址范围内。
远程服务端标识符的分配可以独立于主网络上的标识客户端和服务端地址的标识符。
5.2.4.3 可选参数-A_AE 应用层远程地址
数据类型:2字节无符号整型数值
范围:0x0000~0xFFFF
描述:
A_AE 用于扩展可用的地址范围以对客户端和服务端标识符进行编码。A_AE 只能用于区分本地服务端和远 程服务端概念的车辆。该地址表示自身的地址范围,与主网络上的地址无关。
参数 A_AE 应用于编码远程客户端和服务端标识符。A_AE 可以根据具有 A_AE 的消息的方向表示远程目标 地址或远程源地址。
对于由主网络上的客户端发送的服务请求(和服务指示),A_AE 表示将执行请求的诊断服务的远程服务端 标识符(远程目标地址)。
A_AE 可以用作物理地址和功能地址。对于 A_AE 的每个值,系统构建器应指定该值表示的是物理地址还是 功能地址。
注:没有特殊参数用以表示物理或功能的远程地址,以 A_TA_type 指定 A_TA 的寻址方法的方式。物理和 功能远程地址共享相同的 1 字节范围的值,每个值的含义应由系统架构师定义。
对于由远程服务端发送的服务响应(和服务确认),A_AE 表示已执行请求的诊断服务的远程服务端的物理 位置(远程源地址)。
远程服务端可以仅在一个 ECU 中实现,或者在多个 ECU 中分布实现。如果远程服务端仅在一个 ECU 中实 现,则只能使用一个 A_AE 值进行编码。如果远程服务端在多个 ECU 中分布实现,则应使用一个 A_AE 值对远 程客户端标识符进行编码,且远程服务端的每个物理地址都有一个 A_AE 值。
该小节内容为14229协议原话。