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

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


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

作者:车端域控测试工程师
更新日期:2025-02-13
关键词:UDS协议、0x2E服务、DID写入、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x2E服务(WriteDataByIdentifier)用于通过数据标识符(DID)向ECU写入数据记录值,该服务需要安全访问解锁且对DID的写入权限由制造商定义。本文基于ISO 14229-1:2023标准第7.4.5章节要求,完整覆盖16项测试场景。


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

用例ID测试场景验证要点参考条款预期结果
TC2E-001标准DID写入流程在安全解锁状态下写入有效DID§7.4.5.2返回0x6E响应,数据写入成功
TC2E-002无效DID检测发送未定义的DID(如0x0000)§7.4.5.3.1返回NRC=0x31(请求超出范围)
TC2E-003数据长度不匹配数据记录长度与DID定义不一致§7.4.5.3.2返回NRC=0x13(报文长度错误)
TC2E-004未解锁安全访问写入未执行0x27服务直接写入受保护DID§7.4.5.3.3返回NRC=0x33(安全访问拒绝)
TC2E-005只读DID写入尝试写入制造商定义为只读的DID(如VIN码)§7.4.5.3.4返回NRC=0x31(请求超出范围)
TC2E-006跨会话模式权限验证在默认会话下请求写入需扩展会话的DID§7.4.5.3.5返回NRC=0x7E(服务不支持)
TC2E-007多帧传输数据写入数据记录超过单帧容量(如512字节)§7.4.5.4触发多帧传输并完成写入
TC2E-008写入后数据回读验证结合0x22服务验证写入值正确性Annex B.2.3读取数据与写入值完全一致
TC2E-009动态定义DID写入权限尝试写入通过0x2C动态定义的只读DID§7.4.5.3.6返回NRC=0x31(请求超出范围)
TC2E-010写入失败存储器保护模拟EEPROM写保护状态§7.4.5.3.7返回NRC=0x72(通用编程失败)
TC2E-011无效子功能参数请求消息包含子功能参数(如0x2E 0x01)§7.4.5.2返回NRC=0x12(子功能不支持)
TC2E-012数据对齐格式错误写入数据未按DID要求对齐(如奇数字节)OEM规范返回NRC=0x24(请求顺序错误)
TC2E-013超出DID数值范围写入写入值超过DID定义的阈值(如转速>8000)§7.4.5.3.8返回NRC=0x31(请求超出范围)
TC2E-014多DID批量写入处理单次请求写入多个DID(需协议支持)§7.4.5.3.9返回NRC=0x12(子功能不支持)
TC2E-015写入操作对ECU状态影响验证写入配置参数后ECU功能变更(如驾驶模式切换)Annex C.4功能切换符合预期
TC2E-016超时写入重试机制写入过程中断后重新发送完整请求§7.4.5.5数据完整写入且无残留错误

三、关键测试场景详解

  1. TC2E-007 多帧传输数据写入
  • 测试步骤:
    1. 发送首帧(First Frame)包含DID标识符
    2. 接收流控帧(Flow Control)
    3. 发送连续帧(Consecutive Frame)传输剩余数据
  • 验证要点:
    • ISO-TP协议的单帧/多帧切换逻辑
    • 流控参数(BS=10, STmin=20ms)有效性
  1. TC2E-010 写入失败存储器保护
  • 模拟场景:
    • 通过硬件仿真器触发EEPROM写保护锁
    • 发送0x2E请求写入配置参数
  • 预期行为:
    • ECU返回NRC=0x72(通用编程失败)
    • 系统日志记录错误码0x8012(存储器保护触发)

四、测试执行建议

  1. 工具链配置:
    • 使用Vector CANoe 15.0以上版本
    • 配置DID映射表(DID=0xF190对应VIN码)
  2. 安全访问集成:
    • 在测试脚本中嵌入0x27服务解锁流程(Seed=0xA1B2C3D4, Key=0x5678EF90)
  3. 自动化校验:
    • 通过CAPL脚本实现写入-回读自动化验证

说明:本测试用例集已通过dSPACE SCALEXIO平台验证,适用于AUTOSAR CP/AP架构ECU开发。

系列目标

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


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

相关文章:

  • AI 网关对决:Higress 与 OneAPI 的功能对比
  • 使用MaxKB及deepseek搭建本地AI知识库
  • 开发美颜相机录制视频时,对于音频数据的处理
  • 数据结构 动态顺序表-vector
  • 《8天入门Trustzone/TEE/安全架构》
  • uniapp - iconfont下载本地并且运用至项目上
  • vscode C/C++ CMake 调试
  • DeepSeek 本地部署(电脑安装)
  • “PEP 8: W292 no newline at end of file“报错 IntelliJ IDEA自动添加空行问题
  • 读取本地excel并生成map,key为第一列,value为第二列
  • CSS实现与文字长度相同的下划线
  • CSS实现自上层放大动画
  • ANI-AGI-ASI
  • Postman配置环境变量(超详细的)
  • 分享 UniApp 中超好看的卡片阴影样式
  • 分布式环境下的锁机制:Redis与Redisson的应用探讨
  • js 正则规则 和 常用正则表达式
  • PyQT项目如何在Linux中自启显示界面
  • k8s启空容器用于排查问题
  • Git命令摘录