大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是UDS的各种时间参数介绍,希望能对你有所帮助
一、应用层时间参数
在一开始做诊断的时候,看到这么多时间参数,真是头大,很多还长得很像,N_As,N_Bs, N_Cs等,这些到底代表啥含义呢?刚开始确实很头疼,我也是直接忽略,做其他任务开发,等基本功能都开发完了,后面发现升级的时候,出问题了,定位到和这些时间参数有问题,这才去研究这些参数的含义。接下来介绍一下这些参数。
a)P2 Client:诊断工具成功发送诊断报文请求之后,等待ECU回复诊断响应的时间间隔
b)P2* Client:诊断工具接收到 NRC 0x78 之后继续等待 ECU 响应的时间间隔
c)P2Server_max :ECU 在收到请求和给出响应之间的这个时间间隔,它描述了ECU 的反应速度,通常最大值为50ms
d)P2* Server_max:ECU 发送 NRC 0x78 之后继续发送 下帧诊断响应报文的时间间隔
e)P3 Client Phys:诊断工具成功发送 物理寻址诊断请求之后,且无需ECU 回复继续发送下次物理寻址诊断请求的最小时间间隔
f)P3 Client Func:诊断工具成功发送功能寻址之后再次发送功能寻址的最小时间间隔
示例图:
最后说一下P2Server_max和P2* Server_max,这两个在10服务中会体现出来
我们可以看到10服务正响应的格式为:
[SID +0X40] + [sub-function] + [sessionParameterRecord]
而sessionParameterRecord又为P2Server_max和P2* Server_max,官方规范ISO14229-1中有说明这两个的含义和取值范围,如下:
其中resolution是表示分辨率的意思
看个例子,P2Server_max:0x0032,转换为十进制就是50;分辨率为1ms,那P2* Server_max的值就是50ms;
P2* Server_max:0x01F4,转换为十进制就是500,分辨率为10ms,那么,P2* Server_max的值就是5000ms
二、会话层时间参数
这两个时间参数主要用在保持在某一个会话模式下,因为某些服务必须在特定的服务下才能执行,这个时候就要用到3E服务了,就会涉及到这两个参数
a)S3 Client:诊断工具为了保持非默认会话模式而发送 $3E 服务请求报文的时间间隔,最小值2000ms
b)S3 Server:有时也称为S3Timeout,表示ECU未接收到任意诊断报文时维持在非默认会话下的时间间隔
发送的示例图:
三、传输层时间参数
a)BS:Block Size,该参数与STmin一般同时出现。这两个参数主要用于诊断报文传输多帧(首帧FF,流控帧FC,连续帧CF)时会使用到;
表示接收方在发送流控帧之后,发送方被允许连续发送的最大流控帧数目。特殊情况下,如果该值为0,则表示发送连续帧没有限制,如果值为5,表示发送方最多能连续发送5帧CF就会继续收到接收方的流控帧;
b)STmin :在接收方发送流控帧之后,发送方发送的连续帧之间的最小时间间隔。如果值为0,表示对于发送方发送CF的最小时间没有要求。
多帧的传输过程:
发送报文的长度过长时,一帧发不完,就会用到多帧,BS与Stmin的大小可用来评估接收方的接收能力,如果都为0,表示接收方接收能力最强
四、网络层时间参数
a)N_As:发送方 任意帧类型 从请求发送到发送完成 (接收到对应的ACK) 的时间间隔
b)N_Ar:接收方 任意帧类型 从请求发送到发送完成 (接收到对应的ACK) 的时间间隔
c)N_Bs:发送方收到流控帧 的时间。分为3种情况,分别为:
发送端 从 发送完首帧(FF)到 收到流控帧(FC) 的时间;
发送端 从 发送完连续帧(CF)到 收到流控帧 (FC)的时间;
发送端从收到流控帧(FC)(状态为Wait)到 收到下一个流控帧(FC) 的时间
d)N_Br:接收方请求发送流控帧 的时间。分为3种情况,分别为:
接收端从收到首帧(FF)到 请求发送流控帧 (FC)的时间;
接收端从收到连续帧(CF)到 请求发送流控帧(FC) 的时间;
接收端从 发送完流控帧(FC)(状态为Wait) 到 请求发送下一个流控帧 (FC)的时间;
e)N_Cs:发送方请求发送连续帧(CF) 的时间。分为2种情况:
发送端从收到流控帧(FC)到 请求发送连续帧(CF)的时间;
发送端从 发送完连续帧(CF)到 请求发送下一帧连续帧(CF) 的时间
f)N_Cr:接收方收到下一个连续帧(CF) 的时间。分为2种情况:
接收端 从 发送完流控帧(FC)到 收到连续帧(CF) 的时间;
接收端从 收到连续帧(CF)到 收到下一帧连续帧(CF) 的时间
详细的过程如下:
下图圈出了N_Bs,N_Br的3种情况,N_Cs,N_Cr的2种情况
各个时间参数的描述和值的定义如下:
想更深入的学习请自行翻阅ISO15765-2
最后,如果觉得有帮助,希望你能一键三连(分享,点赞,在看),你们的认可是我持续输出的动力,感激不尽
欢迎大家骚扰,请备注“公众号”