UDS协议:最全的历史沉淀

  • UDS协议
  • UDS应用层协议解读(上)
  • ISO 15765-3主要包含以下内容
  • 应用层时间参数
  • P2CAN_Client
  • P2*CAN_Client
  • P2CAN_Server
  • P2*CAN_Server
  • P3CAN_Client_Phys
  • P3CAN_Client_Func
  • 会话层时间参数
  • S3Client
  • 当ECU处于非默认会话模式时,test端会周期性地向ECU端发送诊断设备在线的请求,使ECU端保持在非默认会话模式下,不至于S3Server timeout的发生
  • S3Server
  • 会话模式
  • 默认会话模式
  • 非默认会话模式
  • ISO 14229-1主要包含以下内容
  • 服务响应码实装规则
  • ECU响应码实装规则
  • 物理寻址带sub-function的请求
  • 物理寻址不带sub-function的请求
  • 功能寻址带sub-function的请求
  • 功能寻址不带sub-function的请求
  • 子功能参数结构
  • 诊断服务
  • DTC状态
  • ISO 14229-1
  • 概述
  • 定义诊断系统的通用需求
  • 与数据链路无关的诊断服务
  • 应用层接口服务
  • 应用层服务概述
  • 服务原语
  • 请求request
  • 请求_确认req_confirm
  • 指示indication
  • 响应response
  • 响应_确认rsp_confirm
  • 确认confirm
  • 有确认服务
  • 无确认服务
  • 应用层接口服务
  • 车辆系统需求
  • 客户(Tester)和服务器(ECU)统一编址
  • 每一个Tester和ECU的地址是唯一的
  • RA(远程地址)独立分配
  • 应用层协议
  • A_SDU——应用层服务数据单元
  • A_PDU——应用层协议数据单元
  • 请求A_PDU
  • 子功能参数$Level(LEV_)的定义
  • 1字节数据
  • Bit7——禁止肯定响应指示位
  • Bit6-0——子功能参数值(0x00~0x7F)
  • 否定A_PDU
  • 否定响应码NRC_
  • SNS——服务器不支持客户端请求的诊断服务
  • SFNS——服务器不支持客户端请求服务的子功能
  • IMLOIF——请求报文的数据长度(或者格式)不符合标准
  • ROOR——请求超出范围
  • RCRRP
  • 服务器正忙,暂时无法处理客户端发出的请求
  • A_PCI——应用层协议控制信息
  • 两种不同的格式(由服务原语和Result参数决定)
  • A_PCI(SI)
  • A_PCI(NR_SI,SI)
  • 服务标识符SI
  • 请求服务标识符SI
  • 肯定响应服务标识符SI
  • 否定响应服务标识符SI
  • A_PUD=A_PCI+A_SDU
  • 服务响应的执行规则
  • 对带子功能参数的请求消息的响应
  • 对物理寻址的客户端请求消息的
  • 对功能寻址的客户端请求消息
  • 对不带子功能参数的请求消息的响应
  • 对物理寻址的客户端请求消息
  • 对功能寻址的客户端请求消息
  • 各功能单元诊断服务
  • 诊断和通信管理功能单元
  • 诊断和通信管理
  • DiagnosticSessionControl (0x10)服务
  • 用于使能服务器中不同的诊断会话
  • 诊断会话
  • 默认会话模式
  • 非默认会话模式
  • 编程模式
  • 扩展模式
  • 不同的诊断会话具有
  • 不同的功能
  • 不同的定时参数
  • 受到不同的安全访问保护
  • 请求报文
  • 肯定响应
  • 诊断会话模式的状态转移图
  • DiagnosticSessionControl (10hex)服务
  • diagnosticSession Type子功能参数
  • 不同会话所允许的诊断服务
  • 支持的否定响应码
  • 0x12
  • 不支持请求服务的子功能
  • 0x13
  • 请求报文的数据长度(或者格式)不符合标准
  • 0x22
  • 条件不满足
  • SecurityAccess(0x27)服务
  • 安全访问过程的本质
  • 提供保护机制
  • 请求——requestSeed和sendKey子功能
  • 子功能securityAccess Type
  • 肯定响应
  • 支持的否定响应码
  • 0x12
  • 不支持请求服务的子功能
  • 0x13
  • 请求报文的数据长度(或者格式)不符合标准
  • 0x22
  • 条件不满足
  • 0x24
  • 请求顺序错误
  • 0x31
  • 请求超出范围
  • 0x35
  • 无效密钥
  • 0x36
  • 尝试次数超限
  • 0x37
  • 延迟时间未到
  • CommunicationControl(0x28)服务
  • 用于打开/关闭服务器对非诊断消息的发送和/或接收
  • 请求
  • 子功能controlType
  • 肯定响应
  • 支持的否定响应码
  • 0x12
  • 不支持请求服务的子功能
  • 0x13
  • 请求报文的数据长度(或者格式)不符合标准
  • 0x22
  • 条件不满足
  • 0x31
  • 请求超出范围
  • TesterPresent(0x3E服务)
  • 用于向服务器指示诊断仪仍然连接在网络上,先前激活的特定诊断服务和/或通信功能仍然保持激活状态
  • 周期性发送
  • 请求
  • 肯定响应
  • 支持的否定响应码
  • 0x12
  • 不支持请求服务的子功能
  • 0x13
  • 请求报文的数据长度(或格式)不符合标准
  • LinkControl(0x87)服务
  • 请求
  • 子功能linkControlType
  • 肯定响应
  • 支持的否定响应码
  • 0x12
  • 不支持请求服务的子功能
  • 0x13
  • 请求报文的数据长度(或者格式)不符合标准
  • 0x22
  • 条件不满足
  • 0x24
  • 请求顺序错误
  • 0x31
  • 请求超出范围
  • 其他服务介绍
  • 数据传输功能单元
  • ReadDataByldentifier(0x22)服务
  • 客户端请求读取由数据标识符识别的某个记录的当前值
  • ReadMemoryByAddress(0x23)服务
  • 客户端请求读取指定存储器范围数据的当前值
  • ReadScalingDataByIdentifier(0x24)服务
  • 客户端请求读取由数据标识符识别的某个记录的定标信息
  • ReadDataByPeriodicldentifier(0x2A)服务
  • 客户端请求周期性传输服务器中的数据
  • DynamicallyDefineDataIdentifier(0x2c)服务
  • 客户端请求动态定义由ReadDataByldentifier服务读取的数据标识符
  • 通过现有的DID或存储器地址定义新的DID
  • 功能强大
  • 实现复杂
  • WriteDataByIdentifier(0x2E)服务
  • 客户端请求写入由数据标识符指定的某个记录
  • WriteMemoryByAddress(x3D)服务
  • 客户端请求将数据写入到指定存储器范围内
  • 传输储存的数据功能单元
  • ReadDTCInformation(0x19)服务
  • ClearDiagnosticInformation(0x14)服务
  • 输入输出控制功能单元
  • InputOutputControlByldentifier(0x2F)服务
  • 用于替换服务器输入信号的值或内部功能
  • 控制电子系统的某个输出(执行器)
  • 远程激活例程功能单元
  • RoutineControl(0x31)服务
  • 用于远程请求启动、停止某个例程或请求例程的执行结果
  • 上传下载功能单元
  • RequestDownload(0x34)服务
  • RequestUpload(0x35)服务
  • TransferData(0x36)服务
  • RequestTransferExit(0x37)服务
  • UDS诊断入门
  • 肯定响应[SID+0x40]
  • 否定响应7F+SID+NRC
  • 7种重要的服务
  • $10Diagnostic Session Control(诊断会话)
  • $14 Clear Diagnostic Information(清除诊断信息)
  • $19 Read DTC Information
  • $22 Read Data By Identifier(通过ID读数据)
  • $27 Security Access(安全访问)
  • $2EWrite Data By Identifier(通过ID写数据)
  • $3E Tester Present(待机握手)
  • 物联沃分享整理
    物联沃-IOTWORD物联网 » UDS协议:最全的历史沉淀

    发表评论