OBD 诊断与 UDS 诊断有什么区别?

UDS - 先进的统一诊断服务体系

在没有诊断服务的时代,车辆故障通常需要经验丰富的技师长时间排查,过程既耗时又耗力。然而,随着车辆ECU节点引入诊断模块,情况发生了显著变化。当车辆出现故障时,诊断模块会自动生成故障代码并储存。这时,利用专业的诊断仪,技师们可以迅速读取故障代码,从而快速定位并解决问题。

OBD 诊断与 UDS 诊断有什么区别?-有驾

除了读取故障代码,诊断服务还能为我们提供更多便利:

OBD 诊断与 UDS 诊断有什么区别?-有驾

车载网络结构复杂,分为物理层、数据链路层、网络层和应用层等多个层级。而诊断服务,则处于这其中的应用层,发挥着至关重要的作用。

OBD 诊断与 UDS 诊断有什么区别?-有驾

UDS(Unified Diagnostic Services)是诊断服务领域的一种协议规范,它遵循ISO14229标准,是目前汽车行业广泛采用的诊断协议。UDS基于CAN通讯进行诊断,其网络层采用了CAN网络协议。

UDS的服务结构包括:服务标识符(Service ID)、子功能(SubFunction)/数据位(DataIdentifier)和数据(Data)。其中,Service ID明确了服务的类型,由1字节无符号整数表示。

Service ID:作为服务类型的标识,它有三种主要类型,每种类型都有其独特的格式和含义。

请求服务标识符的格式通常为'x0xx xxxx',其中bit6必须为0。例如,读取DTC故障信息的服务标识符是0x19,其二进制表示为'0001 1001',其中bit6为0。

肯定响应服务标识符:当ECU接收到请求并成功处理后,会发送肯定响应。这种响应的标识符是将请求服务标识符的bit6置为1,其他位保持不变。例如,对于读取DTC的服务请求0x19,肯定响应的标识符将是'0101 1001',即0x59。

否定响应服务标识符:在某些情况下,如ECU不支持请求的服务或请求的参数不正确时,ECU会发送否定响应。这种响应的标识符是一个固定值,即0x7F。

SubFunction:若UDS诊断服务支持子功能,其参数的第一个字节的bit7将作为禁止肯定响应的指示位。当bit7为1时,表示ECU禁止发送肯定响应;而当bit7为0时,则表示ECU可以发送肯定响应。

0

全部评论 (0)

暂无评论