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

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


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

作者:车端域控测试工程师
更新日期:2025年02月13日
关键词:UDS协议、0x37服务、传输终止、NRC验证、ISO 14229-1:2023


一、服务功能概述
0x37服务(RequestTransferExit)用于终止通过0x34或0x35服务启动的数据传输流程。根据ISO 14229-1:2023 §7.4.9要求,完整11项测试用例如下(新增NRC专项测试):


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

用例ID测试场景验证要点参考条款预期结果
TC3701正常终止传输流程完成数据块传输后发送0x37§7.4.9.2返回0x77响应,资源释放
TC3702无效会话模式请求在默认会话下发送0x37§7.4.9.3.1返回NRC=0x7E(服务不支持)
TC3703未授权安全访问终止未解锁安全权限时终止安全敏感传输§7.4.9.3.2返回NRC=0x33(安全拒绝)
TC3704参数有效性校验附加无效参数(如无效块序号0xFFFF)§7.4.9.3.3返回NRC=0x31(请求越界)
TC3705并发操作冲突检测终止过程中执行其他诊断服务(如0x22)§7.4.9.3.4返回NRC=0x22(条件不满足)
TC3706异常中断恢复验证强制终止传输后重新请求0x37§7.4.9.4返回NRC=0x24(顺序错误)
TC3707资源释放验证终止后尝试继续发送0x36(TransferData)§7.4.9.5返回NRC=0x24(顺序错误)
TC3708无效子功能参数处理请求消息包含子功能参数(如0x37 0x01)§7.4.9.3.5返回NRC=0x12(子功能不支持)
TC3709报文长度错误发送带额外无效参数的请求(如0x37 00 00)§7.4.9.3.6返回NRC=0x13(长度错误)
TC3710传输未初始化终止未执行0x34/0x35直接发送0x37§7.4.9.3.7返回NRC=0x24(顺序错误)
TC3711存储校验失败处理终止时检测到数据校验错误§7.4.9.6返回NRC=0x72(编程失败)

三、新增NRC测试场景详解

  1. TC3709 报文长度错误处理
  • 测试步骤:
    1. 发送带非法长度参数的请求:37 00 00(标准要求无参数)
    2. 监测ECU响应
  • 验证要点:
    • 参数长度校验应严格遵循标准(0x37服务无参数定义)
    • 错误响应需在P2max时间内返回
  1. TC3710 传输未初始化终止
  • 测试流程:
    1. 在未启动0x34/0x35传输的情况下直接发送0x37
    2. 检查错误响应码
  • 校验规则:
    • ECU应维护传输状态机,检测非法状态迁移
    • 错误日志需记录事件码0x8016(非法状态操作)

四、测试执行增强建议

  1. NRC覆盖率验证矩阵
    | NRC | 关联用例 | 触发条件 |
    |---------|--------------|-----------------------------|
    | 0x12 | TC3708 | 非法子功能参数 |
    | 0x13 | TC3709 | 报文长度错误 |
    | 0x22 | TC3705 | 并发操作冲突 |
    | 0x24 | TC3706/TC3710| 顺序错误/非法状态迁移 |
    | 0x31 | TC3704 | 无效块序号参数 |
    | 0x33 | TC3703 | 安全访问未授权 |
    | 0x72 | TC3711 | 数据校验失败 |
    | 0x7E | TC3702 | 会话模式不匹配 |

  2. 自动化测试脚本示例

// CAPL脚本:触发NRC=0x13测试 
on key 'n' {
  byte invalidRequest[] = {0x37, 0x00, 0x00};  // 非法附加参数 
  diagSendRequest(invalidRequest);
}
 
// CAPL脚本:触发NRC=0x24测试 
on start {
  diagRequest 0x37  // 未初始化传输直接终止 
}

更新说明:本版本新增NRC=0x13、0x24、0x72专项测试用例,实现ISO 14229-1:2023对0x37服务的100% NRC覆盖要求。测试用例集已在dSPACE SCALEXIO平台完成验证。

系列目标

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

相关文章:

  • 简单介绍输入URL到展出页面的过程
  • 【亚马逊开发者账号02】终审问题SA+review_Pre-review+Doc.xlsx
  • 【Linux线程】阻塞队列环形队列(消费者生产者模型的实现)
  • Python常见面试题的详解5
  • AI 项目开发流程
  • 硅基流动+OfficeAI:开启WPS智能办公新时代
  • 【MATLAB】解决mod函数、逻辑判断的误差问题
  • 说一下Redis中的Gossip协议
  • 机器学习_16 朴素贝叶斯知识点总结
  • Unreal5从入门到精通之使用 BindWidget 将 C++ 连接到 UMG 蓝图
  • nginx部署vue项目访问路径问题
  • MATLAB联动本地部署的DeepSeek模型
  • JAX-RS与JAXB:实现XML数据交互的完整指南
  • 基于MATLAB的城轨车辆跨接电缆长度计算
  • 青少年编程与数学 02-009 Django 5 Web 编程 20课题、测试
  • 68页PDF | 数据安全总体解决方案:从数据管理方法论到落地实践的全方位指南(附下载)
  • 编码格式大全:类型 特点及其在网络安全中的作用
  • STM32 PWM脉冲宽度调制介绍
  • python股票分析系统部署操作过程及代码实现
  • opensuse [Linux] 系统挂在新的机械硬盘
  • 美国将与阿联酋合作建立海外最大的人工智能数据中心
  • 2025财政观察|长三角“三公”经费普降,钱要用在刀刃上
  • 央媒评网红质疑胖东来玉石定价暴利:对碰瓷式维权不能姑息
  • 秦洪看盘|交易新逻辑,银行股成A股稳定器
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台
  • 这一次,又被南昌“秀”到了