【车载开发系列】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

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

Spring Boot Actuator使用说明

《SpringBootActuator使用说明》SpringBootActuator是一个用于监控和管理SpringBoot应用程序的强大工具,通过引入依赖并配置,可以启用默认的监控接口,... 目录项目里引入下面这个依赖使用场景总结说明:本文介绍Spring Boot Actuator的使用,关于Spri

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex