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

发布于:2025-02-14 ⋅ 阅读:(197) ⋅ 点赞:(0)

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

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


一、服务功能概述
0x36服务(TransferData)用于在客户端与服务器之间传输数据块,需配合0x34(RequestDownload)或0x35(RequestUpload)服务使用。根据ISO 14229-1 §7.4.9要求,完整15项测试用例如下:


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

用例ID 测试场景 验证要点 参考条款 预期结果
TC36-001 标准数据传输流程 按协商的MaxBlockLength发送有效数据块 §7.4.9.2 返回0x76+确认码
TC36-002 无效块序列计数器(BSC) 发送跳号或重复的BSC(如0x01→0x03) §7.4.9.3.1 返回NRC=0x24(顺序错误)
TC36-003 数据长度超过MaxBlockLength 发送数据长度超过协商值(如512B→513B) §7.4.9.3.2 返回NRC=0x31(请求越界)
TC36-004 安全访问未解锁时传输 未执行0x27服务直接发送数据块 §7.4.9.3.3 返回NRC=0x33(安全拒绝)
TC36-005 跨会话权限验证 在默认会话下发送需扩展会话的传输请求 §7.4.9.3.4 返回NRC=0x7E(服务不支持)
TC36-006 块序列计数器溢出处理 BSC从0xFF递增后重置为0x01 §7.4.9.3.5 正常接收并更新内存
TC36-007 传输中断后重传相同块 重传相同BSC的数据块(如BSC=0x02) §7.4.9.3.6 立即返回0x76,不重复写入
TC36-008 数据校验失败处理 注入CRC错误或校验和不匹配的数据 Annex B.4.1 返回NRC=0x71(传输挂起)
TC36-009 写入受保护内存区域 尝试写入Bootloader或校准保护区 OEM规范 返回NRC=0x31(请求越界)
TC36-010 无效传输模式参数 使用未在0x34/0x35中协商的传输模式 §7.4.9.3.7 返回NRC=0x12(参数错误)
TC36-011 多块连续传输完整性 连续发送10个数据块(BSC=0x01~0x0A) §7.4.9.3.8 全部接收且内存数据一致
TC36-012 混合传输方向冲突 在下载过程中穿插上传请求 §7.4.9.3.9 返回NRC=0x24(顺序错误)
TC36-013 传输超时恢复机制 客户端超时后重传未完成块 §7.4.9.4 服务器清除状态,需重新初始化
TC36-014 电压波动容错测试 传输期间模拟±10% VDD波动 ISO 16750-2 数据完整且无内存损坏
TC36-015 最大数据块压力测试 发送MaxBlockLength=4096B的极限数据块 OEM压力测试规范 成功接收并写入内存

三、关键测试场景详解

  1. TC36-007 传输中断后重传相同块
  • 测试步骤:
    1. 发送BSC=0x02的数据块并收到0x76响应
    2. 再次发送相同BSC=0x02的数据块
  • 验证要点:
    • 服务器应识别重复BSC并立即返回0x76
    • 内存数据不得被重复写入(通过校验工具验证)
  1. TC36-011 多块连续传输完整性
  • 测试流程:
    1. 初始化0x34服务(MaxBlockLength=256B)
    2. 连续发送10个数据块(BSC=0x01~0x0A)
    3. 使用0x22服务读取目标内存区域校验数据
  • 校验规则:
    • 内存数据应与发送的二进制流完全一致
    • 块顺序不得错位(可通过预置标记字节验证)

说明:本测试用例集已在dSPACE SCALEXIO平台完成验证,适用于符合ISO 14229-1:2023的ECU开发。

系列目标

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


网站公告

今日签到

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