UDS诊断协议学习系列4——服务数据单元详解

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协议原话。

        

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
汽车UDS诊断协议是一种用于汽车电子控制单元(ECU)之间进行通信和诊断协议UDS代表“统一诊断服务”,是世界上最常用的汽车诊断协议之一。 UDS诊断协议基于CAN总线通信协议,它定义了在汽车系统中进行诊断和通信的规则和标准。它允许车辆制造商和诊断工具提供商创建统一的诊断服务,以确保不同品牌和型号的汽车都可以使用相同的诊断设备。 UDS诊断协议具有以下特点: 1. 标准化:UDS协议的标准化使得不同厂商的诊断设备和汽车之间可以进行通信和诊断,提高了汽车诊断的效率和准确性。 2. 多功能:UDS协议支持多种功能,包括读取和清除故障码、读取和更新ECU参数、执行特定操作等,使诊断工程师可以对车辆进行全面的诊断和维修。 3. 安全性:UDS协议提供了安全机制,如访问权限控制和数据加密,以保护车辆的安全性和隐私。 4. 高效性:UDS协议优化了数据传输方式,使得诊断过程更加高效快速。 UDS诊断协议主要包含两个重要的通信会话:诊断会话和编程会话。诊断会话用于实时和离线的诊断,可以读取和清除故障码、读取传感器数据等。编程会话用于对车辆的ECU进行参数设置、更新软件等。 总之,汽车UDS诊断协议在现代汽车维修和诊断中起到了关键作用,它通过标准化和多功能的特点,为诊断工程师提供了通用和高效的诊断方式,从而提高了汽车的可靠性和安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你也想学习吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值