首页
学习
活动
专区
圈层
工具
发布

UDS的一些注意事项

以下文章来源于汽车ECU开发,作者moco

在做车载诊断开发时,关于UDS总有些注意事项,下面来简单列举一下个人认为的一些点。

1.功能寻址不传输NRC0x11,0x12,0x31,0x7E,0x7F,如下图标黄处为14229中的原文。

2. UDS功能寻址仅支持单帧通信,15765-2中第五章节的原文图下。

3.时间参数P2Server, P2*Server, S3解析。

P2Server 的意思为当 Server 端收到诊断请求后,需要在 P2Server 时间内给出响应。超时没有响应会报Timeout。

P2*Server 表示 ECU 收到诊断请求后,当前正在协议栈状态为BUSY,暂时没有资源来处理新的诊断请求。这时候ECU 会发送 NRC78 负响应,表示该响应被挂起,同时激活另一个时间计数器P2*Server。

S3:表示保持当前会话模式的最长时间。表示当 ECU 处于非默认会话模式时,如果在S3 时间内没有收到任何诊断请求,会强制将会话模式切换回默认会话模式

对于P2和P2 Server来说,在autosar中有个Adjust的概念,也就是时间参数DcmTimStrP2ServerAdjust、DcmTimStrP2StarServerAdjust。

其含义为当ECU 接受到请求并处理后,给 Tester 返回响应,但从 DCM 模块给出响应,到响应报文真正传输到真实的总线上时, 是需要一定的软件处理时间的,那么就会有一定的误差。

TimStrP2ServerAdjust:表示由DCM发起传输到消息实际传输到总线的通信延迟时间,配置后实际的P2Time就是P2Time-TimStrP2ServerAdjust。

TimStrP2StarServerAdjust:表示由 DCM发起传输到消息实际传输到总线的通信延迟时间, 配置后实际的 P2*Time就是P2*Time -TimStrP2ServerAdjust。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OPbP6E7XTQzlZ0uzMM4kJCQg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券