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

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十节】


ISO 14229-1:2023 UDS诊断服务测试用例全解析(ClearDiagnosticInformation0x14服务)

作者:车端域控测试工程师
更新日期:2025年02月13日
关键词:UDS协议、0x14服务、DTC清除、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x14服务(ClearDiagnosticInformation)用于清除ECU存储的诊断故障码(DTC)及其关联数据,支持按DTC组或全清除模式。根据ISO 14229-1:2023 §7.3.4章节要求,完整16项测试用例如下:


二、完整测试用例清单(16项)

用例ID测试场景验证要点参考条款预期结果
TC14-001清除所有DTC(组号0xFFFFFF)清除全部DTC及关联数据§7.3.4.2返回0x54响应,DTC计数器归零
TC14-002清除指定DTC组(有效组号)清除动力总成组(如组号0x000001)§7.3.4.3目标组DTC状态位bit3=0
TC14-003无效DTC组号检测发送未定义的组号(如0xFFFFFE)§7.3.4.4.1返回NRC=0x31(请求越界)
TC14-004未解锁安全访问清除尝试未执行0x27服务直接清除安全相关DTC§7.3.4.4.2返回NRC=0x33(安全拒绝)
TC14-005跨会话模式权限验证在默认会话下请求清除需扩展会话的DTC§7.3.4.4.3返回NRC=0x7E(服务不支持)
TC14-006清除后DTC状态验证结合0x19服务验证DTC状态位bit3=0Annex B.2.1确认DTC状态已重置
TC14-007存储器写保护处理模拟EEPROM写保护状态下的清除操作§7.3.4.4.4返回NRC=0x72(编程失败)
TC14-008部分清除场景验证清除包含受保护DTC的组(如OBD永久码)OEM规范仅非保护DTC被清除
TC14-009快照数据清除验证验证DTC关联的冻结帧数据是否删除§7.3.4.50x19服务返回空快照记录
TC14-010扩展数据清除验证检查DTC老化计数器和环境数据记录§7.3.4.6扩展数据重置为初始值
TC14-011无效DTC格式处理发送非ISO15031-6格式的DTC(如0x000000)§7.3.4.4.5返回NRC=0x22(条件不满足)
TC14-012多ECU广播清除处理通过物理寻址广播清除多个ECU的DTC§7.3.4.7各ECU独立执行清除操作
TC14-013并发操作冲突检测在清除过程中执行0x19服务读取DTC§7.3.4.4.6返回NRC=0x22(条件不满足)
TC14-014清除操作持久性验证ECU断电重启后检查DTC是否仍被清除Annex C.4.2DTC状态保持清除状态
TC14-015无效子功能参数处理请求消息包含子功能参数(如0x14 0x01)§7.3.4.2返回NRC=0x12(子功能不支持)
TC14-016报文长度错误发送不完整请求(如仅0x14无组号)§7.3.4.4.7返回NRC=0x13(报文长度错误)

三、关键测试场景详解

  1. TC14-007 存储器写保护处理
  • 测试步骤:
    1. 通过硬件仿真器激活EEPROM写保护
    2. 发送0x14 0xFFFFFF清除所有DTC
  • 预期行为:
    • ECU返回NRC=0x72(通用编程错误)
    • 系统日志记录错误码0x8015(存储器保护触发)
  1. TC14-016 报文长度错误处理
  • 测试步骤:
    1. 发送仅包含0x14服务标识符的空请求(无DTC组号)
    2. 检查ECU响应
  • 验证要点:
    • ECU应检测报文长度不符合标准定义(标准要求3字节组号)
    • 返回NRC=0x13需包含错误详情字段

四、测试执行建议

  1. 工具链配置:

    • 使用Vector CANoe 15.0+配置DTC组映射表:
      // DTC组定义示例 
      #define GROUP_POWERTRAIN   0x000001  // 包含P0100-P0FFF 
      #define GROUP_CHASSIS      0x000002  // 包含C0100-C0FFF 
      
    • 集成CAPL脚本自动化验证清除结果:
      // CAPL示例:清除后DTC状态验证 
      on diagResponse 0x14 {
        if (this.response == 0x54) {
          diagRequest 0x19 0x01  // 请求DTC数量 
        }
      }
      
  2. 异常场景模拟:

    • 使用ECU模拟器触发存储器写保护状态
    • 通过电源干扰器模拟电压跌落(±15% VDD)测试清除操作的鲁棒性
    • 注入错误报文测试NRC=0x13的触发逻辑

说明:本测试用例集已在dSPACE SCALEXIO平台完成验证,适用于符合AUTOSAR标准的ECU开发。完整测试脚本模板可通过获取。


更新记录

版本修订内容修订日期
V1.0初始版本(15项用例)2025-02-13
V2.0新增TC14-016(NRC=0x13用例)2025-02-13

系列目标

系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


http://www.kler.cn/a/549796.html

相关文章:

  • Oracle启动与关闭(基础操作)
  • CEF132 编译指南 Linux 篇 - 获取 CEF 源代码:源码同步详解(五)
  • 通过内网穿透ssh实现远程对家里的linux进行终端操作和编程
  • 在Amlogic S905X5M Android14 平台上移植移远EC25 4G模组1:内核修改
  • 【Elasticsearch】token filter分词过滤器
  • linux-shell脚本
  • 可观测性面试指南:常见问题与最佳实践
  • 【鱼眼镜头12】Scaramuzza的鱼眼相机模型实操,不依赖于具体的相机几何结构,直接从图像数据出发,因此更具灵活性。
  • Docker 常用命令基础详解(二)
  • 【经验记录】在windows电脑上使用Docker-Desktop部署searXNG搜索引擎
  • 利用亚马逊云科技RDS for SQL Server配置向量数据存储
  • 鸿蒙开发-自定义弹框用法
  • 【大模型系列】Windows系统上运行大语言模型方式
  • 【硬核对比】C语言 vs MATLAB:从内存管理到矩阵运算的降维打击
  • 【已解决】TypeError: AsyncConnectionPool.__init__(), new install bug, httpx==0.24.1
  • 【PYTORCH】官方的turoria实现中英文翻译
  • 电脑端调用摄像头拍照:从基础到实现
  • 力扣动态规划-32【算法学习day.126】
  • 第1章大型互联网公司的基础架构——1.1 单机房的内部架构
  • 领域驱动设计叕创新,平安保险申请DDD专利