诊断知识:NRC78(Response Pending)的回复时刻

server/2024/10/21 6:19:45/

文章目录

    • 前言
    • NRC78的使用场景
    • 客户需求解读
    • Autosar Dcm中的定义
    • 工具链中的配置
    • 总结

前言

在项目开发过程中,客户变更需求,是关于NRC78的回复时间点的,该需求在Autosar Dem中也有对应的参数,DcmTimStrP2ServerAdjust(针对于P2Server),DcmTimStrP2StarServerAdjust(针对于P2 *Serverr),本文结合需求来学习下这两个参数的使用。

NRC78的使用场景

谈到NRC78,就必须要了解UDS中的时间参数P2Server和P2 *Server(Server即针对于ECU端),14229中定义如下:
在这里插入图片描述
带有0x78回复的数据流如下:
在这里插入图片描述
所以NRC78的使用场景为:当ECU在P2Server_max(非编程会话一般为50ms)时间内无法处理完成,需要额外的时间才能正确响应诊断仪的请求时,发送一次0x78可以多争取P2 *Server_max的时间(一般为5000ms

客户需求解读

需求1:连续的0x78负响应,发送时间应该在 0.3 * P2* Server_max 到 0.8 * P2* Server_max,目的是为了尽可能少的发送0x78。
需求2:对于第一次0x78负响应的发送时机应尽可能的靠近P2Server_max,如果发送的太快,可能会导致网关在转发过程中丢失而导致刷写失败

Autosar Dcm中的定义

在这里插入图片描述
DcmTimStrP2ServerAdjust正好针对于需求2,但需要清楚的是,实际的响应时间为P2Server_max - DcmTimStrP2ServerAdjust,如果需要满足需求2,则DcmTimStrP2ServerAdjust应该尽可能的小

DcmTimStrP2StarServerAdjust正好针对于需求1,同样的道理,实际的响应时间为P2* Server_max - DcmTimStrP2StarServerAdjust,所以按需求,DcmTimStrP2StarServerAdjust应该配置为0.2-0.7倍的P2* Server_max

Autosar Dcm中定义如下:
在这里插入图片描述
DcmTimStrP2ServerAdjust单位为,且需要为DcmTaskTime的整数倍
在这里插入图片描述
DcmTimStrP2StarServerAdjust单位为,且需要为DcmTaskTime的整数倍

工具链中的配置

以ETAS软件为例:配置这两个参数在DcmDslProtocolRow
在这里插入图片描述
当P2Server_max为50ms时,实际第一次响应0x78的时间为40ms,当P2* Server_max为5000ms时,实际连续响应0x78的时间为3000ms

总结

理清需求很重要,希望大家在开发过程中少做无用功。


http://www.ppmy.cn/server/133552.html

相关文章

域7:安全运营 第18章(DRP)和第19章 (Investigation and Ethics)

第七域包括 16、17、18、19 章。 灾难恢复计划(DRP)是业务连续性计划(BCP)中的一个关键环节,它专注于在灾难发生后迅速恢复关键业务功能和数据,以确保企业能够持续运营。两者共同构成了企业应对突发事件和灾…

入侵及防护:7个迹象说明你的手机可能被入侵!

在现代社会中,手机已成为我们生活中不可或缺的一部分。然而,随着智能手机的普及,手机安全问题也日益严重。手机被入侵的风险不仅影响个人隐私,还可能导致财产损失。本文将为你介绍7个迹象,帮助你判断手机是否可能被入侵…

SpringBoot运维

SpringBoot程序的打包与运行 SpringBoot工程可以基于java环境下独立运行jar文件启动服务 SpringBoot工程执行mvn命令package进行打包 执行jar命令:java –jar 工程名.jar spring-boot-maven-plugin spring-boot-maven-plugin 是 Spring Boot 提供的 Maven 插件…

MATLAB车牌识别

车牌字符识别是一个复杂的任务,涉及到图像处理和模式识别等技术。以下是一个简单的基于 MATLAB 的车牌字符识别代码示例: 1. 读取图像:使用imread函数读取包含车牌的图像。 image imread(license_plate.jpg); 2. 图像预处理:为了…

基于springboot社团管理系统的设计与实现

一、需求分析 1. 与学校社团管理人员、成员等进行沟通,了解他们对系统的具体需求,如社团信息管理、成员管理、活动管理、报名管理等。 2. 确定系统的用户角色,如管理员、社团负责人、普通成员等。 二、系统设计 1. 总体架构设计&#xff…

|信息爬取与分析|009_django基于Python的耳机信息的爬取与分析2024_2qdh1wz4

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

ImportError: DLL load failed while importing _rust: 找不到指定的模块。

ImportError: DLL load failed while importing _rust: 找不到指定的模块。 安装qwen-agent 过程需要安装 cryptography 报错 : 177 WARNING: Failed to collect submodules for ‘cryptography.hazmat.backends.openssl’ because importing ‘cryptography.hazm…

完整发布/上传uniapp Ios应用到App Store流程

使用uniapp打包,假如使用app store证书打包出来的ipa文件,需要上传到app store上才能上架。假如你还没有app store证书,还没有打包,你可以参考下面这篇文章,先创建打包证书再继续看这篇上架的教程:https://…