• [UDS] --- ReadDataByIdentifier 0x22


    1 0x22功能描述

    根据ISO14119-1标准中所述,诊断服务22主要用于Client向Server(ECU)通过DID的方式读取相关的数据。这些数据可以输入输出的数字信号,模拟信号,内部数据以及其他的系统状态信息。

    2 0x22 应用场景

    一般而言,对于22诊断服务,主要应用场景为以下场合:

    读取当前ECU的序列号,版本号等;
    标定成功后读取内部标定结果等;
    读取当前ECU所处在的Session,内部状态,Snapshot Data等;
    其他需要读取内部相关参数的场合;
    上述这些应用场景较为常见,除此以外,当然还有很多面向ECU内部测试的应用场合,这里就不一一列举。

    3 0x22服务请求

    服务请求是Client发送给到Server的诊断服务指令。其中Client可以理解为Tester,Server可以理解为ECU节点。

    3.1 请求格式

    按照ISO14229-1标准所述,如下图1所示:
    在这里插入图片描述
    DID占2字节,取值范围为0x00-0xFF,根据ISO14229-1规范,定义了诸多只能用于特定场合的DID,也就意味着大家都不能随意乱用DID,在使用DID Number应充分考虑到14229的要求,防止出现跟客户扯皮的现象。

    如下图所示简要列举了较为常见的DID种类及其含义:
    在这里插入图片描述

    4 请求和响应

    4.1 Single DID Format请求与正响应

    以读取单个DID F1 90 (VIN码)为例,其对应的诊断请求实例如下图所示:
    在这里插入图片描述
    特别需要注意的是22诊断并不存在Subfunction。

    单DID(F1 90)请求示例所对应的正响应:
    在这里插入图片描述

    4.2 Multiple DID Format请求与正响应

    既然存在单个DID读取,自然也就存在Multiple DID读取数据的操作,如下图5所示为同时读取多个DID(01 0A + 01 10)的22诊断服务请求实例:
    在这里插入图片描述
    当然多DID读取时表示的是超过一个DID以上的22诊断读取请求,因为个数不受限制。

    谈到22服务的多DID读取,这边也可以拓展下Composite DID的使用,即通过读取一个DID便可以将map至该DID的多个DID一并读取出来,这样做的好处就是可以通过某一DID一次性获取其余已存在的DID的值,其软件实现也完全可通过配置来实现。

    多DID(01 0A + 01 10)请求示例所对应的正响应:
    在这里插入图片描述
    在这里插入图片描述

    4.3 0x22负响应

    负响应的诊断格式:7F +SID + NRC。对于0x22支持的负响应如下表:
    在这里插入图片描述

    • 例如当尝试读取F190的DID值且当前车速条件不满足,此时Client发送诊断指令"22 F1 90"请求Server读取数据,Server将会回复“7F 22 22”来告诉请求者当前读取数据的条件不满足,请再次检查读取该DID的条件。
    • 当发送报文长度或者格式不对时,则Server会回复"7F 22 13";
    • 当诊断请求的DID太多导致超出了传输层的限定时,则Server会回复”7F 22 14“;
    • 当诊断请求DID不存在或者在当前Session中不支持时,则Server就会回复“7F 22 31”;
    • 当Server在发生复位前处于security lock状态,那么此时Server则会回复"7F 22 33";
  • 相关阅读:
    ThingsBoard IoT Gateway 实战(三)- 使用 MQTT Connector 转接灯
    第13章_瑞萨MCU零基础入门系列教程之Common SPI
    将 LevelDB 系统放置在内存(全内存架构)
    ubuntu配置java环境jdk
    CH59x 系统16位PWM使用
    我为什么拒绝了一个5年测开经验的候选人
    Go语言入门记录:从channel的池应用、sync的Pool、benchmark、反射reflect、json处理、http、性能分析和一些编程习惯
    URL请求参数乱码问题解决
    springboot大学生就业招聘网站java ssm
    docker-compose搭建MongoDB
  • 原文地址:https://blog.csdn.net/weixin_42445727/article/details/134071203