zoukankan      html  css  js  c++  java
  • 统一诊断服务 (Unified diagnostic services , UDS) (四)

    转载来自:https://zhuanlan.zhihu.com/p/33995635 张丁

    还有个公众号汽车诊断

    这篇文章介绍一下UDS的第二类诊断服务,即Data Transmission (数据传输)。这类诊断服务包括以下SID:

    ReadDataByIdentifier (0x22)

    ReadMemoryByAddress (0x23)

    ReadScalingDataByIdentifier (0x24)

    ReadDataByPeriodicIdentifier (0x2A)

    DynamicallyDefineDataIdentifier (0x2C)

    WriteDataByIdentifier (0x2E)

    WriteMemoryByAddress (0x3D)

     

    通常,0x22和0x2E成对使用0x23和0x3D成对使用这几个服务用于诊断数据的基本读写操作。0x24,0x2A,0x2C是一些特殊操作。

    0x22和0x2E这两个服务是对以标识符(identifier)标记的数据的操作前者是读,后者是写

    UDS规定,诊断数据使用两个byte的标识符来标记,比如,0xF187用来标记ECU的零件号,0xF19E用于标记该ECU所使用的诊断文件的名字,UDS还规定了厂家可以自定义的标识符范围。这两个服务的用法很简单,下面我以读取ECU的零件号为例说明:

    22 F1 87 (读取零件号)

    62 F1 87 XX YY ZZ KK MM NN(给出零件号)

    具体每次可以使用22服务读取几个ID,每个ID的读写权限(比如在哪些session中可以读写,是否需要安全访问操作等),由厂家自定义。假设零件号这个ID是可以写入的话,则写零件号的诊断命令是:

    2E F1 87 XX YY ZZ KK MM NN(写入零件号)

    6E F1 87(给出positive response)

     

    0x23和0x3D这两个服务是对以地址信息(memoryAddress )标记的数据的操作,

    前者是读,后者是写。这个命令的格式稍微复杂一点。以0x23为例,它的诊断请求格式是:

                                    0x23服务的请求格式0x23

    第一部分固定为1个byte, 0x23;

    第二部分是格式信息,长度为1个byte,高4 bits用于指示memorySize的长度(字节数),低4 bits用于指示memoryAddress的长度(字节数)。

    比如,如果这个值为0x46,则后面的memorySize为6个byte,memoryAddress为4个byte。

    第三部分是memoryAddress信息,它的长度由第二部分的AddressAndLengthFormatIdentifier指示。

    第四部分是memorySize信息,它的长度由第二部分的AddressAndLengthFormatIdentifier指示。

    如果这条命令的格式是 23 22 xx yy aa bb,则它的含义就是,读取xx yy地址的长度为aa bb的数据。

     

    了解了0x23的用法,0x3D的用法就很好理解了,它标识memoryAddress和memorySize的方法与0x23相同,只是在诊断命令最后再加上一段需要写入的数据。

     

    0x24,0x2A,0x2C这几个特殊操作,使用场景不多,我组织组织语言,在下篇文章里简要介绍一下。

  • 相关阅读:
    1144 The Missing Number (20分)
    1145 Hashing
    1146 Topological Order (25分)
    1147 Heaps (30分)
    1148 Werewolf
    1149 Dangerous Goods Packaging (25分)
    TypeReference
    Supervisor安装与配置()二
    谷粒商城ES调用(十九)
    Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  • 原文地址:https://www.cnblogs.com/Galesaur-wcy/p/13225078.html
Copyright © 2011-2022 走看看