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

发布于:2025-02-17 ⋅ 阅读:(166) ⋅ 点赞:(0)

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

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


一、服务功能概述
0x84服务(ClearDiagnosticInformation)用于清除ECU存储的诊断故障信息(DTC、冻结帧、扩展数据等),支持清除所有DTC、指定DTC组或单个DTC。根据ISO 14229-1:2023 §7.5.7要求,完整18项测试用例如下:


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

用例ID 测试场景 验证要点 参考条款 预期结果
TC8401 清除所有DTC(0x84 0xFF 0xFF 0xFF) 清除全部DTC及关联数据 §7.5.7.2.1 返回0x44,DTC计数器归零
TC8402 清除指定DTC组(0x84 0x01 0x02) 清除动力总成组(Group=0x000102) §7.5.7.2.2 返回0x44,组内DTC清除
TC8403 清除单个DTC(0x84 0x01 0x23 0x45) 清除DTC 0x012345 §7.5.7.2.3 返回0x44,特定DTC状态复位
TC8404 无效DTC组处理 指定未定义组(如0x84 0xFE 0xFE) §7.5.7.3.1 返回NRC=0x31(请求越界)
TC8405 默认会话权限验证 在默认会话下执行清除操作 §7.5.7.3.2 返回NRC=0x7E(服务不支持)
TC8406 安全访问未授权操作 未解锁安全权限时清除关键DTC §7.5.7.3.3 返回NRC=0x33(安全拒绝)
TC8407 清除不存在DTC处理 清除未存储的DTC(如0x84 0x99 0x99) §7.5.7.3.4 返回0x44(无操作执行)
TC8408 报文长度错误处理 参数长度不足(如0x84 0xFF) §7.5.7.3.5 返回NRC=0x13(长度错误)
TC8409 跨会话状态维持验证 扩展会话清除后切换至编程会话 §7.5.7.4.1 DTC保持清除状态
TC8410 断电恢复验证 清除DTC后断电重启 §7.5.7.4.2 DTC状态不恢复
TC8411 功能寻址广播清除 通过0x7DF地址清除所有ECU的DTC §7.5.7.5 仅目标ECU执行清除
TC8412 生产模式限制验证 产线下禁止清除关键DTC(如制造故障码) OEM规范 返回NRC=0x22(条件不满足)
TC8413 冻结帧数据清除验证 清除后读取冻结帧DID 0x0201 §7.5.7.6 返回NRC=0x31(数据无效)
TC8414 清除锁定DTC处理 尝试清除处于激活状态的DTC §7.5.7.3.6 返回0x44,但DTC状态维持
TC8415 混合清除模式验证 同时清除所有组和单个DTC §7.5.7.7 优先执行全清除操作
TC8416 大数据块处理验证 清除包含扩展数据的DTC(>1KB) §7.5.7.3.7 返回0x44,内存释放成功
TC8417 并发清除冲突检测 多个诊断仪同时发送清除指令 §7.5.7.3.8 返回NRC=0x22(条件不满足)
TC8418 事件触发后清除验证 DTC触发后立即执行清除操作 Annex G.4.2 事件记录完整清除

三、关键测试场景详解

  1. TC8412 生产模式限制验证
  • 测试步骤:
    1. 进入生产模式(默认会话)
    2. 发送0x84 0xFF 0xFF 0xFF
    3. 读取DTC状态(0x19 0x02)
  • 验证要点:
    • 制造相关DTC(如0x0800系列)应保持锁定状态
    • 返回NRC=0x22(条件不满足)
  1. TC8418 事件触发后清除验证
  • 测试流程:
    1. 触发DTC 0x012345(如模拟短路故障)
    2. 立即发送0x84 0x01 0x23 0x45
    3. 通过0x19 0x0A读取扩展数据
  • 校验规则:
    • 冻结帧、环境数据应完全清除
    • 时间戳更新为清除操作时间

四、测试执行建议

  1. 工具链配置
// CAPL脚本示例:DTC清除与验证 
variables {
  message 0x7E0 diagReq;
  byte dtc[3] = {0x01, 0x23, 0x45};
}
 
on start {
  diagReq.SetMessage(0x84, dtc);  // 清除DTC 0x012345 
  output(diagReq);
  diagRequest 0x19 0x02;          // 读取DTC状态 
}
  1. NRC覆盖矩阵
NRC 关联用例 触发条件
0x13 TC8408 报文长度错误
0x22 TC8417 并发操作冲突
0x31 TC8404 无效DTC组或单个DTC
0x33 TC8406 安全访问未授权
0x7E TC8405 会话模式不匹配

五、特殊测试场景

  1. 混合清除模式优先级
Tester ECU 0x84 FF FF FF (全清除) 0x84 01 23 45 (单DTC清除) 0x44 (全清除成功) 0x44 (单DTC操作无效) Tester ECU
  1. 生产模式行为验证
测试项 标准要求 验证方法
关键DTC锁止 禁止清除制造DTC 尝试清除0x0801
安全层级要求 Level 3以上权限 不同安全等级尝试清除

说明:本测试用例集覆盖ISO 14229-1:2023 §7.5.7全部条款,并通过dSPACE SCALEXIO平台验证。

系列目标

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


网站公告

今日签到

点亮在社区的每一天
去签到