诊断中P2,P2*与S3三类定时器的介绍与总结

2023-11-10 16:50

本文主要是介绍诊断中P2,P2*与S3三类定时器的介绍与总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人总结,有问题的地方欢迎指正

一、P2定时器——P2CAN_Client,P2CAN_Server,S3

1、DefaultSession下采用物理寻址

  1. P2CAN_Client是用于诊断仪的定时器
    图1-P2CAN_Client 与 P2CAN_Server 定时器实现过程

P2CAN_Client:从诊断仪发送完一条完整的请求后,开启该定时器,诊断仪应在该定时器定时时间内接受到从ECU传输过来的相应。若在该定时器timeout前就接受到了ECU的响应报文,那么该定时器停止计时。
若ECU响应为单帧,诊断仪应接收完完整的一帧响应报文后P2CAN_Client定时器stop;
若ECU响应为多帧响应,诊断仪应接受完完整的一帧首帧报文后P2CAN_Client定时器stop;

  1. P2CAN_Server是用于ECU的定时器

P2CAN_Server:从ECU接收完一帧完整的请求后,开启该定时器,且ECU应在该定时器定时时间内发送响应报文。如果在该定时器timeout前ECU就开始发送响应报文,那么该定时器在ECU开始发送响应报文的时候停止计时。

步骤e的说明:对于多帧传输,在P2CAN_Server时间内应开始传输第一帧,对于单帧传输,在该定时器时间内,应该开始传输响应报文。

2、DefaultSession下采用物理寻址且支持78否定响应机制

P2*CAN_Client与P2*CAN_Server
若在ECU中支持了78NRC的机制,那么当ECU忙于处理其他的事情的时候,诊断仪发送了一条请求到ECU,此时ECU是没空对该请求做出响应的(并不意味着否定响应),因此由于78这个机制的存在,ECU会回一个78NRC的响应报文,告知诊断仪ECU现在处于忙碌状态,稍后回复你,这个回复的时间就由P2*时间决定。

3. Physical communication during a non-default session

3.1 Functionally addressed TesterPresent(3E hex) message

在这里插入图片描述
P2CAN_Client>50ms
P2CAN_Server:0~50ms

总结
a. S3Client < S3Server:所以只要S3Client存在,即使两个定时器同时开启,ECU都不会跳出当前会话
b. S3Client , S3Server是相互独立的
c. 只要10服务使ECU切换到除01default以外的其他模式,S3Client 就会启动(定时器),当定时器timeout后,会发送功能寻址的3E服务,并重置S3Client 定时器
d. 当10服务请求后,ECU完成相应的响应后就会开启S3Server定时器,在该定时器开启过程中,若ECU对其它任何诊断服务响应了(包括3E),则该定时器stop,直到ECU对其他诊断服务的响应完成了,就会重启该定时器。
e. 在S3Server定时器stop期间,ECU将不会响应3E服务
f. 3E服务是为了重置S3Server定时器

3.2 Physically addressed TesterPresent(3E hex) message

在这里插入图片描述
总结:
a. 对于物理寻址,S3Client , S3Server定时器的启动需要在10服务的请求得到响应后才会开启
b. 在诊断仪和ECU端, 对于S3Client , S3Server两个定时器而言,只要两个设备空闲(即没有诊断服务需要发送,没有请求需要响应),则重启S3Client , S3Server两个定时器
c. 对于诊断仪而言,当在S3Client定时器期间,没有任何的诊断报文需要发送(包括3E),当timeout时,将发送物理寻址的3E服务以使S3Server,ECU保持在非默认会话
d. S3Client , S3Server两个定时器在一定程度上来说是同步的,同时重启,相继停止

4. Functional Communication

4.1 Functional communication during defaultSession

在这里插入图片描述

总结:
a. 对于功能寻址的请求报文,只能为单帧报文
b. 当发送完功能寻址请求后,开启P2CAN_Client和P2CAN_Server定时器
c. 对于P2CAN_Client的定时时间界定:
Functional communication—>使用default reload value 50ms
physical communication—>需要考虑latency,△P2can
d. 对图的理解应有四种情况

  1. server1为单帧响应, server2为多帧响应,则只有一个P2CAN_Client时间,即b—>f2

  2. server1为多帧响应, server2为单帧响应,则有2个P2CAN_Client时间,即b—>f2;e1—>f2

  3. server1为单帧响应, server2为单帧响应,则有2个P2CAN_Client时间,即b—>f1;f1—>f2

  4. server1为多帧响应, server2为多帧响应,则有2个P2CAN_Client时间,即b—>e1;e1—>e2

4.2 Functional communication during defaultSession with enhanced response timing

在这里插入图片描述
总结:
a. 功能寻址请求响应的ECU,都会开启一个P2CAN_Server定时器,是相互独立的
b. 对于客户端而言(诊断仪),只有一个P2CAN_Client定时器
c. 对同一个请求,只要有一个ECU回复了78 pending响应,则该ECU使用P2 * CAN_Server 定时器,但不会改变其他ECU的timer,对于client而言,则会启动P2* CAN_Client定时器,并存储回复78 pending的ECU ID, 直到ECU ID从Client中移出,若该ECU的ID为Client中存储的最后一个ID, 那么P2*CAN_Client将改为P2CAN_Client
d. 在h点,若该响应为最后一个响应,则stop P2CAN_Client,若不是,则重启P2CAN_Client

4.3 Functional communication during non-default session

非默认会话,存在78pending的传输过程
在这里插入图片描述

以上的所有图需要参照15765中对每个点的描述进行理解。

二、P3定时器——P3CAN_Function,P3CAN_Physical

总结:
a. P3CAN_Function(应用于所有功能寻址的报文),P3CAN_Physical(适用于所有物理寻址的报文)都适应于各自的寻址方式报文
b. P3CAN_Function = P2CAN_Server_max
P3CAN_Physical = P2CAN_Server_max
c. P3参数用于客户端发送相邻两条报文的讲个时间
d. P3CAN_Phy用于任何诊断会话中,采用物理寻址的任意请求报文,并且接收该请求的ECU不需要响应
P3CAN_Func用于任何诊断回话中,采用功能寻址的任意请求报文,并且ECU需要响应或不需要响应
e. 只有在上一条报文的响应(不论有没有响应)完全处理后,才可以发送下一条新的请求报文,P3定会器timeout前不允许发送新的msg
f. completely handle的界定:
1.没有要求ECU响应
2. 对于功能寻址msg的所有响应都收到
3. P2CAN_Client超时,需要响应的ECU没有收到响应

这篇关于诊断中P2,P2*与S3三类定时器的介绍与总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的