【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诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

相关推荐
电子元件小说家3 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
天远Date Lab5 小时前
零信任架构实战:基于天远租凭分期报告构建自动化汽车以租代购免押风控网关
网络·人工智能·架构·自动化
前进的李工5 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
IT猿手7 小时前
实现NAPT、Easy-IP、NATserver、NATstatic
网络
正在走向自律7 小时前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
迪康Defender7 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
CCIE-Yasuo8 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
xiaoye-duck9 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
La Pulga9 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
其实防守也摸鱼9 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php