首页 > 编程知识 正文

uds和can区别,应用层表示层会话层

时间:2023-05-05 08:43:45 阅读:176053 作者:3221

UDS由ISO-14229系列标准定义,ISO 14229-1定义诊断服务,与网络和实现无关,只是APP应用层的内容。

诊断通信的过程在用户看来非常容易理解。 诊断设备(tester )发送诊断请求(request ),ECU发出诊断应答(response ),而UDS为不同诊断功能的请求和响应定义了统一的内容和格式。

1. UDS的服务

UDS是一系列服务的集合,本质上是定向通信,也是交互协议。 UDS的服务有6个类别,共计26种。 每个服务都有自己的ID。 sID :服务标识符,诊断服务id。 26中的服务分类如下。

2. UDS服务格式

诊断请求格式:诊断请求有两种类型。 第一个是SID sub function parameter,第二个是SID parameter。 注:参数字节数=0;

SID的长度固定为1字节,表示此诊断命令执行的功能。 sub-function的长度也是一个字节,通常表示对此诊断服务的特定操作,如启动、停止或询问。 后一个parameter在不同的诊断服务器上有不同的内容,长度和格式不统一,用于限定诊断服务器的执行条件,例如某个诊断服务器运行的时间。 parameter的重要APP位置之一是识别诊断请求要读取的数据内容的标识符。

注意:实际上sub-function严格来说不是一个byte而是七个bit。 由于其最高位用于抑制正响应,因此当此位设置为1且此位设置为0时,ECU将发出正响应。 其目的是告诉ECU不要发送不必要的响应,从而节约通信资源。

诊断响应格式:

诊断响应分为两类。

第一个是positive response,意味着执行了来自诊断装置的诊断请求。 格式: responsesidsubfunctionparameter或response SID parameter。 注:参数字节数=0; 响应sid是诊断请求的SID 0x40; 如下所示。

第二类为negative response,意味着当前的ECU由于某种原因无法执行来自诊断装置的诊断请求,无法执行的原因存在于negative response的消息中。 格式: negativeresponsesidrequestsidnegativeresponsecode; negative response为3字节固定,negative response SID为7F固定,request SID为诊断请求的SID,negative response code为负响应的原因; negative response code应如下图所示。

作为negative response的示例,在诊断装置(tester )请求SID 10,但sub function为0~4,超出了SID 10服务的sub function的范围的情况下,ECU诊断negative response (NSE诊断装置)

本章简要概述了uds APP应用层的request和response,并详细介绍了每个诊断服务

UDS协议栈文章:

UDS (一)入门简介

UDS (二)网络层

UDS (三)网络层时间参数

UDS (四) APP应用层

UDS (五) APP应用层10/3E

UDS (六) APP应用层11/27

UDS (七) APP应用层28/85

八) uds APP应用层22/2E

UDS (九) APP应用层14/19

UDS (十) APP应用层34/36/37

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。