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

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


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

作者:车端域控测试工程师
更新日期:2025年02月14日
关键词:UDS协议、0x2F服务、输入输出控制、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x2F服务(InputOutputControl)用于动态控制ECU的输入/输出信号状态(如强制设定传感器值、驱动执行器动作)。根据ISO 14229-1:2023 §7.5.9要求,完整21项测试用例如下:


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

用例ID测试场景验证要点参考条款预期结果
TC2F01短时调整油门信号(0x2F 0x03 + DID 0x0120 + 0x50)强制设定油门开度80%§7.5.9.2.1返回0x6F,实际油门开度80%
TC2F02恢复ECU控制(0x2F 0x00)结束信号强制状态§7.5.9.2.2返回0x6F,信号恢复ECU控制
TC2F03冻结当前状态(0x2F 0x02)锁定当前输出信号§7.5.9.2.3返回0x6F,信号值保持冻结
TC2F04无效子功能检测发送非法子功能(如0x2F 0x04)§7.5.9.3.1返回NRC=0x12(子功能不支持)
TC2F05默认会话权限验证在默认会话下执行信号控制§7.5.9.3.2返回NRC=0x7E(服务不支持)
TC2F06安全访问未授权操作未解锁安全权限时控制高敏感信号§7.5.9.3.3返回NRC=0x33(安全拒绝)
TC2F07无效DID处理指定未定义DID(如0xFFFF)§7.5.9.3.4返回NRC=0x31(请求越界)
TC2F08参数范围越界输入超限值(如设定转速0xFFFF)§7.5.9.3.5返回NRC=0x31(请求越界)
TC2F09报文长度错误处理参数长度不足(如0x2F 0x03 0x0120)§7.5.9.3.6返回NRC=0x13(长度错误)
TC2F10信号状态持久性验证控制信号后ECU断电重启§7.5.9.4.1信号恢复默认状态
TC2F11功能寻址广播控制通过0x7DF地址控制灯光信号§7.5.9.5仅目标ECU响应
TC2F12并发控制冲突检测同时控制互斥信号(如刹车与油门)§7.5.9.3.7返回NRC=0x22(条件不满足)
TC2F13超时自动恢复验证短时调整后超时(如5000ms)未续订§7.5.9.4.2自动恢复ECU控制
TC2F14物理信号反馈验证控制电机转速后读取实际转速§7.5.9.6实际转速与设定值误差<2%
TC2F15生产模式限制验证产线下禁止执行关键信号控制OEM规范返回NRC=0x22(条件不满足)
TC2F16多信号协同控制验证同步控制转向灯和仪表指示灯§7.5.9.7双信号同步激活
TC2F17模拟信号精度验证设定模拟量(如电压12.5V)§7.5.9.8实际值误差±0.1V以内
TC2F18数字信号抖动测试快速切换开关信号(频率>100Hz)Annex E.3.2无信号丢失或误触发
TC2F19跨会话状态维持验证扩展会话控制信号后切换至编程会话§7.5.9.9信号控制状态保持
TC2F20无效复位请求处理对未冻结信号发送复位指令§7.5.9.3.8返回NRC=0x24(顺序错误)
TC2F21总线故障恢复测试CAN总线干扰时执行信号控制OEM规范控制命令正确处理并恢复

三、关键测试场景详解

  1. TC2F13 超时自动恢复验证
  • 测试步骤:
    1. 发送2F 03 0120 50(设定油门80%)
    2. 停止续订控制请求,启动计时器
    3. 监测5000ms后油门状态
  • 验证要点:
    • 超时时间应符合OEM定义(通常5000ms±10%)
    • 通过0x22读取DID 0x0120验证恢复状态
  1. TC2F18 数字信号抖动测试
  • 测试流程:
    1. 发送循环控制指令(频率120Hz):
      for(int i=0; i<100; i++){send(0x2F 0x03 0x0301 0x01);  // 激活继电器 delay(8ms);send(0x2F 0x03 0x0301 0x00);  // 关闭继电器 
      }
      
    2. 记录继电器实际动作次数
  • 校验规则:
    • 动作次数误差≤2次
    • 无触点粘连现象

四、测试执行建议

  1. 工具链配置
// CAPL脚本示例:超时自动恢复测试 
variables {msTimer tTimeout;byte throttlePos = 0x50;  // 80%开度 
}on diagResponse 0x2F {if (this.req.subfunc == 0x03 && this.resp == 0x6F) {setTimer(tTimeout, 5000);  // 设置5秒超时监控 }
}on timer tTimeout {diagRequest 0x22 0x0120;  // 读取油门位置DID 
}
  1. NRC覆盖矩阵
NRC关联用例触发条件
0x12TC2F04非法子功能参数
0x13TC2F09报文长度错误
0x22TC2F15生产模式限制
0x24TC2F20无效复位请求
0x31TC2F07/TC2F08无效DID/参数越界
0x33TC2F06安全访问未授权
0x7ETC2F05会话模式不匹配

五、特殊测试场景

  1. 多信号协同控制
Tester ECU 0x2F 0x03 0x0110 0x01 (左转向灯激活) 0x2F 0x03 0x0111 0x01 (右转向灯激活) NRC=0x22 (互斥信号冲突) 0x2F 0x00 0x0110 (释放控制) 0x6F (释放成功) Tester ECU
  1. 生产模式行为验证
测试项标准要求验证方法
关键信号锁止仅允许读取尝试写入发动机扭矩信号
安全层级要求Level 2以上不同安全等级尝试控制信号

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

系列目标

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

http://www.lryc.cn/news/538348.html

相关文章:

  • nodejs:express + js-mdict 网页查询英汉词典,能显示图片
  • matlab汽车动力学半车垂向振动模型
  • 2025.2.16
  • 图像生成GAN和风格迁移
  • 【06】泛型
  • 1-13 tortoiseGit忽略文件与文件夹
  • ASR强力模型「Whisper」:解密Whisper:AI驱动的语音识别新时代 -
  • 【机器学习】向量化使得简单线性回归性能提升
  • 【kafka系列】消费者
  • HackerRank C++面试,中等难度题目 - Attribute Parser
  • 【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题
  • 节目选择器安卓软件编写(针对老年人)
  • 蓝桥杯之图
  • 中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号
  • 【kafka系列】Kafka如何保证消息不丢失?
  • AtCoder Beginner Contest 393 —— E - GCD of Subset 补题 + 题解 python
  • vue3响应式丢失解决办法(三)
  • BY组态:构建灵活、可扩展的自动化系统
  • 2025 (ISC)²CCSP 回忆录
  • 强化学习笔记7——DDPG到TD3
  • win10 系统 自定义Ollama安装路径 及模型下载位置
  • -bash:/usr/bin/rm: Argument list too long 解决办法
  • 内容中台重构企业内容管理流程驱动智能协作升级
  • python实现YouTube关键词爬虫(2025/02/11)
  • 【效率技巧】怎么做思维导图||数学思维||费曼学习法
  • LabVIEW与USB设备开发
  • 动态规划LeetCode-416.分割等和子集
  • 云原生(五十五) | ECS中自建数据库迁移到RDS
  • 【吾爱出品】 视频批量分段工具
  • HTML【详解】input 标签