![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汽车嵌入式---UDS诊断
文章平均质量分 85
UDS诊断协议相关理解
进击的横打
此人不懒,但也什么都没有写
展开
-
【车载开发系列】UDS诊断时间参数说明
诊断仪成功发送诊断报文请求之后到收到 ECU回复诊断响应的超时时间间隔。原创 2024-04-28 22:43:29 · 2678 阅读 · 0 评论 -
【车载开发系列】UDS诊断当中的NRC
当服务端收到诊断请求时,如果能执行则回复肯定响应,不能执行则回复否定响应;也有不给出响应的情况,就是抑制正响应(Suppress PositiveResponseMessageIndicationBit,简写为SPRMIB),通常来说,如果这个bit被置1,则ECU不会给出正响应(positive response)。11(Service not supported)服务不支持12(Subfunction not supported)不支持子服务。原创 2024-04-13 16:25:41 · 2775 阅读 · 0 评论 -
【车载开发系列】UDS当中的时间参数
缩写全称中文说明BSBlock Size块大小STmin时间间隙SI服务标识符SN连续帧编号SF单帧FF首帧FC流控制FS流控帧状态CF连续帧FF_DL首帧字节长度SF_DL单帧字节长度L_Data数据链路层数据N_PDU网络层协议数据单元。原创 2023-08-23 14:53:50 · 826 阅读 · 0 评论 -
【车载开发系列】诊断故障码DTC中的扩展数据信息
【车载开发系列】诊断故障码DTC中的扩展数据信息原创 2023-02-02 07:15:00 · 4277 阅读 · 2 评论 -
【车载开发系列】UDS诊断---诊断设备在线($0x3E)
【车载开发系列】UDS诊断—诊断设备在线($0x3E)一.概念定义此服务用于向ECU指示诊断工具在线。当其他UDS服务不存在时,为防止ECU自动转入默认会话模式并停止通信,必须使用此服务。建议以功能寻址的方式发送该指令它唯一的功能就是保持当前状态,不执行任何功能。所以它就是总线上的心跳功能。二.背景用诊断工具给ECU发送一些数据,而填写数据的时候,没有操作诊断工具给ECU发送任何诊断请求的。而一般遵照ISO14229-2的要求,超过PServer3时间,ECU就会从非默认会话切换到默认会原创 2022-12-11 00:51:45 · 898 阅读 · 0 评论 -
【车载开发系列】UDS诊断---常见的ISO标准集合
【车载开发系列】UDS诊断—常见的ISO标准集合常见的ISO标准集合【车载开发系列】UDS诊断---常见的ISO标准集合一.前言二.基于CAN总线ISO1)ISO118982)ISO115193)ISO15765三.UDS诊断1)ISO142292)ISO14229系列规范四.CAN以外的ISO标准1)ISO134002)ISO142303)ISO179874)ISO26262五.OBD诊断协议1)ISO271452)ISO15031一.前言在诊断服务中有很多ISO标准覆盖了不同的网络层次。但是初学者原创 2022-12-24 09:55:04 · 1975 阅读 · 0 评论 -
【车载开发系列】UDS诊断---数据传输($0x36)
【车载开发系列】UDS诊断—数据传输($0x36)UDS诊断---数据传输($0x36)【车载开发系列】UDS诊断---数据传输($0x36)一.概念定义二.报文格式1)请求报文2)肯定响应3)否定响应一.概念定义数据传输 TransferData(36h)诊断工具使用此服务从诊断工具到 ECU 传输数据(下载)或者从 ECU 到诊断工具传输数 据(上传)。在ISO14229当中定义了上传和下载两个部分,但大多数车企都只使用下载功能。二.报文格式1)请求报文BlockSequenceC原创 2022-12-19 05:52:15 · 924 阅读 · 0 评论 -
【车载开发系列】UDS诊断---请求下载($0x34)
【车载开发系列】UDS诊断—请求下载($0x34)UDS诊断---请求下载($0x34)【车载开发系列】UDS诊断---请求下载($0x34)一.概念定义二.产生背景三.报文格式1)请求报文2)肯定响应3)否定响应一.概念定义请求下载就是RequestDownload(34h)。也是一个比较常用的服务。诊断工具使用此服务初始化从诊断工具到ECU的数据传输(下载)。接收到此服务的请求报文时,ECU应在发送肯定响应报文前,采取所有必要动作用于数据接收。二.产生背景车ECU中用于缓存诊断服务数据的缓原创 2022-12-16 06:29:46 · 947 阅读 · 0 评论 -
【车载开发系列】UDS诊断---OBD基础概述
【车载开发系列】UDS诊断—OBD基础概述UDS诊断---OBD基础概述【车载开发系列】UDS诊断---OBD基础概述一.什么是OBD二.OBD和UDS的区别三.OBD应用功能与应用领域四.OBD的特点有哪些五.OBD的服务概述六.OBD服务中的DTC七.OBD服务中0x03和0x07的区别八.Pending DTC有什么用九.OBD的插口在哪里,插口是怎样的十.K线与L线一.什么是OBDOn-board diagnostic 监控排放相关系统。OBD定义了排放相关系统必须支持的诊断服务和数据传输格式原创 2022-12-14 07:20:21 · 6197 阅读 · 0 评论 -
【车载开发系列】UDS诊断---写入内存($0x3D)
【车载开发系列】UDS诊断—写入内存($0x3D)UDS诊断---写入内存($0x3D)【车载开发系列】UDS诊断---写入内存($0x3D)一.概念定义二.报文格式1)请求报文2)肯定响应3)否定响应一.概念定义写入内存WriteMemoryByAddress(3Dh)此服务用于将记录值写入 ECU 内存。数据位置和数据块大小由 Memory Address和Memory Size 参数定义。通常,0x22和0x2E成对使用,0x23和0x3D成对使用,这几个服务用于诊断数据的基本读写操作。原创 2022-12-13 07:42:29 · 594 阅读 · 0 评论 -
【车载开发系列】UDS诊断---动态定义DID($0x2C)
【车载开发系列】UDS诊断—动态定义DID($0x2C)UDS诊断---动态定义DID($0x2C)【车载开发系列】UDS诊断---动态定义DID($0x2C)一.概念定义1)DID定义方式2)DID失效条件二.应用场景三.报文格式1)报文请求1.请求通过标识符定义2.请求通过内存地址定义标识符3.请求清除已定义的标识符2)肯定响应3)否定响应一.概念定义动态定义数据标识符 DynamicallyDefineDataIdentifier(2Ch)此服务允许诊断工具在ECU的内部动态定义一个数据标识原创 2022-12-09 07:30:11 · 4177 阅读 · 0 评论 -
【车载开发系列】UDS诊断---输入输出控制($0x2F)
【车载开发系列】UDS诊断---输入输出控制($0x2F)原创 2022-12-10 08:56:55 · 1738 阅读 · 0 评论 -
【车载开发系列】UDS诊断---链接控制服务($0x87)
【车载开发系列】UDS诊断—链接控制服务($0x87)诊断---链接控制服务($0x87)【车载开发系列】UDS诊断---链接控制服务($0x87)一.概念定义二.应用场景三.报文格式1)报文请求2)肯定响应3)否定响应4)参数说明一.概念定义可以用来改变网络传输速率,确切的说是客户端请求控制通信波特率,这些数据链路层允许在活动诊断会话期间进行波特率转换。此服务绑定到非defaultSession,也就是链接控制服务应在非默认会话下执行,当发生会话转换(诊断会话控制服务)或ECU复位,通信速率要恢复原创 2022-12-23 10:28:29 · 1147 阅读 · 0 评论 -
【车载开发系列】UDS诊断---基于事件响应($0x86)
【车载开发系列】UDS诊断—基于事件响应($0x86)诊断---基于事件响应($0x86)【车载开发系列】UDS诊断---基于事件响应($0x86)一.概念定义二.注意事项三.报文格式1)请求报文2)肯定响应3)否定响应一.概念定义基于事件响应(ResponseOnEvent)服务(0x86)顾名思义就是当ECU发生了某个事件或满足了某个条件的时候发送响应,这和以往我们介绍的一条请求一条响应的诊断通信方式有所不同。该服务是请求服务器启动或停止传输对特定事件的响应。由客户端规定事件发生时将要执行的原创 2022-12-22 07:12:49 · 1031 阅读 · 0 评论 -
【车载开发系列】UDS诊断---安全访问服务($0x27)
【车载开发系列】UDS诊断—安全访问服务($0x27)UDS诊断---安全访问服务($0x27【车载开发系列】UDS诊断---安全访问服务($0x27)一.概念定义二.安全控制过程三.报文格式1)请求种子2)发送密钥3)否定响应四.否定响应码列表五.参数定义六.注意事项一.概念定义该服务提供了一种保护机制,该机制用来保护访问限制的诊断服务。加密策略采用种子和密钥相关联的方法。采用随机产生的种子,通过安全算法得到唯一的秘钥。若秘钥匹配正确则可以调用受到保护的诊断服务。这个服务解锁的是处在某个安全等级原创 2022-12-06 06:22:47 · 2990 阅读 · 0 评论 -
【车载开发系列】UDS诊断---读取周期标识符($0x2A)
【车载开发系列】UDS诊断—读取周期标识符($0x2A)UDS诊断---读取周期标识符($0x2A)【车载开发系列】UDS诊断---读取周期标识符($0x2A)一.概念定义二.报文格式1)请求报文2)初始响应3)后续肯定响应4)否定响应一.概念定义此服务允许诊断工具请求ECU中由一个或多个周期数据标识符(periodicDataIdentifier)标识的周期发送的数据记录值。该服务并非高频使用服务。在初始响应报文之后,有两种方式来发送周期数据响应报文给诊断工具。该服务没有 sub-functi原创 2022-12-08 00:09:24 · 1326 阅读 · 1 评论 -
【车载开发系列】UDS诊断---通信控制($0x28)
【车载开发系列】UDS诊断—通信控制($0x28)UDS诊断---通信控制($0x28)【车载开发系列】UDS诊断---通信控制($0x28)一.概念定义二.实现原理三.应用场景四.子功能五.报文格式1)请求报文2)肯定响应3)否定响应六.前提条件一.概念定义根据ISO14119-1标准中所述,诊断服务28服务主要用于网络中的报文发送与接受,比如控制应用报文的发送与接收,又或是控制网络管理报文的发送与接收,以便满足一定场景下的应用需求。简单来说28是对CAN报文收发的控制。二.实现原理针对原创 2022-12-05 00:08:58 · 1282 阅读 · 0 评论 -
【车载开发系列】UDS诊断---控制DTC设置($0x85)
【车载开发系列】UDS诊断—控制DTC设置($0x85)UDS诊断---控制DTC设置($0x85)【车载开发系列】UDS诊断---控制DTC设置($0x85)一.概念定义常见汽车故障二.子功能三.报文格式1)报文请求2)肯定响应3)否定响应四.应用举例五.前提条件)一.概念定义0x85(ControlDTCSetting)控制DTC设置DTC控制服务的主要作用是控制DTC的状态更新。本服务允许上位机请求一个或一组服务器启用/停禁用DTC检测;软件实现中;当应用模块检测到故障后,如果读DT原创 2022-12-21 09:34:06 · 1583 阅读 · 0 评论 -
【车载开发系列】UDS诊断---请求退出传输($0x37)
【车载开发系列】UDS诊断—请求退出传输($0x37)一.概念定义RequestTransferExit (0x37) service请求退出传输服务。该服务一般与0x34(请求下载),0x36数据传输一起使用。通常使用在ReProgram当中。37服务用于退出上传下载,即诊断仪通过该诊断服务停止与ECU之间的数据传输。如果之前的34和36服务都顺利执行完成,那么37服务就可以得到ECU的positive response。否则ECU会负响应NRC 0x7F 37 24,表示诊断序列执行有错误。二.原创 2022-12-20 07:16:29 · 553 阅读 · 0 评论 -
【车载开发系列】UDS诊断---例程控制($0x31)
【车载开发系列】UDS诊断—例程控制($0x31)UDS诊断---例程控制($0x31)【车载开发系列】UDS诊断---例程控制($0x31)一.概念定义1)RoutineControl服务2)例程的概念3)例程的应用4)例程有效前提二.子功能1)启动例程2)停止例程3)请求运行结果三.否定响应流程1)NRC132)NRC313)NRC344)NRC335)NRC126)NRC137)NRC318)NRC229)NRC24四.报文格式1)请求报文2)肯定响应2)否定响应五.RID Definition一原创 2022-12-12 07:19:31 · 3279 阅读 · 0 评论 -
【车载开发系列】UDS诊断---读取内存($0x23)
【车载开发系列】UDS诊断—读取内存($0x23)UDS诊断---读取内存($0x23)【车载开发系列】UDS诊断---读取内存($0x23)一.概念定义二.注意事项三.报文格式1)报文请求2)肯定响应3)否定响应一.概念定义SID$0x23就是ReadMemoryByAddress。读取内存服务可以用来读取ECU内部RAM或ROM的数据。诊断指令中包含想要读取的数据地址和长度。该服务请求消息用于从由参数memoryAddress和memorySize标识的服务器请求内存数据二.注意事项E原创 2022-12-04 07:23:25 · 1507 阅读 · 0 评论 -
【车载开发系列】UDS诊断---读取DTC信息($0x19)
【车载开发系列】UDS诊断—读取DTC信息($0x19)UDS诊断---读取DTC信息($0x19)【车载开发系列】UDS诊断---读取DTC信息($0x19)一.概念定义1)DTC概念2)故障类型3)快照数据二.DTC相关子功能1)匹配故障个数(0x01)2)DTC的状态码获取(0x02)3)读取DTC的快照数据(0x04)4)获取DTC扩展数据(0x06)5)请求支持的DTC信息(0x0A)三.报文格式1)SubFunction$0x01和$0x02的场合1.请求报文2.$0x01肯定响应报文3.$0原创 2022-12-02 01:57:38 · 9791 阅读 · 0 评论 -
【车载开发系列】UDS诊断---诊断故障清除($0x14)
【车载开发系列】UDS诊断—诊断故障清除($0x14)UDS诊断---诊断故障清除($0x14)【车载开发系列】UDS诊断---诊断故障清除($0x14)一.概念定义二.参数说明三.清除内容方式1)清除内容2)清除方式3)参数groupOfDTC四.报文格式1)请求报文2)肯定响应3)否定响应五.注意事项一.概念定义ClearDiagnosticInformation(0x14)服务。该服务格式很简单,请求格式是“14 + 3个字节数值”,这3个字节的数值可以是针对单个DTC清除,也可以是按组来清除原创 2022-12-01 07:45:11 · 2259 阅读 · 0 评论 -
【车载开发系列】UDS诊断---写入数据($0x2E)
【车载开发系列】UDS诊断—写入数据($0x2E)UDS诊断---写入数据($0x2E)【车载开发系列】UDS诊断---写入数据($0x2E)一.概念定义二.应用场景三.报文格式1)请求报文2)肯定响应3)否定响应四.特记事项一.概念定义根据ISO14119-1标准中所述,诊断服务2E主要用于Client向Server(ECU)通过DID的方式写入相关的数据。2E服务作为诊断服务中的基础服务,可以简单理解为就是一个用于写入ECU数据的外部接口,可实时获取软件内部的相关的状态信息。二.应用场景在原创 2022-12-07 07:23:42 · 1157 阅读 · 0 评论 -
【车载开发系列】UDS诊断---读取数据($0x22)
【车载开发系列】UDS诊断—读取数据($0x22)UDS诊断---读取数据($0x22)【车载开发系列】UDS诊断---读取数据($0x22)一.概念定义二.报文格式1)请求2)肯定响应3)否定响应三.应用场景四.注意事项五.DID参数定义一.概念定义该服务的英文简称为ReadDataByIdentifier 。根据ISO14119-1标准中所述,诊断服务22主要用于Client向Server(ECU)通过DID的方式读取相关的数据。这些数据可以输入输出的数字信号,模拟信号,内部数据以及其他的系统状原创 2022-12-03 07:39:06 · 3636 阅读 · 3 评论 -
【车载开发系列】UDS诊断协议总括篇
【车载开发系列】UDS诊断协议总括篇UDS诊断协议总括篇【车载开发系列】UDS诊断协议总括篇一.UDS诊断协议简介为什么要设计UDS诊断协议二. UDS诊断协议详细1)诊断通信管理功能单元2)数据传输功能单元3)存储数据传输功能单元3)输入输出控制单元4)例行程序功能单元5)上传下载功能单元三.UDS诊断协议通信1)物理寻址2)功能寻址四.UDS诊断服务否定响应码一.UDS诊断协议简介UDS英文全称为Unified Diagnostic Services,既通用诊断协议。相对于传统的OBD诊断不仅具有原创 2022-11-26 09:42:54 · 5099 阅读 · 0 评论 -
【车载开发系列】UDS诊断---电控单元复位 ($0x11)
【车载开发系列】UDS诊断—电控单元复位($0x11)UDS诊断---电控单元复位($0x11)【车载开发系列】UDS诊断---电控单元复位($0x11)一.概念定义二.应用场景三.报文格式1)请求2)肯定响应3)否定响应四.参数定义五.前提条件一.概念定义诊断服务11主要用于Client向Server(ECU)请求重启行为。该重启行为将会导致Server复位回归到特定的初始状态,具体是什么初始状态取决于Client的请求行为。在不考虑特殊场景的前提下,只需发送"11 01"诊断请求便可以让Serv原创 2022-11-30 06:16:04 · 2311 阅读 · 2 评论 -
【车载开发系列】UDS诊断---诊断会话控制($0x10)
【车载开发系列】UDS诊断—诊断会话控制($0x10)UDS诊断---诊断会话控制($0x10)【车载开发系列】UDS诊断---诊断会话控制($0x10)一.概念定义二.三种会话模式1)默认会话2)编程会话3)扩展会话三.会话模式切换四.报文格式1)请求报文2)肯定响应3)否定响应一.概念定义SID$0x10就是诊断会话控制服务DiagnosticSessionControl的意思。它包含3个子功能。ECU上电时,进入的是默认会话模式(Default),如果没有收到诊断会话请求,ECU需自动进入第一个原创 2022-11-29 05:12:41 · 4769 阅读 · 0 评论