诊断中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三类定时器的介绍与总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/u010107481/article/details/103191931
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/384005

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.