首页资源分类应用技术工业控制 > can诊断方法

can诊断方法

已有 445008个资源

下载专区

文档信息举报收藏

标    签:can通信诊断

分    享:

文档简介

can通讯的诊断类的资料

文档预览

 JLYY-JT -08 基于CAN线诊断技术规范 编制: 校对: 审核: 审定: 标准: 批准: 浙江吉利汽车研究院有限公司 二○○八年五月 目 次 前言 ……………………………………………………………………………………………………………II 1 范围 …………………………………………………………………………………………………………1 2 规范性引用文件 ……………………………………………………………………………………………1 3 缩略语 ………………………………………………………………………………………………………1 4 CAN线诊断系统原理 ………………………………………………………………………………………2 5 CAN通讯协议 ………………………………………………………………………………………………2 6 诊断应用层服务 ……………………………………………………………………………………………8 Ⅰ 前 言 为了保证各个整车项目的诊断协议的统一性和继承性,制定了本技术规范。本技术规范中,各ECU诊断应用层服务的定义应遵循本技术规范,但不限于本规范所定义的诊断服务项目。本技术规范没有定义的诊断服务应遵循ISO 14229:2006,ISO 14230-3:1996和ISO 15765-3:2004中的诊断服务相关规定作扩展定义。 本标准由浙江吉利汽车研究院有限公司提出。 本标准由浙江吉利汽车研究院有限公司汽车电子电器研究所CAN总线科负责起草。 本标准主要起草人:郑士岑。 本标准于2008年5月30日发布并实施。 Ⅱ 1 范围 本标准规定了车辆CAN 诊断的缩略语、CAN线诊断系统介绍、CAN通讯协议与诊断应用层服务。 本标准适用于基于CAN线诊断的车辆诊断。 2 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 ISO 14229 :2006 道路车辆 统一诊断维修设备(UDS):规范和要求 ISO 14230-3 :1996 道路交通工具——诊断系统:KWP2000案例 ISO 15765-2 :2004 道路交通工具——CAN诊断:网络层服务 ISO 15765-3 :2004 道路交通工具——CAN诊断:应用层服务 ISO 15765-4 :2005 道路交通工具——CAN诊断:排放相关系统要求 3 缩略语 下列术语和缩略语适用于本标准。 3.1 ABS Antilock Braking Systems 防抱死系统 3.2 ACU Airbag Control Unit 安全气囊控制单元 3.3 BCM Body Control module 车身控制模块 3.4 BS Block Size 块大小 3.5 CF Consecutive Frame 后续帧 3.6 DA Destination Address 目标地址 3.7 DLC Data Length Code 数据长度代码 3.8 DTC Diagnostic Trouble Code 诊断故障代码 3.9 ECU Electronic Control Unit 电子控制单元 3.10 EMS Engine Management Systems 发动机管理系统 3.11 EOL End Of Line 下线诊断 3.12 FC Flow Control 流控制 3.13 FF First Frame 首帧 3.14 ICU Instrument Cluster Control Unit 组合仪表控制单元 3.15 ID Identifier 标志符 3.16 NA Network Address 网络地址 3.17 PCI Protocol Control Information 协议控制信息 3.18 PID Parameter Identifier 参数标志符 3.19 SA Source Address 源地址 3.20 SF Single Frame 单帧 3.21 SID Service Identifier 服务标志符 3.22 ST Separation Time 间隔时间 3.23 TPMS Tire Pressure Monitoring Systems 胎压监测系统 3.24 WUP Wake Up Pattern 唤醒模式 4 CAN线诊断系统原理 基于CAN线的诊断可以提供迅速存取信息的能力以及无需断开线缆就可以运行控制单元的能力。提供的诊断服务的作用有: a) 确定ECU; b) 读取ECU的输入信号; c) 将输出信号写入执行器; d) 读取ECU内部信息,比如故障存储的内容。 本规范提供的诊断服务可以用作扩展诊断测试,也可以在维修车间中使用。提供的诊断服务可以明显地降低测试时间。 5 CAN通讯协议 5.1 数据流 5.1.1 ECU支持CAN诊断消息使用ISO 15765-2:2004中指定的分段数据传送装置(USDT)。即支持两种类型的CAN数据流——非分段的数据流和分段的数据流。 5.1.2 非分段的数据流 非分段数据流由单帧(SF)构成。它的使用条件是:正常寻址模式时单帧长度不超过7或扩展寻址模式时单帧长度不超过6。一个非分段消息传送的示例见图1所示。 图1 5.1.3 分段的数据流 分段数据流由多帧分段的CAN消息构成。它的使用条件是:正常寻址模式时数据长度大于7或扩展寻址模式时数据字节长度大于6。该数据流包含一个首帧(FF)和多个后续帧(CF)。接收器在接收了首帧(FF)后必须发送一个流控制(FC)。流控制中包含的信息是:块大小(BS)和间隔时间(ST)。其中块大小(BS)表示接收器允许发送器发送的最大后续帧数量。间隔时间(STmin)表示两个后续帧之间发送者所必须等待的最小时间。一个分段消息传送的示例见图2所示。 图2 5.2 消息类型 5.2.1 单帧(SF),首帧(FF),后续帧(CF)或流控制(FC)都包含有一个8字节的数据域,该数据域由以下两部分构成,表1显示了各类CAN消息的PCI字节的结构。 a) 协议控制信息(PCI),指示了帧类型,帧编号,数据长度等; b) 传输数据,包含被发送的数据。 表1 数据域结构 帧类型 字节1 字节2 字节3 字节4-8 位7-4 位3-0 单帧(SF) 0000 SF_DL 数据1 数据2 数据3-7 首帧(FF) 0001 FF_DL 数据1 数据2-6 后续帧(CF) 0010 SN 数据1 数据2 数据3-7 流控制(FC) 0011 FS BS Stmin N/A 注:SF_DL表示4个位的单帧数据长度;FF_DL表示12个位的首帧数据长度;SN表示序列编号 FS表示数据流状态;BS表示块大小;Stmin表示最小间隔时间。 5.2.2 单帧 正常寻址模式下,单帧消息类型的最大数据长度为7个字节,其中PCI的高半字节设置为0000b。PCI的低半字节表示单帧的数据长度。 5.2.3 首帧 正常寻址模式下,首帧消息类型的数据长度大于7字节,它和一个或多个后续帧并用。其中PCI第一个字节的高半字节设置为0001b,第一个字节的低半字节和第二个字节表示首帧的数据长度。首帧的数据长度FF_DL计算如表2所示。 表2 十六进制值 数据长度FF_DL描述 000h-007h 保留 008h-FFFh 首帧数据长度(FF_DL)包含数据字节个数。12位FF_DL理论上支持发送多达4096个数据字节。然而当前实例无需支持4096个数据字节这样的最大值。 5.2.4 后续帧 后续帧在首帧之后,其中PCI的高半字节设置为0010b。它的低半字节是一个序列编号(SN),SN的值根据以下规定来计算: a) 首帧的SN值为0; b) 第一个后续帧的SN值为1; c) 每增加一个后续帧,SN值是以“1”来增加的; d) 流控制帧的发送影响SN值的计算; e) 当SN值达到了15,那么下一个后续帧的SN又会被设置为0。 序列编号(SN)值的定义具体如表3所示。 表3 协议数据名字 FF CF CF CF CF CF CF CF CF SN(16进制) 0h 1h 2h … Eh Fh 0h 1h … 5.2.5 流控制 5.2.5.1 首帧或数据块的最后一个后续帧之后,当需要更多的后续帧(CF)来完成数据流传输时,接收节点就必须发送一个流控制消息,其中PCI第一个字节的高半字节设置为0011b。流控制PCI的第二个字节表示两个流控制帧之间最大消息块的大小(BSmax),第三个字节表示两个后续帧之间的时间(最小间隔时间,Stmin)。流控制PCI第一个字节的低半字节是一个流控制状态(FS),数据流状态(FS)的定义如表4所示。 表4 16进制 描述 0h 继续发送(CTS) 接收器已经准备好并且等待BS时间 1h 等待(WT) 流控制的等待参数用设置N_PCI字节#1的低半字节为“1”来编码。它会导致发送者继续等待一个新的流控制N_PDU并且重启它的N_BS定时器 2h 过载流(OVFLW) 流控制的过载流参数用设置N_PCI字节#1的低半字节为“2”来编码。它会导致发送者中止分段消息的传输并且作出一个N_USData.confirm服务应答,该应答带参数=N_BUFFER_OVFLW。这个N_PCI流状态参数值仅仅在流控制N_PDU中被传送。这个流控制N_PDU紧跟在首帧N_PDU后,并且只在接收到的首帧N_PDU的消息长度FF_DL超过接收实体的缓冲器大小的情况下使用。 5.2.5.2 块大小(BSmax)表示两个流控制消息之间,接收器允许发送器发送的最大后续帧个数,它的定义如表5所示。 表5 16进制 描述 00 块大小(Bsmax) 在传输分段消息期间将不会再发送流控制帧。所有的后续帧的发送将不会因为插入流控制而停顿。 01h-FFh 块大小(Bsmax) 定义两个流控制之间的最大后续帧个数。 5.2.5.3 间隔时间(STmin)表示两个后续帧之间所允许的最小时间,它的定义如表6所示。 表6 16进制 描述 00h-7Fh 表示STmin的范围是:0ms-127ms 80h-F0h 预留未定义 F1-F9 表示STmin范围是:100us-900us FAh-FFh 预留未定义 5.3 寻址模式 5.3.1 物理寻址模式 所有物理寻址消息都是以ECU的物理地址来接收的。当用物理寻址模式来作出请求时,ECU就可以执行激活的诊断会话所支持的服务。而来自ECU的回应则在诊断仪的地址上接收。 5.3.2 功能寻址模式 在诊断仪请求的信息不是在特定的某个模块的情况时,请求消息应以功能寻址模式来作出请求。 5.4 诊断会话 ECU支持以下的诊断会话: a) 正常(默认)的会话 点火开启时,ECU以默认的形式开始正常诊断会话。在此会话中,控制器功能和诊断服务都会被激活,但不允许执行EOL和客户指定的诊断会话所支持的诊断服务。 b) 非默认诊断会话 非默认的诊断会话定义了“ECU编程会话”和“ECU扩展的诊断会话”两种诊断会话。 5.5 应用层和诊断会话层的时序要求概述 5.5.1 应用层和诊断会话层的时序要求基于下列两点作出区别: a) 物理寻址通讯的默认会话期间和非默认会话期间。 b) 功能寻址通讯的默认会话期间和非默认期间。 基于以上两点的判断,还要考虑ECU可能发送78h代码的否定回应消息来请求扩展回应时间的情况。 5.5.2 应用层和诊断会话层的时序定义 5.5.2.1 默认诊断会话期间的应用层时序数值定义如表7所示。 表7 时序参数 描述 类型 Min Max P2CAN_Client 成功传送请求消息和开始回应消息之间客户端的等待时间 定时器重新载入值 P2CAN_Server_max +△P2CAN N/A P2*CAN_Client 接收到代码78h的否定回应消息和开始回应消息之间客户端的扩展等待时间 定时器重新载入值 P2*CAN_Server_max +△P2CAN_rsp N/A P2CAN_Server 接收到请求消息和开始回应消息之间的服务器执行时间要求 执行要求 0 50ms P2*CAN_Server 传送了代码78h的否定回应消息和开始回应消息之间服务器的执行时间要求 执行要求 0 5000ms 表7(续) 时序参数 描述 类型 Min Max P3CAN_Client_Phys 没有要求回应消息时,成功传送了的物理寻址请求消息后,客户端等待传送下一个物理寻址请求消息的最小时间 定时器重新载入值 P2CAN_Server_Max N/A P3CAN_Client_Func 没有回应消息或者请求的数据只是被功能请求的部分服务器所支持的情况下,成功传送了功能寻址请求消息后,客户端等待传送下一个功能寻址请求消息的最小时间。 定时器重新载入值 P2CAN_Server_Max N/A 注:参数△P2CAN考虑任何系统网络设计相关的延时,如网关和加上安全接线的总线带宽所引起的延时。基于系统设计的最差设想值是受以下因素影响的: a) 涉及的网关个数; b) CAN帧的传输时间; c) CAN总线利用率 d) CAN设备驱动器的执行方式(查询和中断)以及网络层的进程时间。 △P2CAN的数值分成传送请求给寻址的服务器和传送回应给客户端两部分: △P2CAN=△P2CAN_Req + △P2CAN_Rsp 5.5.2.2 会话层时序参数定义 当非默认诊断会话开启时,它的会话处理是经过会话层时序参数实现的。会话层时序参数的定义如表8所示。 表8 时序参数 描述 类型 推荐的等待时间ms 等待时间ms S3Client 诊断仪传送功能寻址的诊断仪保活(3Eh)请求消息来使多个ECU的非默认诊断会话保持激活的时间要求,或者发送物理寻址请求消息给某个ECU来保活的最大时间。 定时器重新载入值 2000ms 4000ms S3Server 当没有接收任何诊断请求消息时,ECU能保持非默认诊断会话激活的时间。 定时器重新载入值 N/A 5000ms 5.6 通讯失败 5.6.1 意外的消息 任何节点对于接收到的意外消息或非法格式的消息都是采取忽视。 5.6.2 丢失消息 诊断仪请求期间,如果ECU自动检测到一个通讯失败(如:网络层的时序违规),那么ECU就会取消这个请求并且不发送回应消息。 诊断仪必须监控:没有ECU回应在P2CAN-ECU内被发送。因此诊断仪可以重复它之前的请求。 在扩展的诊断会话期间,如果在P3CAN-ECU(MAX)内没有接收到来自诊断仪的请求(中断通讯线的标准),那么ECU就跳回普通会话。 5.7 消息填充 CAN诊断消息帧必须是全部填满(8个字节)的,所以空余的字节必须用“填充数据”填满。定义填充数据为:0x00。 6 诊断服务定义 6.1 诊断管理功能单位 诊断功能单位的诊断服务项目如表9所示。 表9 诊断服务中文名称 诊断服务英文名称 请求服务标识符 诊断管理功能单位 开启诊断会话 StartDiagnosticSession 10h ECU重设服务 ECUReset service 11h 停止诊断会话 StopDiagnosticSession 20h 安全访问服务 SecurityAccess service 27h 通讯控制服务 Communicationcontrol 28h 诊断仪保活 TesterPresent service 3Eh 读取ECU ID服务 ReadECUIdentification service 1Ah 6.2 开启诊断会话服务 6.2.1 功能描述 6.2.1.1 开启诊断会话服务的功能是激活ECU所支持的诊断会话模式。只有在激活了ECU所支持的诊断会话之后,ECU才能在激活的诊断会话模式下执行它所支持的服务。 6.2.1.2 参数“诊断模式”定义了默认会话模式,ECU扩展的会话模式和ECU编程模式三种诊断会话模式。默认模式是启动诊断会话时的默认会话模式,开启一个新的诊断会话后就进入默认模式。ECU扩展的会话模式和ECU编程模式是为某些在默认会话模式下不能执行的服务而定义的诊断会话模式。具体诊断模式参数的定义见表10。 表10 诊断模式参数 参数:诊断模式 大小(字节) 描述 数值 1 默认会话模式 81h 1 ECU编程模式 83h 1 ECU扩展的会话模式 87h 6.2.2 请求消息格式如表11所示。 表11 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 10h 1 诊断模式 xxh 6.2.3 肯定回应消息格式如表12所示。 表12 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 肯定回应服务标识符 50h 1 诊断模式 xxh 6.2.4 否定回应消息格式如表13所示。 表13 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 10h 2 回应代码 xxh 6.3 停止诊断会话 6.3.1 功能描述 诊断服务“停止诊断会话”的功能是停止ECU和诊断工具之间的当前通讯。 6.3.2 请求消息格式如表14所示。 表14 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 20h 6.3.3 肯定回应消息格式如表15所示。 表15 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 肯定回应服务标识符 60h 6.3.4 否定回应消息如表16所示。 表16 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 20h 2 回应代码 xxh 6.4 ECU重设服务 6.4.1 功能描述 诊断服务“ECU重设”的功能就是请求ECU按重设模式的要求重新执行一次ECU设置。参数“重设模式”定义如表17所示。 表17 参数:重设模式(ResetMode) 数值(Hex) 描述 01 硬件重设(hardReset) 02 切断重设(KeyOffOnReset) 03 软件重设(SoftReset) 04 快速关闭电源(EnableRapidPowerShutDown) 05 快速关闭电源无效(DisableRapidPowerShutDown) 6.4.2 请求消息格式如表18所示。 表18 6.4.3 肯定回应消息如表19所示。 表19 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 ECU重设肯定回应服务标识符 51h 6.4.4 否定回应消息格式如表20所示。 表20 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 11h 2 回应代码 xxh 6.5 安全访问服务 6.5.1 功能描述 6.5.1.1 诊断服务“安全访问”的功能是用诊断仪来更改安全等级,获取执行被ECU锁定的服务的权利。各ECU应该至少拥有2个等级。安全等级0是ECU上电时默认的安全等级,在安全等级0时,不允许更改ECU的任何配置信息。在安全等级1和2上,才允许执行一些在高层安全等级才允许的诊断命令。 6.5.1.2 更改安全等级的步骤如下: 第一步:诊断仪请求种子(seed),然后ECU发送种子; 第二步:诊断仪根据吉利提供的转换算法发送Key,如果Key是有效的,那么ECU就会发送一个肯定回应消息,同时安全等级也更改到了新的安全等级。 注:种子(Seed)和Key均为4个字节的十六进制数值:xxxxxxxxh。 6.5.1.3 诊断服务“安全访问”需要定义的参数“安全模式”如表21所示。 表21 参数:安全模式(AccessMode) 大小(字节) 描述 数值 1 请求安全等级1的种子 01h 1 发送安全等级1的key 02h 1 请求安全等级2的种子 03h 1 发送安全等级2的key 04h 6.5.1.4 诊断服务“安全访问”需要定义的参数“安全状态”如表22所示。 表22 参数:安全状态(SecurityStatus) 大小(字节) 描述 数值 1 安全访问允许 34h 6.5.2 请求消息步骤1格式如表23所示。 表23 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 27h 1 安全模式-请求种子 xx =01 请求安全等级1 xx =03 请求安全等级2 xxh 6.5.3 肯定回应消息步骤1格式如表24所示。 表24 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 67h 1 安全模式-请求种子 xx =01 请求安全等级1 xx =03 请求安全等级2 xxh 2..5 种子(4个字节) xxxxxxxxh 6.5.4 请求消息步骤2格式如表25所示。 表25 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 27h 1 安全模式-发送Key xxh 2..5 Key xxxxxxxxh 6.5.5 肯定回应消息步骤2格式如表26所示。 表26 6.5.6 否定回应消息格式如表27所示。 表27 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 27h 2 回应代码 xxh 6.6 通讯控制服务 6.6.1 功能描述 6.6.1.1 诊断服务“通讯控制”的功能是接通或切断某个服务消息的传送或接收,就是控制CAN帧的传送或接收。该服务需要定义的参数有“控制类型”(controlType)和“通讯类型”(communicationType)。6.6.1.2 控制类型参数包含的信息是关于ECU如何调整通讯类型。控制类型参数的定义见表28。 表28 参数:控制类型(controlType) Hex(位6-0) 描述 名称 00 使指定的通讯类型可以接收和传送消息 EnableRxAndTx 01 使指定的通讯类型可以接收消息但不可以传送消息 EnableRxAndDisableTx 02 使指定的通讯类型不可以接收消息但可以传送消息 DisableRxAndEnableTx 03 使指定的通讯类型不可以接收消息也不可以传送消息 DisableRxAndTx 注:该参数是一个字节大小,位7“suppressPosRspMsgindicationBit”不在此表定义。 6.6.1.3 参数“通讯类型”是指定要控制的通讯类型。该参数是个位编码数值,允许同时控制多种通讯类型。定义参见表29。 表29 6.6.2 肯定回应消息格式如表30所示。 表30 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 28h 1 控制类型参数 xxh 2 通讯类型 xxh 6.6.3 肯定回应消息格式如表31所示。 表31 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 68h 1 控制类型参数 xxh 6.6.4 否定回应消息格式如表32所示。 表32 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 3Eh 2 回应代码 xxh 6.7 诊断仪保活 6.7.1 功能描述 诊断服务“诊断仪保活”的功能是指示ECU发送请求使ECU保持在当前的诊断会话中,使诊断服务或通讯保持激活。该服务须定义的参数“回应要求”如表33所示。 表33 参数:回应要求(ResponseRequired) 大小(字节) 描述 数值 1 要求回应 01h 1 没有要求回应 02h 6.7.2 请求消息格式如表34所示。 表34 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 3Eh 1 回应要求 要求回应 01h 没有要求回应 02h xxh 6.7.3 肯定回应消息如表35所示。 表35 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 7Eh 6.7.4 否定回应消息格式如表36所示。 表36 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 3Eh 2 回应代码 xxh 6.8 数据传输功能单位 数据传输功能单位的诊断服务项目如表37所示。 表37 诊断服务中文名称 诊断服务英文名称 请求服务标识符 数据传输功能单位 由本地标识符读取数据 ReadDataByLocalIdentifier 21h 由公共标识符读取数据 ReadDataByCommonIdentifier 22h 由本地标识符写数据 WriteDataByLocalIdentifier 3Bh 由公共标识符写数据 WriteDataByCommonIdentifier 2Eh 6.9 由本地标识符读取数据 6.9.1 功能描述 6.9.1.1 诊断服务“由本地标识符读取数据”的功能是使用定义的本地标识符去请求来自ECU的当前数据。这些数据记录包括模拟输入和输出信号,数字输入和输出信号,内部数据和系统状态信息。 6.9.1.2 该服务涉及的参数“记录本地标识符”定义见表38。 表38 参数:记录本地标识符(RecordLocalIdentifier) 大小(字节) 描述 数值 1 请求01h-20h支持的本地标识符 00h 1 …… 01h 1 …… … 1 …… 19h 1 请求21h-40h支持的本地标识符 20h 1 …… …… 1 …… 39h 注:诊断仪请求本地标识符=00h后,ECU会回应相应的PID值,该PID值是一个4字节的十六进制数值,它表示该 ECU支持的从01h到20h 的本地标识符(位32对应本地标识符01h,位31对应本地标识符02h,…位0对应本地标识符20h)。请求本地标识符=20h后,ECU会回应21h-40h的本地标识符支持情况。本地标识符(00h-19h)和本地标识符(21h-39h)的诊断内容由各个ECU厂商自行定义。 6.9.2 请求消息格式如表39所示。 表39 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 21h 1 记录本地标识符 xxh 6.9.3 肯定回应消息格式如表40所示。 表40 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 61h 1 Local标志符# 1 xxh 2 数据记录#1字节1(MSB) xxh … … … 2+r 数据记录#1字节r(LSB) xxh 6.9.4 否定回应消息格式如表41所示。 表41 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 21h 2 回应代码 xxh 6.10 由公共标识符读取数据 6.10.1 功能描述 诊断服务“由公共标识符读取数据”的功能是用定义好的公共标志符读取ECU的符号信息。 6.10.2 请求消息格式如表42所示。 表42 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 22h 1 公共标志符#1(MSB) xxh 2 公共标志符#1(LSB) xxh 6.10.3 肯定回应消息格式如表43所示。 表43 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 62h 1 公共标志符#1(MSB) xxh 2 公共标志符#1(LSB) xxh 3 数据记录#1字节1(MSB) xxh … … … 3+r 数据记录#1字节r(LSB) xxh 6.10.4 否定回应消息格式如表44所示。 表44 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 22h 2 回应代码 xxh 6.11 由本地标识符写数据 6.11.1 功能描述 诊断服务“由本地标识符写数据”的功能是将数据写进一个ECU存储区域。这些数据均由参数“记录本地标识符”来作为标记。执行这个服务的情况有: a) 清除非易失性存储; b) 重新设置已学习的数值; c) 设置选项内容; d) 设置车辆标志符编号(VIN); e) 更改标定数值。 该服务涉及参数:记录本地标识符,这个参数确定了某个ECU特定的本地数据记录。 注: 本地标识符内容的定义取决于各个ECU的功能需求。 6.11.2 请求消息格式如表45所示。 表45 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 3Bh 1 记录本地标识符 xxh 6.11.3 肯定回应消息格式如表46所示。 表46 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 7Bh 1 记录本地标识符 xxh 6.11.4 否定回应消息格式如表47所示。 表47 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 3Bh 2 回应代码 xxh 6.12 由公共标识符写数据 6.12.1 功能描述 诊断服务“由公共标识符写数据”的功能是用单个请求消息将数据写给多个ECU。这些数据值均由参数“记录公共标识符”作标记。执行该服务的情况如下: a) 清除非易失性存储; b) 重新设置已学习的数值; c) 设置选项内容; d) 设置车辆标志符编号(VIN)。 参数“记录公共标识符”,确定了多个ECU共同支持的数据记录,由ECU供应商自行定义该参数的格式和数据记录。 6.12.2 请求消息格式如表48所示。 表48 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 3Eh 1 公共标识符#1(MSB) xxh 2 公共标识符#1(LSB) xxh 6.12.3 肯定回应消息格式如表49所示。 表49 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 7Eh 1 公共标识符#1(MSB) xxh 2 公共标识符#1(LSB) xxh 3 数据记录#1字节1(MSB) xxh … … … 3+r 数据记录#1字节r(LSB) xxh 6.12.4 否定回应消息格式如表50所示。 表50 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 3Eh 2 回应代码 xxh 6.13 存储的数据的传输功能单位 存储的数据的传输功能单位的诊断服务项目如表51所示。 表51 诊断服务中文名称 诊断服务英文名称 请求服务标识符 存储的数据的传输功能单位 读取诊断故障代码 ReadDiagnosticTroubleCodes 13h 由状态读取诊断故障代码 ReadDiagnosticTroubleCodeByStatus 18h 读取诊断故障代码的状态 ReadStatusOfDiagnosticTroubleCode 17h 清除诊断信息 ClearDiagnosticInformation 14h 6.14 读取诊断故障代码 6.14.1 功能描述 诊断服务“读取诊断故障代码”的功能是从ECU中读取存储的诊断故障代码。本服务必须定义的参数有“DTC功能组”(GroupOfDTC)和“DTC数量”(NumberOfDTC)。参数“DTC功能组”(GroupOfDTC)的定义两个字节大小,功能组的划分参照ISO14229附录D。 6.14.2 请求消息格式如表52所示。 表52 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 13h 1-2 GroupOfDTC xxxxh 6.14.3 肯定回应消息格式如53表所示。 表53 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 53h 1 DTC的数量 xxh 2-3 DTC#1 xxxxh … … … 2n-2n+1 DTC#n xxxxh 6.14.4 否定回应消息格式如表54所示。 表54 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 18h 2 回应代码 xxh 6.15 由状态读取诊断故障代码 6.15.1 功能描述 6.15.1.1 诊断服务“由状态读取诊断故障代码”的功能是用DTC的状态从ECU内存中读取存储的诊断故障代码。诊断服务“由状态读取诊断故障代码”必须定义的参数“DTC状态”如表55所示。 表55 参数:DTC状态(StatusOfDTC) 位置(位) 描述 0…3 DTC故障现象 0000b=“没有这个DTC的故障现象” 0001b=“大于最大极值” 0010b=“小于最小极值” 0100b=“没有信号” 1000b=“无效信号” 4 0b=这个DTC测试完成。 1b=这个DTC测试没有完成。 5..6 00b=“这个DTC没有发生” 01b=“这个DTC发生在过去,但是当前没有这个DTC” 10b=“这个DTC的错误监测已经作出,但是还没有作出故障判断” 11b=“这个DTC发生在当前” 7 0b=“这个DTC当前还没有点亮指示灯” 1b=“这个DTC当前点亮了指示灯” 6.15.1.2 诊断服务“由状态读取诊断故障代码”还须定义的参数有:“DTC组”(GroupOfDTC),“DTC数量”(NumberOfDTC)。“DTC组”(GroupOfDTC)是用来选择请求的DTC功能组。 注:将DTC组定义为FF00h,即表示支持该ECU所有的DTC。 6.15.2 请求消息格式如表56所示。 表56 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 18h 1 DTC状态请求参数 xxh 2-3 DTC组 FF00h 注:DTC状态请求参数:00=表示请求激活的故障代;01=表示请求该ECU支持的所有故障代码 6.15.3 肯定回应消息格式如表57所示。 表57 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 58h 1 DTC的数量 xxh 2..3 DTC xxxxh 4 DTC的状态 xxh …… DTC xxxxh … DTC的状态 xxh 注:如果没有保存的DTC,那么“DTC的数量”这2个字节数值为00h。 6.15.4 否定回应消息格式如表58所示。 表58 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 18h 2 回应代码 xxh 6.16 读取诊断故障代码的状态 6.16.1 功能描述 诊断服务“读取诊断故障代码状态”的功能是从ECU内存中读取指定的DTC状态。该服务涉及的参数有DTC的数量和DTC状态。 6.16.2 请求消息格式如表59所示。 表59 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 17h 1..2 DTC xxxxh 6.16.3 肯定回应消息格式如表60所示。 表60 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 57h 1 DTC的数量 01h 2..3 DTC xxxxh 4 DTC的状态 xxh 注:这个服务中,因为DTC是指定的,所以DTC数量设置为01h。 6.16.4 否定回应消息格式如表61所示。 表61 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 17h 2 回应代码 xxh 6.17 清除诊断信息 6.17.1 功能描述 诊断服务“清除诊断信息”的功能是清除ECU内存中存储的诊断信息。 该服务须定义的参数有“DTC组”(GroupOfDTC)。它是用来指示要清除故障存储的ECU。 6.17.2 请求消息格式如表62所示。 表62 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 14h 1…2 DTC组 FF00h 注:一般将参数DTC组设置成FF00h。 6.17.3 肯定回应消息格式如表63所示。 表63 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 肯定回应服务标识符 54h 1…2 DTC组 FF00h 6.17.4 否定回应消息格式如表64所示。 表64 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 14h 2 回应代码 xxh 6.18 输入输出控制功能单位 输入输出控制功能单位的诊断服务项目如表65所示。 表65 诊断服务中文名称 诊断服务英文名称 请求服务标识符 输入输出控制功能单位 由公共标识符控制输入输出 InputOutputControlByCommonIdentifier 2Fh 由本地标识符控制输入输出 InputOutputControlByLocalIdentifier 30h 6.19 由公共标识符控制输入输出 6.19.1 功能描述 6.19.1.1 诊断服务“由公共标识符控制输入输出”的功能是执行输入输出信号的控制。在该服务中,诊断仪用数值代替输入信号,内部ECU功能以及电子系统的控制输出信号等。 6.19.1.2 参数“输入输出公共标识符”(InputOutput CommonIdentifier)用来确定一个给ECU的输入或输出信号。它的定义见表66所示。 表66 输入输出公共标识符的定义 参数:输入输出公共标识符(InputOutput CommonIdentifier) 大小(字节) 描述 数值 1 ReturnControlToECU 00h 1 重设为默认状态(ResetToDefault) 01h 1 冻结当前状态(FreezeCurrentState) 02h 1 短期调整(ShortTermAdjustment) 03h 6.19.1.3 参数“输入输出控制选项”(InputOutputControlOption)是用来描述ECU如何控制它的输入和输出的。参数“控制状态”(ControlStatus)是描述ECU反应请求控制的控制状态。以上两个参数均由相应的ECU供应商根据控制功能需要自行定义格式和数据记录。 6.19.2 请求消息格式如表67所示。 表67 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 2Fh 1 输入输出公共标识符(MSB) xxh 2 输入输出公共标识符(LSB) xxh 3 输入输出控制选项 xxh 4 控制状态#1字节1(MSB) xxh … … … 4+r 控制状态#1字节r(LSB) xxh 6.19.3 肯定回应消息格式如表68所示。 表68 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 肯定回应服务标识符 6Fh 1 输入输出公共标识符(MSB) xxh 2 输入输出公共标识符(LSB) xxh 3 输入输出控制选项 xxh 4 控制状态#1字节1(MSB) xxh … … … 4+r 控制状态#1字节r(LSB) xxh 注:如果输入输出控制参数为00h时,就不会有后续的控制状态内容。 6.19.4 否定回应消息格式如表69所示。 表69 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 2Fh 2 回应代码 xxh 6.20 由本地标识符控制输入输出 6.20.1 功能描述 诊断服务“由本地标识符控制输入输出”的功能是,诊断仪用来执行输入输出信号的控制。在该服务中,诊断仪用数值代替输入信号,内部ECU功能以及电子系统的控制输出信号等。 参数“输入输出本地标识符”(InputOutputLocalIdentifier)用来确定一个ECU的本地输入信号,输出信号和内部参数。 参数“输入输出控制”(InputOutputControlOption)是用来描述ECU如何控制它的输入和输出的。 参数“控制状态”(ControlStatus)是用来描述ECU反应请求控制的控制状态。 以上三个参数,均由相关的ECU厂商根据功能控制需要而自行定义。 6.20.2 请求消息格式如表70所示。 表70 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 30h 1 输入输出本地标识符 xxh 2 输入输出控制选项 xxh 6.20.3 肯定回应消息格式如表71所示。 表71 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 70h 1 输入输出本地标识符 xxh 2 控制状态 xxh 6.20.4 否定回应消息格式如表72所示。 表72 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 30h 2 回应代码 xxh 6.21 程序远程激活控制单位 程序远程激活控制单位的诊断项目如表73所示。 表73 诊断服务中文名称 诊断服务英文名称 请求服务标识符 程序远程激活控制单位 由本地标识符开启程序 StartRoutineByLocalIdentifier 31h 由本地标识符停止程序 StopRoutineByLocalIdentifier 32h 由本地标识符请求程序结果 RequestRoutineResultsByLocalIdentifier 33h 6.22 由本地标识符开启程序 6.22.1 功能描述 6.22.1.1 服务“由本地标识符开启程序”的功能是诊断仪执行该服务来控制和ECU相关联的执行器。 6.22.1.2 参数“程序本地标识符”(RoutineLocalIdentifier)确定了一个ECU的本地程序。这个参数的内容根据各个ECU的诊断功能需要来定义。参数“程序进入选项”(RoutineEntryOption)指定了本地程序的启动条件。参数“程序进入状态”(RoutineEntryStatus)给出了程序启动后的状态信息。以上三个参数均由ECU供应商根据各自的功能控制需求自行定义格式和数据记录。 6.22.2 请求消息格式如表74所示。 表74 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 31h 1 程序本地标识符 xxh 3 程序进入选项#1 xxh … … … 表74(续) 字节 内容 数值 3+r 程序进入选项#r xxh 6.22.3 肯定回应消息格式如表75所示。 表75 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 71h 1 程序本地标识符 xxh 3 程序进入状态#1 xxh … … … 3+r 程序进入状态#r xxh 6.22.4 否定回应消息格式如表76所示。 表76 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 31h 2 回应代码 xxh 6.23 由本地标识符停止程序 6.23.1 功能描述 诊断服务“由本地标识符停止程序”的功能是终止ECU内存中的由程序本地标识符开启的诊断进程。该服务须定义的参数“程序本地标识符”(RoutineLocalIdentifier)和参数“程序退出选项”(RoutineExitOption)。这两个参数均由ECU供应商根据各自功能控制需求而自行定义格式和数据记录。 参数“程序退出状态”(RoutineExitStatus)提供程序终止后的ECU状态信息给诊断仪。该参数定义如表77所示。 表77 参数:程序退出状态(RoutineExitStatus) 大小(字节) 描述 数值 1 正常退出,并存储结果 61h 1 正常退出,但不存储结果 62h 1 非正常退出,存储结果 63h 1 非正常退出,不存储结果 64h 6.23.2 请求消息格式如表78所示。 表78 诊断仪→ECU:[服务]-请求 字节 内容 数值 0 服务标识符 32h 1 程序本地标识符 xxh 3 程序退出选项#1 xxh … … … 3+r 程序退出选项#r xxh 6.23.3 肯定回应消息格式如表79所示。 表79 ECU→诊断仪:[服务]-肯定回应消息 字节 内容 数值 0 肯定回应服务标识符 72h 1 程序本地标识符 xxh 3 程序退出状态#1 xxh … … … 3+r 程序退出状态#r xxh 6.23.4 否定回应消息格式如表80所示。 表80 ECU→诊断仪:[服务]-肯定回应 字节 内容 数值 0 否定回应服务标识符 7Fh 1 请求服务标识符 32h 2 回应代码 xxh

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高员外,我们会尽快处理。