UDS协议(史上最全)

本文深入解析UDS(统一诊断服务)协议,涵盖ISO 15765-3和ISO 14229-1的内容,包括应用层时间参数、会话层时间参数、诊断服务如DiagnosticSessionControl、SecurityAccess、CommunicationControl等,以及各种服务的响应码和功能描述。
  • 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(待机握手)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值