汽车UDS协议概述
电控知识搬运工 2024-08-08

1.UDS协议概述


UDS(Unified Diagnostic Service)是汽车故障诊断领域的重要技术,它通过ECU(电控单元)对汽车各控制系统的组件进行监测。一旦发现故障,UDS能够自动启动故障记录和处理逻辑。这一模块不仅具备存储汽车故障信息的功能,还能实时提供汽车的各种运行参数。

外部诊断设备通过与ECU建立诊断通信,按照特定的诊断通信规则读取这些故障和参数信息,并将其解析出来供外部测试人员进行分析。UDS主要遵循ISO-15765和ISO-14229等诊断协议,因此在整车的各种电控单元(ECU)上得到了广泛应用。

UDS技术为汽车故障诊断提供了强大的支持,使得诊断过程更加高效、准确,从而提高了汽车的安全性和可靠性。


2.UDS协议基本原理

1)UDS协议栈


UDS协议栈主要由网络层和应用层两大部分组成。

网络层:它的主要作用是解决ISO 11898协议中经典CAN数据链路层与UDS应用层ISO 14229协议之间的数据长度不匹配问题。经典CAN数据链路层最大支持8字节的数据传输,而ISO 14229作为应用层协议,其设计不仅限于CAN总线,最大容量可达4095字节。当UDS应用需要发送超过8字节的数据时,比如20字节的数据信息,CAN总线无法在一帧报文内完成传输,这时就需要多帧传输。因此,ISO 15765-2标准应运而生,它定义了如何将多字节数据有效地、有序地通过CAN总线进行传输。

网络层分为单帧和多帧传输机制。单帧(SF)适用于那些可以在8字节内处理完毕的UDS数据。而多帧传输则用于处理超过8字节的数据,它分为首帧(FF)、流控帧(FC)和连续帧(CF)来处理。此外,网络层还涉及一系列时间参数,如N_Ar、N_As、N_Br、N_Bs、N_Cr、N_Cs,这些参数用于控制和管理多帧传输的过程。

应用层:应用层协议的主要功能是作为确认消息的传输机制。这意味着从客户端发送的每一个UDS请求,都将由服务器端产生相应的响应。这种请求-响应模式确保了通信的可靠性和数据的完整性,使得外部诊断设备能够与ECU进行高效的交互,读取故障和参数信息,并进行相应的解析和分析。

综上所述,UDS协议栈通过其网络层和应用层的协同工作,实现了汽车故障诊断的高效、准确和可靠。


2)功能寻址与物理寻址


在汽车故障诊断中,客户端诊断设备(通常称为诊断仪Tester)会发出诊断请求,而服务端(ECU)则负责响应这些请求。客户端在发送请求时,可以采用两种寻址方式:功能寻址和物理寻址。

功能寻址是一种一对多的通信模式。在这种模式下,客户端发送的诊断请求报文ID通常为0x7DF,这条报文会广播到整个网络中,所有的ECU(服务端)都需要对这条指令做出响应。这种模式适用于需要同时获取多个ECU状态或故障信息的场景。

物理寻址则是一种点对点的通信模式。在这种模式下,客户端发送的诊断请求报文是专门针对某一个特定的ECU(服务端)的。每个ECU在整车上都有一个唯一的物理寻址CAN_ID,因此客户端可以通过指定这个CAN_ID来与特定的ECU进行通信。这种模式适用于需要对单个ECU进行精确控制或获取详细信息的场景。

无论是功能寻址还是物理寻址,都是每个具备UDS诊断功能的ECU所拥有的两个CAN_ID的一部分。整车上对ECU的功能寻址CAN_ID有统一的规定,一般设置为0x7DF,以确保所有ECU都能正确识别并响应功能寻址的请求。而物理寻址CAN_ID则是每个ECU独有的,用于实现精确的点对点通信。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • RF
  • 射频
  • 通信
  • 无线
下载排行榜
更多
评测报告
更多
广告