UDS诊断

UDSUnified Diagnostic Services是一种汽车诊断通信协议,其全称为统一诊断服务UDS协议是ISO 14229标准的一部分,旨在为汽车电子控制单元(ECU)提供统一的诊断服务规范。

UDS协议的基本概念和功能

UDS协议的主要功能包括读取和清除故障码、读取数据流、控制ECU参数设置等。它不仅适用于CAN总线,还可以通过DoIPDiagnostic over Internet Protocol)在Ethernet上实现。UDS协议的统一特性意味着它是一个国际化的标准,适用于所有ECU,而不仅仅是特定的ECU

UDS协议的应用场景

UDS协议广泛应用于汽车售后维修、生产线检测设备开发以及车联网功能实现中。由于其标准化和统一化的特点,UDS协议方便了诊断工具的开发和使用,降低了维护成本,同时也促进了汽车电子系统的互操作性‌1

UDS诊断包括6大类,26种服务,每种服务都有自己独立的ID,即SIDService Identifier

https://ask.qcloudimg.com/http-save/yehe-8201782/790a770f1fd081f921d823fb32f16b27.png

以诊断和通信管理功能单元(Diagnostic and Communication Management functional unit )为例,服务请求和响应有两类:一类是具有Subfunction(子功能),另一类是不具有Subfunction(子功能)。

不具有Subfunction(子功能)的UDS诊断服务请求和响应机制如下图所示:

https://ask.qcloudimg.com/http-save/yehe-8201782/35043372ae60e49efdb37ce9df415895.png

诊断方(Tester)向ECU发送指定的请求数据(Request),这条数据中需要包含SID,且SID处于该应用层数据的第一个字节。

ECU接收到请求数据(Request)后会返回响应,可返回肯定响应或者否定响应。

肯定响应(Positive Response)格式为:(SID+0X40+数据。例如,请求0X10服务,肯定响应第1个字节为0X50;请求0X22服务,肯定响应第1个字节为0X62

否定响应(Negative Response)格式为:0X7F+SID+NRC。例如,请求0X10服务,否定响应第1个字节为固定的0X7F,第2个字节为0X10,第3个字节为NRCNRC是否定响应码,可以根据返回的NRC判断是什么原因导致的否定响应。

具有Subfunction(子功能)的UDS诊断服务请求和响应机制如下图所示:

https://ask.qcloudimg.com/http-save/yehe-8201782/1b19b0b7628ed609c31a29494820dc12.png

诊断方(Tester)向ECU发送指定的请求数据(Request),这条数据中需要包含SID,且SID处于该应用层数据的第一个字节。

ECU接收到请求数据(Request)后会返回响应,可返回肯定响应或者否定响应。

肯定响应(Positive Response)格式为:(SID+0X40+Subfunction(子功能)+数据。例如,请求0X10服务,Subfunction(子功能)为0X02,肯定响应第1个字节为0X50,第2个字节为0X02

否定响应(Negative Response)格式为:0X7F+SID+NRC。例如,请求0X10服务,否定响应第1个字节为固定的0X7F,第2个字节为0X10,第3个字节为NRCNRC是否定响应码,可以根据返回的NRC判断是什么原因导致的否定响应。

1.请求的格式

UDS请求格式分为4

格式1[SID]

格式2[SID]+[DID]

格式3[SID]+[SF]

格式4[SID]+[SF]+[DID]

其中:SID-Service Identifier (服务ID),DID-Data Identifier (数据单元的ID

SF-Sub-function(子功能)

SF的作用是细分服务,提供更多的服务类型。

2.响应的格式

响应格式分两种,一种为Positive Response(肯定响应),即诊断请求执行成功;一种为Negative Response(否定响应),即诊断请求执行失败。

Positive Response

格式1[SID + 0x40]

格式2[SID + 0x40] + [DID]

格式3[SID + 0x40] + [Sub-function]

格式4[SID + 0x40] + [Sub-function] + [DID]

Negative Response

[0x7F] + [SID] + [NRC]

DRC-Negative Response Code(负响应码),指示出现了何种问题导致控制器不响应请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值