汽车UDS诊断详解及Vector相关工具链使用说明——2.2.6 周期读取DID数据(0x2A)

1. 概述

周期读取数据服务可以命令ECU周期性返回某个数据。

该服务的DID都位于0xF200-0xF2FF范围内,所以该服务的请求报文中不包含DID完整的两字节,而是只包含低字节,省略了高字节0xF2.

ECU发送数据的周期长短有三种模式:SlowRate,MediumRate,FastRate,每种模式发送数据具体的周期时间由用户自定义,ECU用哪种周期模式发送由指令中的transmissionMode参数控制。在同一时段内,一个DID只能处于某一种周期模式;不同DID是否支持不同的周期模式由用户自定义。

诊断仪发送诊断请求后,如果ECU内部条件满足,则会返回一条只带有服务ID的肯定响应,之后周期性返回DID+数据,不再带有服务ID。ECU一旦发送了肯定响应,就不应再发送否定响应。

当ECU中只有一个DID数据待调度的时候,发送周期就是指两条带有数据的响应之间的间隔时间。但对于ECU中有多个DID的数据待调度发送的时候,同一DID数据之间的间隔时间取决于以下三个因素:

① 周期性任务的调起周期;
② 任务每次调起时能发送的同一地址的诊断响应数量(例如相同ID的CAN报文的数量);
③ ECU支持的能够并行的DID的最大数量。

举个例子:任务的调起周期是10ms,每次任务调起只能发送一条同一ID的CAN报文,定义数据发送周期fastRate模式的周期是10ms,那么当诊断仪请求一个DID时,ECU应10ms发送一条该DID的数据;当诊断仪请求两个DID时,两个DID应在任务调起时

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

olddddd

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

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

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

打赏作者

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

抵扣说明:

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

余额充值