当前位置: 首页 > news >正文

1101复位之后故障仍保持原因分析

文章目录

    • 前言
    • 问题复现
    • 原因分析
    • 问题处理
    • 总结

前言

项目过程中,客户端测试出现某个故障在触发后,故障状态恢复,但DTC无法恢复,甚至在1101复位或重新上下电后也无法恢复,本文分析该问题出现的原因,及对应的解决方案

问题复现

在台架上模拟触发该故障,1101复位之后,19 02 09读取故障码返回对应的故障状态位为0x6D:

01			Test failed
04			Pending DTC
08			Confirmed DTC
20			Test failed since last clear
40			testNotCompletedThisOperationCycle

由状态bit 0x40可知,当前循环并没有完成该DTC的检测,此时读取该DTC的FDC10为0

原因分析

很明显,Testfail位下电没有丢失,而是被存储了。但重新上电,没有满足故障的恢复条件,所以没有触发故障的Prepass,导致FDC10无法到达-128,无法清除Testfail位。

问题处理

首先需要搞清楚为啥Testfail位会存储?查找DEM规范文档,其中有如下定义:
在这里插入图片描述
DemGeneral中有配置项DemStatusBitStorageTestFailed用来配置是否存储Testfailed位,当配置为True时,Dem会存储该bit,即重新上电仍然保持
在这里插入图片描述
查看我们工程中的配置:DemStatusBitStorageTestFailed配置的是True
在这里插入图片描述
客户需求中没有说Testfailed位需要存储,所以只需要将该配置项配置为False即可

总结

实际上该DTC在自检阶段是有设置Prepass的,但是由于DTC的TRC设置的不对,导致Prepass没起作用,修改TRC也能解决该问题。如果客户有需求要存储Testfailed位,那就需要认真核查每个DTC的Prepass/Pass条件了,不能出现重新上电fail位一直置位导致故障一直报出,重新上电还无法恢复的情况(除非故障一直存在)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/114990.html

相关文章:

  • 交换机和集线器的区别
  • Compose笔记(十四)--LazyColumn
  • 计算机系统---性能指标(1)CPU与GPU
  • 横扫SQL面试——PV、UV问题
  • 语法: i8=make8( var, offset);
  • 3D Gaussian Splatting as MCMC 与gsplat中的应用实现
  • Python面向对象-开闭原则(OCP)
  • Access:在移动互联网与AI时代焕发新生
  • ReFormX:现代化的 React 表单解决方案 - 深度解析与最佳实践
  • sojson。v5:新一代JavaScript代码保护工具的技术解析与应用场景
  • 代码随想录回溯算法03
  • Spring 中的 IOC
  • Unet网络的Pytorch实现和matlab实现
  • 洛谷每日1题-------Day37__P1634 禽兽的传染病
  • Xorg 内存上涨的根源探究
  • 存储引擎 / 事务 / 索引
  • 实操(多线程特点、健壮性降低、缺乏访问控制)Linux
  • Django和Celery实现的异步任务案例
  • 小学诗词大会竞赛活动实施方案
  • Qwen-Agent框架的文件相关操作:从Assistant到BasicDocQA
  • 《比特城传奇:公钥、私钥与网络安全的守护之战》
  • 【Mac 从 0 到 1 保姆级配置教程 11】- Mac 基础配置 Finder、触控板、常用快捷键等
  • 数据库访问工具 dbVisitor v6.0.0 发布
  • 从零实现本地大模型RAG部署
  • PostgreSQL 16深度解析(从16.0-16.8)
  • 正则表达式 - 简介
  • 【算法】堆排序
  • jeecg拦截器 排除地址不让他拦截
  • 使用傅里叶级数和Python表示方波
  • 深度解析新能源汽车研发测试中的关键信号采集技术