UDS时间参数学习(应用层+网络层+会话层+传输层)

目录

一、应用层时间参数

[1.1 定义](#1.1 定义)

[1.2 与0x10服务的联系](#1.2 与0x10服务的联系)

二、会话层时间参数

[2.1 定义](#2.1 定义)

[2.2 应用](#2.2 应用)

三、传输层时间参数

[3.1 定义](#3.1 定义)

四、网络层时间参数

[4.1 定义](#4.1 定义)


一、应用层时间参数

1.1 定义

|------------------|------------------------------------------------|---------|------------------|--------|
| 时间参数 | 含义 | Min | Max/Time out | 单位 |
| P2 Client | 诊断工具成功发送诊断报文请求之后,等待ECU回复诊断响应的时间间隔。 | - | 150 | ms |
| P2 Server | ECU接收到诊断请求之后到开始发送诊断报文的时间间隔。 | 0 | 50 | ms |
| P2* Client | 诊断工具接收到NRC 0x78后继续等待ECU响应的时间间隔 | - | 5100 | ms |
| P2* Server | ECU发送NRC 0x78之后继续发送下帧诊断响应报文的时间间隔 | 0 | 5000 | ms |
| P3 Client (Phys) | 诊断工具成功发送物理寻址诊断请求之后,且无需ECU回复继续发送下次物理寻址诊断请求的时间间隔 | 50 | - | ms |
| P3 Client (Func) | 诊断工具成功发送功能寻址诊断请求之后,且无需ECU回复继续发送下次功能寻址诊断请求的时间间隔 | 50 | - | ms |

注意:诊断时间参数来源于行业标准的协议文档:ISO15765-2和ISO14229-1/2/3,除非客户自定义修改,否则基本是协议文档上默认的数值。

诊断工具与ECU之间的诊断定时关系如下图:

1.2 与0x10服务的联系

P2 Server与P2* Server,这两个参数在0x10服务中得以体现,格式如下:

SID+0x40\] + \[sub-function\] + \[sessionParameterRecord

这里的[sessionParameterRecord]具体展开依据规范ISO 14229-1中如下表,其中要注意分辨率:

具体参考以前的文章------《汽车诊断服务(UDS------0x10服务解析)》,里面有示例,更清晰,链接如下:https://blog.csdn.net/qq_54112829/article/details/150573211?fromshare=blogdetail&sharetype=blogdetail&sharerId=150573211&sharerefer=PC&sharesource=qq_54112829&sharefrom=from_linkhttps://blog.csdn.net/qq_54112829/article/details/150573211?fromshare=blogdetail&sharetype=blogdetail&sharerId=150573211&sharerefer=PC&sharesource=qq_54112829&sharefrom=from_link

二、会话层时间参数

2.1 定义

|-----------|--------------------------------------------------------------------------------------|---------|------------------|--------|
| 时间参数 | 含义 | Min | Max/Time out | 单位 |
| S3 Client | 诊断工具为了保持非默认会话而发送0x3E服务请求报文的时间间隔 | 0 | 4000 | ms |
| S3 Server | 没有接到任何诊断报文(不一定是3E服务,可以是其他服务请求报文)时保持在非默认会话模式的时间,如果ECU没有接收到任何诊断报文,则退出非默认会话模式,进入默认会话模式。 | - | 5000 | ms |

2.2 应用

这两个时间参数主要用在保持在某一个会话模式下,因为某些服务必须在特定的会话模式下才能执行,此时应用到3E服务。

诊断工具与ECU之间的诊断定时关系如下:

三、传输层时间参数

3.1 定义

|------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| 时间参数 | 含义 | 备注 |
| Block Size | 简称"BS",表示接收方在发送流控帧之后,发送方被允许连续发送的最大帧数目。该参数与STmin一般同时出现。两参数主要用于诊断报文传输多帧(首帧FF,流控帧FC,连续帧CF)时会使用到。 | * 设置为0时,表示发送连续帧没有限制; * 设置为8,表示发送方最多能连续发送8帧CF就会继续收到接收方的FC。 |
| STmin | 接收方发送流控帧之后,发送方发送的连续帧之间的时间最小间隔。 | * 设置为0,表示对于发送方发送CF的最小时间没有要求。 |

注意:BS与Stmin的大小可用来评估接收方的接收能力,如果都为0,表示接收方接收能力最强。

四、网络层时间参数

4.1 定义

注:网络层用的协议是CAN协议,规范是ISO 15762-2

|----------------|-----------------------------------------------------------------------------------------------------------------------------------|---------|
| 时间参数 | 含义 | 控制方 |
| N_As | 发送方任意帧类型从请求发送到发送完成的时间间隔。 | 发送方 |
| N_Ar | 接收方任意帧类型从请求发送到发送完成的时间间隔。 | 接收方 |
| N_Bs | 发送方收到流控帧(FC)的时间,分3种情况: * 发送方从发送完首帧(FF)到收到流控帧(FC)的时间; * 发送方从发送完连续帧(CF)到请求发送流控帧(FC)的时间; * 发送方从收到流控帧(FC)(状态为Wait)到请求发送下一个流控帧(FC)的时间。 | 发送方 |
| N_Br | 接收方请求发送流控帧的时间,分3种情况: * 接收方从收到首帧(FF)到请求发送流控帧(FC)的时间; * 接收方从收到连续帧(CF)到请求发送流控帧(FC)的时间; * 接收方从发送完流控帧(FC)(状态为Wait)到请求发送 下一个流控帧(FC)的时间。 | 接收方 |
| N_Cs(相当于STmin) | 发送方请求发送连续帧(CF)的时间,分2种情况: * 发送方从收到流控帧(FC)到请求发送连续帧(CF) 的时间 * 发送方从发送完连续帧(CF)到请求发下一帧连续帧的时间。 | 发送方 |
| N_Cr | 接收方收到下一个连续帧(CF)的时间,分2种情况: * 接收方从发送完流控帧(FC)到收到连续帧(CF)的时间; * 接收方从收到连续帧(CF)到收到下一帧连续帧(CF)的时间。 | 接收方 |

相关推荐
csdn_aspnet8 小时前
C 语言的优雅回归:从零手造数据结构
c语言·数据结构
浅念-9 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
想放学的刺客10 小时前
单片机嵌入式嵌入式试题(第16期):硬件可靠性设计与复杂状态机架构设计
c语言·stm32·单片机·嵌入式硬件·物联网
巨大八爪鱼11 小时前
C语言纯软件计算任意多项式CRC7、CRC8、CRC16和CRC32的代码
c语言·开发语言·stm32·crc
浅念-11 小时前
链表经典面试题目
c语言·数据结构·经验分享·笔记·学习·算法
北京耐用通信11 小时前
耐达讯自动化Profibus总线光纤中继器在轨道交通信号系统中的应用
网络·科技·物联网·自动化·信息与通信
方便面不加香菜13 小时前
数据结构--栈和队列
c语言·数据结构
切糕师学AI14 小时前
ARM 中的 SVC 监管调用(Supervisor Call)
linux·c语言·汇编·arm开发
移幻漂流14 小时前
C/C++并发编程详解:如何写出优秀的并发程序
c语言·开发语言·c++
Jia shuheng15 小时前
#ifdef __cplusplus extern “C“ #endif的作用
c语言·嵌入式硬件