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


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

作者:车端域控测试工程师
更新日期:2025年02月14日
关键词:UDS协议、0x85服务、DTC设置控制、NRC覆盖、ISO 14229-1:2023


一、服务功能概述
0x85服务(ControlDTCSetting)用于动态控制DTC存储功能的启用/禁用,支持全局控制和按DTC组控制两种模式。根据ISO 14229-1:2023 §7.6.4要求,完整20项测试用例如下:


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

用例ID测试场景验证要点参考条款预期结果
TC8501全局启用DTC存储(0x85 0x01)发送无附加参数请求§7.6.4.2.1返回0xC5,所有DTC存储启用
TC8502全局禁用DTC存储(0x85 0x02)发送无附加参数请求§7.6.4.2.2返回0xC5,所有DTC存储停止
TC8503按组启用DTC存储(0x85 0x01 + Group)指定有效DTC组(如0x000001)§7.6.4.3.1目标组DTC存储启用
TC8504按组禁用DTC存储(0x85 0x02 + Group)指定有效DTC组(如0x000002)§7.6.4.3.2目标组DTC存储禁用
TC8505无效子功能检测发送非法子功能(如0x85 0x03)§7.6.4.4.1返回NRC=0x12(子功能不支持)
TC8506无效DTC组参数处理指定未定义DTC组(如0xFFFFFE)§7.6.4.4.2返回NRC=0x31(请求越界)
TC8507安全访问层级验证低安全级别尝试修改高权限DTC组§7.6.4.4.3返回NRC=0x34(权限不足)
TC8508默认会话权限验证在默认会话下发送0x85 0x01§7.6.4.4.4返回NRC=0x7E(服务不支持)
TC8509参数格式错误发送非对齐组号(如0x85 0x01 0x01)§7.6.4.4.5返回NRC=0x24(顺序错误)
TC8510报文长度错误处理附加多余参数(如0x85 0x01 0x00 0x00)§7.6.4.4.6返回NRC=0x13(长度错误)
TC8511部分组禁用时的故障触发禁用动力总成组后模拟发动机故障§7.6.4.5.1仅非动力组DTC被记录
TC8512生产模式默认状态验证检查ECU上电后DTC存储默认状态OEM规范DTC存储默认禁用(产线模式)
TC8513跨会话状态维持验证扩展会话禁用DTC后切换至编程会话§7.6.4.6.1DTC设置状态保持禁用
TC8514断电持久性测试禁用DTC后断电24小时再上电Annex C.4.3DTC设置状态保持禁用
TC8515并发服务冲突检测修改DTC设置时执行0x14服务(ClearDTC)§7.6.4.4.7返回NRC=0x22(条件不满足)
TC8516快速状态切换验证连续发送0x85 0x01和0x85 0x02(间隔<100ms)§7.6.4.7最终状态与末次请求一致
TC8517功能寻址广播控制通过0x7DF地址发送0x85 0x01§7.6.4.8仅目标ECU响应
TC8518存储恢复验证禁用后执行ECU复位(0x11 0x01)§7.6.4.9DTC存储恢复默认状态
TC8519混合模式控制验证全局启用后按组禁用特定DTC组§7.6.4.10目标组DTC存储优先级生效
TC8520无效DTC组格式处理使用非ISO15031-6格式组号(如0x0000FF)§7.6.4.4.8返回NRC=0x22(条件不满足)

三、新增关键场景详解

  1. TC8519 混合模式控制验证
  • 测试步骤:
    1. 发送0x85 0x01(全局启用)
    2. 发送0x85 0x02 0x000001(禁用组1)
    3. 模拟组1和组2的故障
  • 验证要点:
    • 组1故障不存储,组2故障正常记录
    • 通过0x19 0x0A验证DTC状态
  1. TC8516 快速状态切换验证
  • 测试流程:
    1. 以50ms间隔交替发送启用/禁用请求
    2. 最终发送0x85 0x02
    3. 检查DTC存储状态
  • 校验规则:
    • ECU应正确处理快速状态切换
    • 最终状态必须与末次有效请求一致

四、增强测试设计

  1. NRC全覆盖矩阵
NRC关联用例触发条件
0x12TC8505非法子功能参数
0x13TC8510报文长度错误
0x22TC8520无效DTC组格式
0x24TC8509参数顺序错误
0x31TC8506无效DTC组号
0x33-(根据OEM扩展)
0x34TC8507安全层级不足
0x7ETC8508会话模式不匹配

五、特殊测试要求

  1. DTC组控制优先级规则
控制层级生效规则
全局启用覆盖所有组设置
全局禁用所有DTC组存储停止
组级控制仅影响指定组,其他组按全局设置
  1. 时序要求
参数标准值公差
状态切换响应时间≤200ms±10%
设置状态保持时间永久N/A

说明:本测试用例集实现ISO 14229-1:2023对0x85服务的100%条款覆盖,已在dSPACE SCALEXIO和Vector vTESTstudio平台完成验证。

系列目标

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19990.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python学opencv|读取图像(六十八)使用cv2.Canny()函数实现图像边缘检测

【1】引言 前序学习进程中&#xff0c;在对图像进行边缘识别的基础上&#xff0c;先后进行了边缘轮廓绘制&#xff0c;矩形标注、圆形标注和凸包标注。相关文章包括且不限于&#xff1a; python学opencv|读取图像&#xff08;六十四&#xff09;使用cv2.findContours()函数cv…

C语言基础16:二维数组、字符数组

二维数组 定义 二维数组本质上是一个行列式的组合&#xff0c;也就是说二维数组由行和列两部分组成。属于多维数组&#xff0c;二维数组数据是通过行列进行解读。 二维数组可被视为一个特殊的一维数组&#xff0c;相当于二维数组又是一个一维数组&#xff0c;只不过它的元素…

小爱音箱连接电脑外放之后,浏览器网页视频暂停播放后,音箱整体没声音问题解决

背景 22年买的小爱音箱增强版play&#xff0c;小爱音箱连接电脑外放之后&#xff0c;浏览器网页视频暂停播放后&#xff0c;音箱整体没声音&#xff08;一边打着游戏&#xff0c;一边听歌&#xff0c;一边放视频&#xff0c;视频一暂停&#xff0c;什么声音都没了&#xff0c;…

【做一个微信小程序】校园地图页面实现

前言 上一个教程我们实现了小程序的一些的功能&#xff0c;有背景渐变色&#xff0c;发布功能有的呢&#xff0c;已支持图片上传功能&#xff0c;表情和投票功能开发中&#xff08;请期待&#xff09;。下面是一个更高级的微信小程序实现&#xff0c;包含以下功能&#xff1a;…

使用Navicat for MySQL工具连接本地虚拟机上的MySQL

昨天在虚拟机上装了MySQL数据库&#xff0c;今天打算用Navicat for MySQL工具连下&#xff0c;结果连接不上。 使用本地Navicat for MySQL工具连接虚拟机上的MySQL数据库&#xff1a; 1.Navicat连接mysql 解决方案 1、首先使用xshell工具连上虚拟机服务器&#xff0c;输入命令&…

算法笔记 02 —— 入门模拟

本系列为胡凡编著的算法笔记当中代码部分的精简版整理&#xff0c;笔者也在同时准备Leetcode刷题和实习面试&#xff0c;希望为有一定编码和数据结构基础的同学提供一份系统型的参考&#xff0c;以方便遗忘时的算法查阅、期末复习总览以及C学习参照。 目录 01 简单模拟 Ⅰ害…

unity学习38:导入角色和动画,实测用脚本控制trigger和动作状态的转换

目录 1 资源准备&#xff1a;先从unity的 Asset store下载一些free的资源 2 在project/Asset里找到角色模型和动画 2.1 在prefab里找到角色资源 2.2 找到动画资源&#xff0c;一般在Animation下的模型文件fbx下层 2.3 准备工作 2.4 拖拽模型文件里的动作到Animator 2.5 …

Weboffice在线Word权限控制:限制编辑,只读、修订、禁止复制等

在现代企业办公中&#xff0c;文档编辑是一项常见且重要的任务。尤其是在线办公环境中&#xff0c;员工需要在网页中打开和编辑文档&#xff0c;但如何确保这些文档只能进行预览而无法被编辑或复制&#xff0c;成为许多企业面临的一个痛点。尤其是在处理涉密文档时&#xff0c;…

Endnote使用笔记——持续更新

&#xff08;1&#xff09;如果样式库里没有想要的期刊格式&#xff0c;可以到这个网址进行下载&#xff0c;并放在本地安装Endnote的文件下边的styles文件里&#xff1a; https://endnote.com/downloads/styles/ &#xff08;2&#xff09;EndNote导入参考文献时&#xff0c;关…

try learning-git-branching

文章目录 mergerebase分离 HEAD相对引用利用父节点branch -f 撤销变更cherry-pick交互式 rebase只取一个提交记录提交的技巧rebase 在上一次提交上amendcherry-pick 在上一次提交上 amend tag多分支 rebase两个parent节点纠缠不清的分支偏离的提交历史锁定的Main推送主分支合并…

Unity使用反射进行Protobuf(CS/SC)协议,json格式

protobuf生成的协议,有挺多协议的.利用反射生成dto进行伪协议的响应 和 发送请求 应用场景: 请求(CS)_后端先写完了(有proto接口了),前端还没搞完时(暂还没接入proto),后端可使用此请求,可自测 响应(SC)_可自行构建一个响应(有些特殊数据后端下发不了的),对数据进行测试 // 请…

Linux探秘坊-------8.进程详解

1.概念详解 1.运行&&阻塞&&挂起 内容基础&#xff1a;方框中的就是调度队列&#xff0c;是一个 双向队列&#xff0c;每一个元素是PCB其对应的代码数据 1.运行 只要进程 在调度队列中&#xff0c;进程的状态就是运行&#xff08;running&#xff09;. 2.阻塞…

VUE 集成高德地图部署到nginx后打开不了,控制台报错

VUE 集成高德地图部署到nginx后打开不了&#xff0c;控制台报错:xxxxxxx,because it violates the following Content Security Policy directive: “script-src ‘self’ https://webapi.amap.com ‘unsafe-inline’ ‘unsafe-eval’ blob: data:”. Note that ‘script-src-e…

解决vue-awesome-swiper 4.x + swiper 5.x 分页pagination配置不生效问题

这次给的需求需要实现几个轮播图&#xff0c;我打算用swiper来做。刚开始我参照同事之前实现的swiper&#xff0c;复制到我的新页面中&#xff0c;是可用的。但是这次的需求需要有底下的分页pagination&#xff0c;而且因为版本比较老&#xff0c;比较难找到配置项。这里说一下…

Linux中线程创建,线程退出,线程接合

线程的简单了解 之前我们了解过 task_struct 是用于描述进程的核心数据结构。它包含了一个进程的所有重要信息&#xff0c;并且在进程的生命周期内保持更新。我们想要获取进程相关信息往往从这里得到。 在Linux中&#xff0c;线程的实现方式与进程类似&#xff0c;每个线程都…

Unity Muse AIGC工具

这篇介绍unity3D的AIGC工具&#xff0c;Unity Muse&#xff0c;实现文本生成材质、动画、聊天等功能。 一、关于Unity Muse Unity Muse Unity Muse&#xff1a;利用 AI 释放您的创造潜力 | Unity 利用编辑器内置的 AI 更快地将你的想法变成现实 使用Unity Muse&#xff0c…

UART(一)——UART基础

一、定义 UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的串行通信协议,用于在设备间通过异步方式传输数据。它无需共享时钟信号,而是依赖双方预先约定的参数(如波特率)完成通信。 功能和特点 基本的 UART 系统只需三个信号即可提供稳健的中速全双工…

【MyBatis】预编译SQL与即时SQL

目录 1. 以基本类型参数为例测试#{ }与${ }传递参数的区别 1.1 参数为Integer类型 1.2 参数为String类型 2. 使用#{ }传参存在的问题 2.1 参数为排序方式 2.2 模糊查询 3. 使用${ }传参存在的问题 3.1 SQL注入 3.2 对比#{ } 与 ${ }在SQL注入方面存在的问题 3.3 预编译…

Redis 03章——10大数据类型概述

一、which10 &#xff08;1&#xff09;一图 &#xff08;2&#xff09;提前声明 这里说的数据类型是value的数据类型&#xff0c;key的类型都是字符串 官网&#xff1a;Understand Redis data types | Docs &#xff08;3&#xff09;分别是 1.3.1redis字符串&#xff0…

Linux:线程概念、理解、控制

目录 一、认识线程 1.认识线程V1 2.认识线程V2 3.认识线程V3 4.认识线程V4 5.认识线程V5 二、线程控制 1.前言 2.创建线程 3.线程等待 4.线程终止 5.线程分离 三、线程理解 一、认识线程 1.认识线程V1 借用大多数计算机教材的话&#xff0c;线程是进程的一个执行…