汽车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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老孟的孟不是很老的孟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值