【车载开发系列】UDS诊断---读取周期标识符($0x2A)

【车载开发系列】UDS诊断—读取周期标识符($0x2A)

一.概念定义

  1. 此服务允许诊断工具请求ECU中由一个或多个周期数据标识符(periodicDataIdentifier)标识的周期发送的数据记录值。该服务并非高频使用服务。
  2. 在初始响应报文之后,有两种方式来发送周期数据响应报文给诊断工具。
  3. 该服务没有 sub-function 参数,周期读取数据服务可以命令ECU周期性返回某个数据。
  4. 该服务的DID都位于0xF200-0xF2FF范围内,所以该服务的请求报文中不包含DID完整的两字节,而是只包含低字节,省略了高字节0xF2.
  5. 随着时间流逝,指定的DID的值也会随之改变的场合,可以使用2A来周期性读取,以观察在一段时间和周期内DID的变化情况。

二.报文格式

1)请求报文

在这里插入图片描述

  1. PeriodicDataIdentifier第一个周期数据标识符在请求报文中强制使用。如果传输模式为 stopSending,可以为了终止所有调度中的周期数据标识符,不使用周期数据标识符,诊断工具也可以明确的定义一个或多个要终止的周期数据标识符。
  2. 传输模式的参数(transmissionMode)定义见下表
  3. 由周期数据标识符组成的数据标识符需被
    “通过数据标识符读数据服务(22h 服务)”支持。
  4. 为了避免多帧传输,每个周期数据标识符代表参数的最大数据长度为5字节,即保证整个肯定响应报文长度不会超过一个 CAN 帧所能容纳的长度。
Hex(bit6~0)描述Description说明
01低速率发送sendAtSlowRate在低速下发送要求的数据记录信息来响应请求报文
02中速率发送sendAtMediumRate在中速下发送要求的数据记录信息来响应请求报文
03高速率发送sendAtFastRate在高速下发送要求的数据记录信息来响应请求报文
04终止发送stopSendingECU终止发送周期性/重复性的肯定响应报文

2)初始响应

  1. 在收到除stopSending以外的 ReadDataByPeriodicIdentifier 请求时,服务器应检查条件是否正确以执行服务。
  2. 如果条件正确,则服务器应发送肯定的响应消息,仅包括服务标识符。一旦服务器通过肯定的响应接受了初始请求消息,服务器将永远不会发送否定的响应消息。
    在这里插入图片描述

3)后续肯定响应

  1. 对于请求报文中每个支持的周期数据标识符,ECU需单独发送响应报文。
  2. 周期数据标识符为1字节数据, 其是F200h~F2FFh 数据标识的低字节,此范围是特地预留给该服务的。例如:如果周期数据标识符为E3h,则实际的数据标识符为F2E3h。
  3. 不允许出现重复相同的周期标识符,如果诊断工具违背了这一规则,ECU应该只接收其中的一个。
  4. dataRecord的格式和定义应特定于车辆制造商,并且如果服务器支持,则可以包括模拟输入和输出信号,数字输入和输出信号,内部数据和系统状态信息。
  5. 在获取到肯定响应消息(initial positive response)之后,对于包含相关dataRecord参数的每个periodicDataIdentifier,服务器应访问其指定的记录数据元素,并在单独的服务肯定响应消息中传输其值。

在这里插入图片描述
6. ISO14229中定义了两种类型的周期性数据响应消息,方便在初始肯定响应消息之后将 periodicDataIdentifier 数据传输到客户端。
7. 类型1:包括服务标识,periodicDataIdentifier的回显和periodicDataIdentifier的数据;
8. 类型2:包括 periodicDataIdentifier 和 periodicDataIdentifier的数据。

4)否定响应

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
通过标识符读取数据服务是汽车UDS诊断协议中的一种功能,通过该功能可以从汽车的电子控制单元(ECU)中读取特定的数据。其中,标识符0x22表示读取数据服务。 该命令的结构是由一个请求帧和一个响应帧组成。请求帧中包含了要读取数据的标识符和数据记录编号等信息。响应帧中则包含了请求的数据。 在进行标识符读取数据服务时,首先需要确定要读取的数据的标识符标识符是通过制定的标准或者车辆制造商定义的,用于唯一标识某个特定的数据。例如,可以通过标识符读取车速、发动机转速等信息。 一旦确定了要读取的数据的标识符,就可以构建请求帧发送给对应的ECU。ECU接收到请求后,会根据标识符来查找对应的数据,并将其封装在响应帧中返回给诊断设备。 标识符读取数据服务的深度剖析需要了解不同的车辆制造商和标准对于标识符和其对应数据的定义。在实际使用中,需要根据特定的车辆型号和诊断设备的要求来选择合适的标识符。此外,不同的ECU可能支持不同的标识符和数据,因此在使用过程中需要根据实际情况进行选择。 总之,通过标识符读取数据服务是汽车UDS诊断中的一个重要功能,它能够帮助用户获取车辆的各种数据信息,提供诊断和故障排除的参考依据。在实际应用中,需要根据具体情况选择合适的标识符读取所需的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值