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

相关文章:

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

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;InputOutputControl_0x2F服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月14日 关键词&#xff1a;UDS协议、0x2F服务、输入输出控制、ISO 14229-1:2023、ECU测试 一、服务功能概…...

nodejs:express + js-mdict 网页查询英汉词典,能显示图片

向 DeepSeek R1 提问&#xff1a; 我想写一个Web 前端网页&#xff0c;后台用 nodejs js-mdict , 实现在线查询英语单词&#xff0c;并能显示图片 1. 项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1a; mydict-app/ ├── public/ │ ├── …...

matlab汽车动力学半车垂向振动模型

1、内容简介 matlab141-半车垂向振动模型 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

2025.2.16

Web [GDOUCTF 2023]泄露的伪装&#xff1a; 点进去看就是装神弄鬼&#xff0c;那就直接扫描 果然有东西 第一个是php代码 第二个是个文件 访问发现是一样的 分析一下&#xff1a;使用 file_get_contents($cxk) 函数读取 $cxk 变量中指定的 URL 或文件的内容。 如果读取的内…...

图像生成GAN和风格迁移

文章目录 摘要abstract1.生成对抗网络 GAN1.1 算法步骤 2.风格迁移2.1 损失函数2.2 论文阅读2.2.1 简介2.2.2 方法2.2.3 实验2.2.4 结论 3.总结 摘要 本周学习了生成对抗网络&#xff08;GAN&#xff09;与风格迁移技术在图像生成中的应用。首先介绍了GAN模型中生成器与判别器…...

【06】泛型

文章目录 泛型函数中的泛型结构体中的泛型结构体中的方法 枚举中的泛型 泛型 RUST通过在编译时对泛型代码的单态化&#xff08;monomorphization&#xff09;来保证运行效率。即&#xff0c;在编译时对泛型填充具体数据类型转换为特定代码进行编译。 由于RUST编译试图穷举所有…...

1-13 tortoiseGit忽略文件与文件夹

前言&#xff1a; 基于本人对小乌龟操作的学习和思考&#xff0c;仅供参考 1-1 忽略问价和文件夹 有时候我们的一些文件是不想要提交&#xff0c;那么我们可以使用stash的方式给这个文件添加忽略&#xff0c;那么我们现在来给这个实际操作创建一个操作的环境。 右键选中添加到忽…...

ASR强力模型「Whisper」:解密Whisper:AI驱动的语音识别新时代 -

解密Whisper&#xff1a;AI驱动的语音识别新时代 原创 AI小信 别慌G个PT 2024年10月18日 17:54 北京 ❝ 前两天分享了两个TTS模型&#xff0c;今天分享个ASR强力模型「Whisper」。Whisper是OpenAI开发的一个「ASR」(AutomatedSpeechRecognition,自动语音识别)开源模型&#xf…...

【机器学习】向量化使得简单线性回归性能提升

向量化使得简单线性回归性能提升 一、摘要二、向量化运算概述三、向量化运算在简单线性回归中的应用四、性能测试与结果分析 一、摘要 本文主要讲述了向量化运算在简单线性回归算法中的应用。通过回顾传统for循环方式实现的简单线性回归算法&#xff0c;介绍了如何通过最小二乘…...

【kafka系列】消费者

目录 获取消息 1. 消费者获取消息的流程逻辑分析 阶段一&#xff1a;消费者初始化 阶段二&#xff1a;分区分配与重平衡&#xff08;Rebalance&#xff09; 阶段三&#xff1a;消息拉取与处理 阶段四&#xff1a;偏移量提交 核心设计思想 2. 流程 关键点总结 常见参数…...

HackerRank C++面试,中等难度题目 - Attribute Parser

去除字符串首尾的空白字符&#xff08;包括空格、制表符、换行符和回车符&#xff09; void trim(string &s) {size_t start s.find_first_not_of(" \t\n\r");size_t end s.find_last_not_of(" \t\n\r");if (start string::npos) {s ""…...

【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题

1、 文档目标 解决ArmDS Fast Models 中部分内核无法上电的问题。 2、 问题场景 在调用ArmDS的Fast Models中的Cortex-A55的模型&#xff0c;只有Core 0是上电状态&#xff0c;而Core 1处于掉电状态&#xff0c;如图2-1所示&#xff1a; 图2-1 3、软硬件环境 1&#xff09;…...

节目选择器安卓软件编写(针对老年人)

文章目录 需求来源软件界面演示效果源码获取 对爬虫、逆向感兴趣的同学可以查看文章&#xff0c;一对一小班教学&#xff1a;https://blog.csdn.net/weixin_35770067/article/details/142514698 需求来源 由于现在的视频软件过于复杂&#xff0c;某客户想开发一个针对老年人、…...

蓝桥杯之图

图&#xff1a; 对于图来说&#xff0c;重点在于之后的最短路径算法&#xff0c;这边简单做一下了解即可 代码&#xff1a; #include<iostream> #include<string> #include<vector> #include<list> #include<queue> using namespace std; clas…...

中兴光猫修改SN,MAC,修改地区,异地注册,改桥接,路由拨号

前言 请先阅读上一篇博客获取到光猫超级密码电信光猫获取超级密码 电信光猫天翼网关4.0获取超级密码教程 四川电信光猫 中兴 F1855V2 ZXHN F1855V2 telent权限 实战 实测_天翼4.0光猫超级密码-CSDN博客 修改SN-修改地区&#xff0c;光猫异地注册&#xff0c;设置桥接模式&#…...

【kafka系列】Kafka如何保证消息不丢失?

目录 1. 生产者端&#xff1a;确保消息成功发送到Broker 核心机制&#xff1a; 关键步骤&#xff1a; 2. Broker端&#xff1a;持久化与副本同步 核心机制&#xff1a; 关键源码逻辑&#xff1a; 3. 消费者端&#xff1a;可靠消费与Offset提交 核心机制&#xff1a; 关…...

AtCoder Beginner Contest 393 —— E - GCD of Subset 补题 + 题解 python

AtCoder Beginner Contest 393 E - GCD of Subset Problem Statement You are given a sequence A ( A 1 , A 2 , … , A N ) A (A_1, A_2, \dots, A_N) A(A1​,A2​,…,AN​) of length N N N and a positive integer K K K (at most N N N). For each i 1 , 2 , … …...

vue3响应式丢失解决办法(三)

vue3的响应式的理解&#xff0c;与普通对象的区别&#xff08;一&#xff09; vue3 分析总结响应式丢失问题原因&#xff08;二&#xff09; 经过前面2篇文章&#xff0c;知道了响应式为什么丢失了&#xff0c;但是还是碰到了丢失情况&#xff0c;并且通过之前的内容还不能解…...

BY组态:构建灵活、可扩展的自动化系统

引言 在现代工业自动化领域&#xff0c;BY组态&#xff08;Build Your Own Configuration&#xff09;作为一种灵活、可扩展的解决方案&#xff0c;正逐渐成为工程师和系统集成商的首选。BY组态允许用户根据具体需求自定义系统配置&#xff0c;从而优化生产效率、降低成本并提…...

2025 (ISC)²CCSP 回忆录

2025.1.20 广州&#xff0c;周一&#xff0c;我一次性通过了CCSP的考试。 为什么要考证&#xff1f; 个人成长所需 职业热情&#xff1a;做一行爱一行&#xff0c;既然我投入了美好的青春年华到网络安全行业当中&#xff0c;那么对于这个行业最有权威的认证&#xff0c;是肯定…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...