前言
本文介绍UDS的基础知识,便于做汽车诊断的同学知道一些基本原理和概念,希望能对你有点帮助
UDS简介
UDS(Unified Diagnostic Services 统一的诊断服务)是一种通用的诊断服务标准,用于汽车电子控制单元(ECU)的诊断和调试。UDS是ISO 14229标准定义的一种通信协议,可以在CAN、LIN等多种总线上进行通信。
UDS协议定义了一套标准的诊断服务,包括会话控制、诊断请求、诊断响应和ECU编程等功能。通过UDS协议,诊断工具可以向ECU发送特定的请求,获取ECU的状态信息和故障码,诊断和解决故障问题。
UDS协议被广泛应用于汽车电子控制系统的诊断和调试,成为现代化汽车制造的重要组成部分。
简单理解就是按照UDS协议格式,进行一问一答,只是UDS协议复杂,让人觉得晦涩难懂。掌握基本的概念和原理,懂得查阅标准即可,一开始不用刻意去记,翻得多了就记住了。
本文分享的诊断都是CAN总线诊断服务,后面分享的文章也是
为什么需要UDS
在汽车诊断协议诞生之前,汽车出故障了,只能靠修车师傅的经验,因为汽车零部件不会告诉你它哪里出了问题。
但有了诊断协议之后,一旦零部件出了问题或者出过问题,它们会把故障信息保存在内存里面,修车师傅就可以通过通信总线读取这些故障信息,比如一个ECU经历高温或欠压故障之后,它会将故障代表的DTC(诊断故障码)存储起来,可选择性保存的还有发生故障时的快照信息(比如此时的车速、读到的电压值等)。快照信息有助于测试工程师和售后工程师查找发生故障的原因。这样就大大提高了维修师傅的修车效率了。
UDS特点
- 支持多种总线:UDS协议可以在CAN、LIN等多种总线上进行通信,具有较强的适用性。
- 提高诊断效率:UDS协议定义了一套标准的诊断服务,可以提高诊断工具的兼容性和效率。
- 增加诊断功能:UDS协议支持ECU编程等高级诊断功能,可以满足更复杂的诊断需求
UDS格式介绍
诊断Request格式:
格式1:[Service Identifier] + [Sub-function]
格式2:[SID] + [DID]
格式3:[SID] + [Sub-function] + [DID]
Positive Response:
Diagnostic response分为positive和negative两类。positive response意味着诊断仪发过来的诊断请求可以执行了,而negative response则意味着ECU因为某种原因无法执行诊断仪发过来的诊断请求,而无法执行的原因则存在于negative response的报文中。
格式1:[SID + 0x40] + [Sub-function]
格式2:[SID + 0x40] + [DID]
格式3:[SID + 0x40] + [Sub-function] + [DID]
Negative Response:
Negative Response的格式固定为3个字节,第一个字节为0x7F,第二个字节是被拒绝掉的SID,第三个字节是这个诊断服务无法被执行的原因
[0x7F] + [SID] + [NRC]
UDS的寻址模式
UDS的寻址模式有两种:物理寻址和功能寻址
物理寻址(点对点、一对一),根据物理地址的不同进行访问,但只能访问单个ECU节点,Tester为SA源地址,ECU作为TA目标地址;
功能寻址(广播、一对多),根据功能的不同进行访问,它能访问多个ECU节点,对于标准帧来说,通常是0x7DF。
UDS的OSI模型
ISO 14229 也就是UDS协议仅对应用层、会话层做出了定义。UDS不是专指ISO 14229-1。UDS包含了ISO 14229 下属的7个子协议,其中ISO 14229-2 还是会话层的,所以UDS仅包括应用层的说法是错误的。
好了,今天的分享就到这里,后面会再持续分享常用诊断服务,如10服务,27服务等等文章来源:https://www.toymoban.com/news/detail-606036.html
最后,如果觉得有帮助,希望你能点个关注,一键三连,感激不尽文章来源地址https://www.toymoban.com/news/detail-606036.html
到了这里,关于UDS基础知识介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!