【车载开发系列】UDS诊断时间参数说明

2024-04-29 05:20

本文主要是介绍【车载开发系列】UDS诊断时间参数说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【车载开发系列】UDS诊断时间参数说明

一. 应用层诊断时间参数

1)P2 CAN_Client

诊断仪成功发送诊断报文请求之后到收到 ECU回复诊断响应的超时时间间隔

2)P2 CAN_Server

ECU 接收到诊断请求之后到开始发送诊断报文的时间间隔,一般默认最大值设定为50ms。

3)P2* CAN_Client

诊断工具接收到NRC0x78之后继续等待 ECU 响应的时间间隔

4)P2* CAN_Server

ECU 发送 NRC 0x78之后继续发送下帧诊断响应报文的时间间隔,一般最大值设定在5000ms。

5)P3 CAN Client Phys

诊断工具成功发送物理寻址诊断请求之后,且无需ECU回复继续发送下次物理寻址诊断请求的最小时间间隔

6)P3 CAN Client Func

诊断工具成功发送功能寻址之后再次发送功能寻址的最小时间间隔
在这里插入图片描述

二. 会话层诊断时间参数

1)S3 Client

诊断工具为了保持非默认会话模式而发送 $3E服务请求报文的时间间隔
Tester的定时参数,客户端为将ECU保持在非默认会话状态,两个连续的0x3E TesterPresent请求报文的间隔时间。通常取4000ms。

2)S3 Server

没有接到任何诊断报文(不一定是 $3E 报文,可以是其他服务请求报文) 时ECU保持在非默认会话模式的时间,一般设定值是5000ms。
在S3Server 时间内,如果ECU没有接收到任何诊断请求报文,则退出非默认会话模式,返回默认会话模式。

3)P4Server

P4Server这个时间参数其实不只是UDSonIP用到,UDSonCAN也可能用到,但用的比较少。它的含义是ECU接收到诊断请求后到最终的诊断肯定响应或否定响应(不包含NRC 0x78)的时间间隔,它是对ECU性能的要求,目的是防止ECU长时间返回NRC0x78的否定响应。
当P4Server_max=P2Server_max时,就意味着不允许ECU返回NRC0x78的否定响应。
ISO 14229-2 标准中还规定,连续返回NRC 0x78时,时间间隔不能小于0.3 * P2*Server_max,以避免网络中存在过多不必要的否定响应。
在这里插入图片描述

三. UDS传输层流控制时间参数

Block Size 简称“BS”,该参数与STmin一般同时出现。此两参数主要用于诊断报文传输多帧时会使用到。

1)STmin

接收方发送流控帧之后,发送方发送的连续帧之间的时间最小间隔。如果值为0,表示对于发送方发送CF的最小时间没有要求。

2)Block Size

接收方表示发送流控帧之后,发送方被允许连续发送的最大帧数目。特殊情况下,如果该值为0,则表示发送连续帧没有限制,如果值为8,表示发送方最多能连续发送8帧CF就会继续收到接收方的流控帧;
在这里插入图片描述

四. 网络层时间参数

1)N_As

发送方任意帧类型从请求发送到发送完成 (接收到对应的ACK) 的时间间隔。一般Timeout时间设定在25ms。

2)N_Ar

接收方任意帧类型从请求发送到发送完成的时间间隔。一般Timeout时间设定在25ms。

3)N_Bs

N_Bs可理解为Sender从XXX到收到流控帧 的时间,XXX分为三种情况:
1、Sender从发送完首帧(FF)到收到流控帧的时间;
2、Sender从发送完连续帧(CF)到收到流控帧 的时间;
3、Sender从收到流控帧(FC)(状态为Wait)到收到下一个流控帧的时间;

4)N_Br

N_Br可理解为Receiver从XXX到请求发送流控帧的时间,XXX分为三种情况:
1、Receiver从收到首帧(FF)到请求发送流控帧FC的时间
2、Receiver从收到连续帧(CF)到请求发送流控帧FC的时间
3、Receiver从发送完流控帧(FC)(状态为Wait) 到请求发送下一个流控帧的时间

5)N_Cs

发送方从XXX到请求发送连续帧(CF) 的时间,XXX分为两种情况
1、Sender 从 收到流控帧(FC)到 请求发送连续帧(CF) 的时间
2、Sender从 发送完连续帧(CF)到 请求发送下一包连续帧(CF) 的时间

6)N_Cr

接收方从XXX到收到下一个连续帧(CF) 的时间,XXX分为两种情况
1、Receiver 从发送完流控帧(FC)到收到连续帧(CF)的时间
2、Receiver 从 收到连续帧(CF)到 收到下一包连续帧(CF) 的时间
在这里插入图片描述

这篇关于【车载开发系列】UDS诊断时间参数说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945204

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim