在阅读客户释放的诊断问卷调查表时,基本有一页会介绍许多与时间相关的参数,这些参数对于确保通信的有效性和可靠性至关重要。
这些时间参数来源于哪里?并且分别是什么含义呢?本篇博文将详细为你讲解。
UDS诊断时间参数来源于行业标准的协议文档:ISO15765和ISO14229,除非客户自定义修改,否则基本是协议文档上默认的数值。
1、应用层时间参数
P2 Client:诊断工具成功发送诊断报文请求之后,等待ECU回复诊断响应的时间间隔。
P2* Client:诊断工具接收到 NRC 0x78 之后继续等待 ECU 响应的时间间隔。
P2Server_max :ECU 在收到请求和给出响应之间的这个时间间隔,它描述了ECU 的反应速度,通常最大值为50ms。
P2* Server_max:ECU 发送 NRC 0x78 之后继续发送 下帧诊断响应报文的时间间隔。
P3 Client Phys:诊断工具成功发送 物理寻址诊断请求之后,且无需ECU 回复继续发送下次物理寻址诊断请求的最小时间间隔。
P3 Client Func:诊断工具成功发送功能寻址之后再次发送功能寻址的最小时间间隔。
2、会话层时间参数
S3 Client:诊断工具为了保持非默认会话模式而发送 $3E 服务请求报文的时间间隔,最小值2000ms。
S3 Server:有时也称为S3Timeout,表示ECU未接收到任意诊断报文时维持在非默认会话下的时间间隔。
3、传输层时间参数
BS:Block Size,该参数与STmin一般同时出现。这两个参数主要用于诊断报文传输多帧(首帧FF,流控帧FC,连续帧CF)时会使用到。
表示接收方在发送流控帧之后,发送方被允许连续发送的最大流控帧数目。特殊情况下,如果该值为0,则表示发送连续帧没有限制,如果值为5,表示发送方最多能连续发送5帧CF就会继续收到接收方的流控帧。
STmin :在接收方发送流控帧之后,发送方发送的连续帧之间的最小时间间隔。如果值为0,表示对于发送方发送CF的最小时间没有要求。
发送报文的长度过长时,一帧发不完,就会用到多帧,BS与Stmin的大小可用来评估接收方的接收能力,如果都为0,表示接收方接收能力最强。
4、网络层时间参数
N_As:发送方 任意帧类型 从请求发送到发送完成 (接收到对应的ACK) 的时间间隔。
N_Ar:接收方 任意帧类型 从请求发送到发送完成 (接收到对应的ACK) 的时间间隔。
N_Bs:发送方收到流控帧 的时间。分为3种情况,分别为:
- 发送端 从 发送完首帧(FF)到 收到流控帧(FC) 的时间。
- 发送端 从 发送完连续帧(CF)到 收到流控帧 (FC)的时间。
- 发送端从收到流控帧(FC)(状态为Wait)到 收到下一个流控帧(FC) 的时间。
N_Br:接收方请求发送流控帧 的时间。分为3种情况,分别为:
- 接收端从收到首帧(FF)到 请求发送流控帧 (FC)的时间。
- 接收端从收到连续帧(CF)到 请求发送流控帧(FC) 的时间。
- 接收端从 发送完流控帧(FC)(状态为Wait) 到 请求发送下一个流控帧 (FC)的时间。
N_Cs:发送方请求发送连续帧(CF) 的时间。分为2种情况:
- 发送端从收到流控帧(FC)到 请求发送连续帧(CF)的时间。
- 发送端从 发送完连续帧(CF)到 请求发送下一帧连续帧(CF) 的时间。
N_Cr:接收方收到下一个连续帧(CF) 的时间。分为2种情况:
- 接收端 从 发送完流控帧(FC)到 收到连续帧(CF) 的时间。
- 接收端从 收到连续帧(CF)到 收到下一帧连续帧(CF) 的时间。