UDS最全内容总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

前言........................................................................3UDS的7种服务及肯定响应和否定响应的形式.....................................4$10诊断会话.............................................................7$3E待机握手.............................................................9$27安全访问.............................................................9$22读数据..............................................................11$2E写数据..............................................................12$19读DTC..............................................................12$14清除DTC.............................................................13统一诊断服务(Unifieddiagnosticservices,UDS)(一)....................15Diagnosticrequest的格式:.............................................15统一诊断服务(Unifieddiagnosticservices,UDS)(二)....................17DiagnosticSessionControl(0x10).......................................18诊断response的格式:DiagnosticSessionControl.........................19ECUReset诊断request的格式............................................19SecurityAccess(0x27)..................................................19统一诊断服务(Unifieddiagnosticservices,UDS)(三)....................20TesterPresent(0x3E)...................................................22ControlDTCSetting(0x85)..............................................23ResponseOnEvent(0x86)................................................23LinkControl(0x87).....................................................23统一诊断服务(Unifieddiagnosticservices,UDS)(四)....................24ReadDataByIdentifier(0x22)..........................................240x23服务的请求格式0x23.................................................25统一诊断服务(Unifieddiagnosticservices,UDS)(五)....................250x14:ClearDiagnosticInformation.......................................260x19:ReadDTCInformation...............................................26统一诊断服务(Unifieddiagnosticservices,UDS)(六)....................28InputOutputControlByIdentifier(0x2F)...............................28RoutineControl(0x31)..................................................30统一诊断服务(Unifieddiagnosticservices,UDS)(七)....................31RequestDownload(0x34):..............................................32TransferData(0x36):..................................................33RequestTransferExit(0x37):..........................................33基于CAN总线实现的UDS诊断(DoCAN).........................................34前言UDS协议即ISO14229,是UnifiedDiagnosticServices,统一诊断服务,是诊断服务的规范化标准,比如读取故障码应该向ECU发什么指令,读数据流又是发什么指令。OBD是关注车辆售后实时排放的理念形成的行业规范,而UDS是诊断服务的统一化规范,只是应用层的规范。UDS(Unifieddiagnosticservices),与OBD最大的区别就在于“Unified”上,UDS是面向整车所有ECU(电控单元)的,而OBD是面向排放系统ECU的。简单说UDS而言,它只是一个应用层协议(ISO14229-1),所以它既可以在CAN线上实现(见下图.1),甚至也能在Ethernet上实现(DOIP,DiagnosticoverInternetprotocol见下图.2)。并且,UDS提供的是一个诊断服务的基本框架,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来,所以基于UDS协议的诊断又常常被称为Enhanceddiagnostic(增强型诊断),UDS不是法规要求的,没有统一实现标准,其优势在于方便生产线检测设备的开发,同时更大的方便了售后维修保养和车联网的功能实现。UDS(UnifiedDiagnosticServices,统一的诊断服务)诊断协议是ISO15765和ISO14229定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的汽车总线(例如CAN,LIN,Flexray,Internet和K-line)上实现。UDS协议的应用层定义是ISO14229-1,目前大部分汽车厂商均采用UDSonCAN的诊断协议。如下图所示,ISO14229-1也就是UDS协议仅对应用层做出了定义,物理层有双绞线和光纤供用户选择,数据链路层采用CAN总线的ISO11898-1协议,针对ClassicalCAN仅有8个字节的数据场与应用层可处理多帧数据的矛盾,ISO15765-2对网络层进行了定义。CAN的8字节数据场会腾出一帧来表示网络层的信息。下图右侧是排放相关的协议,ISO15031-5主要针对OBD协议,为法规强制要求车厂满足的协议。学习时,我们应在了解CAN总线基本知识的前提下,着重学习ISO15765-2和ISO11898-1的协议内容,并通过BootLoader作为例子,对UDS有一个大致的了解。UDS的7种服务及肯定响应和否定响应的形式UDS本质上是一系列的服务,共包含6大类26种。每种服务都有自己独立的ID,即SID。SID:(ServiceID(Identifier)以下简称SID)Service,诊断服务ID。UDS本质上是一种定向的通信,是一种交互协议(Request/Response),即诊断方给ECU发送指定的请求数据(Request),这条数据中需要包含SID。如果是肯定的响应(PositiveResponse),回复[SID+0x40],就是请求10,响应50;请求22,响应62,回复的是一组数据。如果是否定的响应(NegativeResponse),回复[7F+SID+NRC],回复的是一个声明。肯定响应和否定响应的形式一定要熟记。UDS的26种服务中,有7种很重要。它们分别是:$10DiagnosticSessionControl(诊断会话),$14ClearDiagnosticInformation(清除诊断信息),$19ReadDTCInformation,$22ReadDataByIdentifier(通过ID读数据),$27SecurityAccess(安全访问),$2EWriteDataByIdentifier(通过ID写数据),$3ETesterPresent(待机握手)。下面对这7个服务进行解读。$10诊断会话DiagnosticSessionControl(0x10)DiagnosticSessionControl诊断request的格式DiagnosticSessionControl这个服务的SID是0x10,request固定为2个byte,第一个byte是SID,第二个byte的低7bit是sub-function,用于指示ECU将进入的session。UDS定义的session包括:0x00ISOSAEReserved(保留)0x01defaultSession0x02ProgrammingSession0x03extendedDiagnosticSession0x04safetySystemDiagnosticSession0x05–0x3FISOSAEReserved(保留)0x40–0x5FvehicleManufacturerSpecific(由整车厂自定义使用)0x60–0x7EsystemSupplierSpecific(由ECU供应商自定义使用)0x7FISOSAEReserved(保留)DiagnosticSessionControl用于控制ECU在不同的session之间进行转换,session可以看作是ECU所处的一种软件状态,在不同的session中诊断服务执行的权限不同。ECU上电之后,默认处在defaultSession中,在这个session中很多诊断服务不可以执行,很多诊断相关的数据不能读取或写入。一般的诊断仪启动之后,会给ECU发送1003,即让ECU进入extendedDiagnosticSession中,在这个session中可执行的诊断服务就很多了。而如果要让ECU保持在non-defaultSession中,则需要诊断仪每隔固定的时间发送0x3E服务,ECU才会知道诊断仪有和自己通信的需求,从而保持在non-defaultSession中。另一个常用的session是ProgrammingSession,在这个session中可以进行软件刷写的一系列诊断服务。0x40–0x5F这个范围中的session由整车厂自定义使用,比如,某些诊断服务或诊断数据的操作需要在生产线上执行,即所谓的End-Of-Line,整车厂可以从这个范围中选择一个值来表示EOLsession;又或者在开发阶段需要某种“超级”session,则也可以从这里选一个值用来使ECU进入开发模式的session。Dia

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功