网站首页 > 技术文章 正文
大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是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服务等等
最后,如果觉得有帮助,希望你能点个关注,一键三连,感激不尽。公众号文章首发,欢迎关注我公众号
- 上一篇: 车载控制器基于CAN的UDS诊断服务功能解析与测试项
- 下一篇: UDS诊断服务
猜你喜欢
- 2024-12-14 鉴源实验室:车载ECU嵌入式设备的诊断测试 - 会话和安全控制
- 2024-12-14 AUTOSAR学习笔记之服务层介绍
- 2024-12-14 大众汽车为所有ID.系列引入OTA无线更新
- 2024-12-14 纯电动汽车整车控制器软件设计
- 2024-12-14 AUTOSAR BSW介绍
- 2024-12-14 AUTOSAR概述
- 2024-12-14 什么是AUTOSAR(一)——AUTOSAR概述
- 2024-12-14 UDS网络层介绍
- 2024-12-14 CAN编程介绍
- 2024-12-14 想要快速进阶车载测试!这些基础问题你一定要知道
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)