诊断基础知识

诊断协议概述

概述

      • 引子
        • 任何故障的解决,通常来说,都离不开三大要素:一本指导说明书、一箱趁手工具、还有一群现实以及云师傅。随着汽车电子化进程的逐步发展,应用到车载端的电气部件出了问题,同样需要这三大要素来解决,这就是我们需要学习的:诊断规范、诊断工具、以及合格的诊断工程师。
      • 诊断通常能做什么?
        • 通常情况下,诊断用于功能监控、错误检测、记录/存储故障信息、读取数据等...此外还有EOL、再编程、节点验证等...。这一切功能实现的前提条件是完善的诊断规范。
      • 诊断规范
        • 诊断规范描述了一系列的诊断服务,定义ECU与诊断仪之间的请求响应规则、ECU对于请求报文的处理行为以及请求、响应报文的信息含义的解析。是ECU与诊断仪之间进行诊断通信必不可少的一部分。
        • 相关的诊断规范
          • ISO 14230、ISO 14229-1、ISO 15765等
      • OBD-On Board Diagnostics
      • 诊断框架与机制
        • 基于CAN网络实现诊断协议、诊断数据的传输,达到非车载诊断设备诊断故障的目的。

主要诊断协议

      • 基于K线

      • 基于CAN线

      • ISO 14230与ISO 15765比较

      • 现在基本上还在使用的是基于CAN的诊断协议

基本概念、术语

      • 客户端(Client):诊断请求的提出者,例如诊断仪发送诊断请求
      • 服务器端(Server):诊断响应的提供者
      • 诊断通信的流程:

      • 物理通信(1:1):采用物理寻址方式通信的场景,即客户端与服务器之间一对一的诊断通信方式
      • 功能通信(1:N):采用功能寻址方式通信的场景,即客户端向多个服务器发出同一功能的诊断请求的通信方式
      • 源地址SA:发送节点地址
      • 目标地址TA:接收节点地址
      • 诊断会话模式:默认会话/非默认会话(扩展会话、编程会话)

      • 安全状态:锁定模式、解锁模式

ISO15765体系结构

整体按照网络分层结构,各层级对应的标准有:

网络层(ISO 15765-2)
          • 功能
            • -将数据从发送方传递给接收方
            • -保证数据传输的可靠性
            • 多包数据的传输:打包/解包、同步/定时、流控制、错误处理
            • -应用层数据与CAN数据帧的转换

          • 数据传输规则
            • 单帧数据传输
              • 相关概念
                • SF(SingleFrame)单帧:只传输一帧的报文,叫做单帧
              • 传输格式
                • 第一个字节(单帧标志位-传输数据长度)-传输数据

            • 多帧数据传输
              • 相关概念
                • 传输的数据较多,单帧无法传输完成,需要分步传输
                • FF(First Frame)首帧:多帧数据传输的第一帧报文。格式包括首帧标识,数据总长度以及部分传输数据

                • FC(Flow Control)流控帧:用于表征后续数据传输的状态。格式包括流控帧标识,数据流状态,允许一次连续发送传输帧的数量,传输时间。

                • CF(Consecutive Frame)连续帧:用于连续传输数据。格式为连续帧标识、帧序号、传输数据。

              • 传输格式
                • 按照首帧-流控帧-连续帧的方式进行数据的传输,直到所有数据传输完成,首帧只发送一次。

          • 网络层定时
            • 相关概念

                • N_As 发送方CAN报文确认时间
                • N_Ar 接收方CAN报文确认超时
                • N_Bs FC超时
                • N_Br 网络层FC接收端发送等待时间
                • N_Cs STmin ,不小于传输CF的时间
                • N_Cr CF超时
            • 定时参数

          • 网络层与应用层 服务接口
            • 在OSI模型中的对应关系如下

            • 接口信息的对应关系如下,N_PCI用于控制单帧还是多包机制发送

              • N_PDU(network protocol data unit)    N_AI(address information)  N_PCI(network protocol control information)
          • 网络层与数据链路层服务接口
            • 在OSI模型中的对应关系如下

            • 接口信息的对应关系如下

          • 寻址模式(SF为例)
            • 将N_PDU映射到CAN数据帧的不同位置,构成了4种地址格式
              • 常规寻址-11位CANID
                • N_AI映射到CANID,但没有规定N_AI与CAN ID的具体映射关系

              • 常规固定寻址-29位CANID
                • 完整定义了N_AI如何映射到29位CAN ID
                  • 物理寻址

                  • 功能寻址

              • 扩展寻址-11位CANID
                • N_AI中的N_TA映射到CAN数据帧的第一个字节,N_AI的其它域映射到CAN ID

              • 混合寻址-11或29位CANID
                • 仅用于远程寻址

                  • 物理寻址

                  • 功能寻址

应用层
          • 应用层服务(ISO 14229-1)
          • 应用层协议基于CAN的实现(ISO 15765-3)
            • 通信/诊断管理功能

              • DiagnosticSessionControl (0x10)服务
                • 功能:用于使能服务器中不同的诊断会话,包括默认会话模式、编程模式、扩展模式,不同的模式具有不同的功能、不同的定时参数、受到不同的安全访问保护。
                  • 诊断会话模式状态转移图

                  • 不同会话允许的诊断服务

                • 请求报文:

                  • diagnosticSessionType子功能参数

                • 肯定响应:

                • 否定响应码
                  • 0x12: 不支持请求服务的子功能
                  • 0x13: 请求报文的数据长度(或者格式)不符合标准
                  • 0x22: 条件不满足
                • 消息流示例

              • SecurityAccess (0x27)服务
                • 安全访问过程本质

                • 请求报文
                  • requestSeed

                  • sendkey

                  • 子功能securityAccessType

                • 肯定响应

                • 支持的否定响应码

                • 消息流示例
                  • 请求种子

                  • 发送秘钥

              • CommunicationControl (0x28)服务
                • 功能:用于打开/关闭服务器对非诊断信息的发送/接收
                • 请求报文

                  • 子功能

                • 肯定响应

                • 支持的否定响应码

                • 消息流示例

              • TesterPresent (0x3E)服务
                • 功能:用于向服务器指示诊断仪仍然连接在网络上,先前激活的特定诊断服务和/或通信功能仍然保持激活状态。周期性进行发送
                • 请求报文

                • 肯定响应

                • 支持的否定响应码

                • 消息流示例

              • EcuReset (0x11)服务
                • 请求ECU执行复位
              • AccessTimingParameter (0x83)服务
                • 用于读取和修改通信链路的定时参数
              • SecuredDataTransmission (0x84)服务
                • 用于保护数据传输免遭第三方攻击
              • ControlDTCSetting (0x85) 服务
                • 用于停止或恢复诊断故障码的设置
              • ResponseOnEvent (0x86)服务
                • 用于启动或停止服务器中某个特定事件触发的响应
                • 客户端指定事件和事件发生时执行的服务,包括:

            • 数据传输功能
              • ReadDataByIdentifier (0x22) service

                • ReadDataByIdentifier (0x22)服务
                  • 数据标识符DID详见14229-1附录C定义,DID所表示参数的格式由制造商自行约定
                  • 请求报文

                  • 肯定响应

                • ReadMemoryByAddress (0x23) 服务
                  • 功能:客户端读取服务器中指定的内存数据,内存数据由请求报文中的起始内存地址和内存大小指定
                  • 请求报文

                  • 肯定响应

            • 传输存储的数据功能
              • DTC—Diagnostic Trouble Code
                • ISO14229-1/ISO15031- 6  DTCFomat

                  • DTC的状态( DTCStatus)Bit0为1表示DTC当前存在

                • J1939-73 DTCFormat

                • ISO15031- 6  DTCFomat

                  • 根据不同的系统故障码区分类别,DTCLowByte通常为失效类型

              • ClearDiagnosticInformation (0x14) 服务
                • groupOfDTC参数-描述所清除诊断信息所属的组

              • ReadDTCInformation (0x19)服务
                • 子功能

                  • 19 01reportNumberOfDTCByStatusMask子功能
                  • 请求报文

                  • 肯定响应

                  • 示例: 3个DTC,分别为P0805-11(statusOfDTC=0x24 )/P0A9B-17 (statusOfDTC=0x02 )/P2522-1F (statusOfDTC=0x2F ),DTCStatusAvailabilityMask=2F
                  • 消息流:只有故障P2522-1F的statusOfDTC& (DTCStatusMask &DTCStatusAvailabilityMask) 为非零,因此只有一个DTC

                  • 19 02reportDTCByStatusMask子功能
                  • 请求报文

                  • 肯定响应

            • 输入输出控制功能单元
              • InputOutputControlByIdentifier (0x2F)服务
                • 功能:用于替换服务器输入信号的值或内部功能、控制电子系统的某个输出(执行器)
                • 请求报文

                • 响应报文

                • 支持的否定响应码

            • 例程控制功能单元
              • RoutineControl (0x31) 服务
                • 功能:用于远程请求启动、停止某个例程或请求例程的执行结果
                • 请求报文

                  • 子功能

                • 肯定响应

                • 支持的否定响应码

            • 上传下载功能单元
              • 传输过程

              • RequestDownload (0x34)服务
                • 功能:初始化数据传输。ECU接收到请求后,完成所有下载前准备工作后,发送肯定响应
                • 请求报文

                • 肯定响应

排放相关诊断内容
          • 依据OBD, ISO15765-4对ISO15765-2和ISO11898进行了限定
          • 诊断服务: ISO15031-5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值