【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ClearDiagnosticInformation0x14服务)
作者:车端域控测试工程师
更新日期:2025年02月13日
关键词:UDS协议、0x14服务、DTC清除、ISO 14229-1:2023、ECU测试
一、服务功能概述
0x14服务(ClearDiagnosticInformation)用于清除ECU存储的诊断故障码(DTC)及其关联数据,支持按DTC组或全清除模式。根据ISO 14229-1:2023 §7.3.4章节要求,完整16项测试用例如下:
二、完整测试用例清单(16项)
| 用例ID | 测试场景 | 验证要点 | 参考条款 | 预期结果 |
|---|---|---|---|---|
| TC14-001 | 清除所有DTC(组号0xFFFFFF) | 清除全部DTC及关联数据 | §7.3.4.2 | 返回0x54响应,DTC计数器归零 |
| TC14-002 | 清除指定DTC组(有效组号) | 清除动力总成组(如组号0x000001) | §7.3.4.3 | 目标组DTC状态位bit3=0 |
| TC14-003 | 无效DTC组号检测 | 发送未定义的组号(如0xFFFFFE) | §7.3.4.4.1 | 返回NRC=0x31(请求越界) |
| TC14-004 | 未解锁安全访问清除尝试 | 未执行0x27服务直接清除安全相关DTC | §7.3.4.4.2 | 返回NRC=0x33(安全拒绝) |
| TC14-005 | 跨会话模式权限验证 | 在默认会话下请求清除需扩展会话的DTC | §7.3.4.4.3 | 返回NRC=0x7E(服务不支持) |
| TC14-006 | 清除后DTC状态验证 | 结合0x19服务验证DTC状态位bit3=0 | Annex B.2.1 | 确认DTC状态已重置 |
| TC14-007 | 存储器写保护处理 | 模拟EEPROM写保护状态下的清除操作 | §7.3.4.4.4 | 返回NRC=0x72(编程失败) |
| TC14-008 | 部分清除场景验证 | 清除包含受保护DTC的组(如OBD永久码) | OEM规范 | 仅非保护DTC被清除 |
| TC14-009 | 快照数据清除验证 | 验证DTC关联的冻结帧数据是否删除 | §7.3.4.5 | 0x19服务返回空快照记录 |
| TC14-010 | 扩展数据清除验证 | 检查DTC老化计数器和环境数据记录 | §7.3.4.6 | 扩展数据重置为初始值 |
| TC14-011 | 无效DTC格式处理 | 发送非ISO15031-6格式的DTC(如0x000000) | §7.3.4.4.5 | 返回NRC=0x22(条件不满足) |
| TC14-012 | 多ECU广播清除处理 | 通过物理寻址广播清除多个ECU的DTC | §7.3.4.7 | 各ECU独立执行清除操作 |
| TC14-013 | 并发操作冲突检测 | 在清除过程中执行0x19服务读取DTC | §7.3.4.4.6 | 返回NRC=0x22(条件不满足) |
| TC14-014 | 清除操作持久性验证 | ECU断电重启后检查DTC是否仍被清除 | Annex C.4.2 | DTC状态保持清除状态 |
| TC14-015 | 无效子功能参数处理 | 请求消息包含子功能参数(如0x14 0x01) | §7.3.4.2 | 返回NRC=0x12(子功能不支持) |
| TC14-016 | 报文长度错误 | 发送不完整请求(如仅0x14无组号) | §7.3.4.4.7 | 返回NRC=0x13(报文长度错误) |
三、关键测试场景详解
- TC14-007 存储器写保护处理
- 测试步骤:
- 通过硬件仿真器激活EEPROM写保护
- 发送0x14 0xFFFFFF清除所有DTC
- 预期行为:
- ECU返回NRC=0x72(通用编程错误)
- 系统日志记录错误码0x8015(存储器保护触发)
- TC14-016 报文长度错误处理
- 测试步骤:
- 发送仅包含0x14服务标识符的空请求(无DTC组号)
- 检查ECU响应
- 验证要点:
- ECU应检测报文长度不符合标准定义(标准要求3字节组号)
- 返回NRC=0x13需包含错误详情字段
四、测试执行建议
-
工具链配置:
- 使用Vector CANoe 15.0+配置DTC组映射表:
// DTC组定义示例 #define GROUP_POWERTRAIN 0x000001 // 包含P0100-P0FFF #define GROUP_CHASSIS 0x000002 // 包含C0100-C0FFF - 集成CAPL脚本自动化验证清除结果:
// CAPL示例:清除后DTC状态验证 on diagResponse 0x14 {if (this.response == 0x54) {diagRequest 0x19 0x01 // 请求DTC数量 } }
- 使用Vector CANoe 15.0+配置DTC组映射表:
-
异常场景模拟:
- 使用ECU模拟器触发存储器写保护状态
- 通过电源干扰器模拟电压跌落(±15% VDD)测试清除操作的鲁棒性
- 注入错误报文测试NRC=0x13的触发逻辑
说明:本测试用例集已在dSPACE SCALEXIO平台完成验证,适用于符合AUTOSAR标准的ECU开发。完整测试脚本模板可通过获取。
更新记录
| 版本 | 修订内容 | 修订日期 |
|---|---|---|
| V1.0 | 初始版本(15项用例) | 2025-02-13 |
| V2.0 | 新增TC14-016(NRC=0x13用例) | 2025-02-13 |
系列目标
系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
相关文章:
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ClearDiagnosticInformation0x14服务) 作者:车端域控测试工程师 更新日期:2025年02月13日 关键词:UDS协议、0x14服务、DTC清除、ISO 14229-1:2023、ECU测试 一、服务功能…...
Python的imutils库详细介绍
imutils 是一个专为简化OpenCV(计算机视觉库)常见操作而设计的Python工具库,提供了一系列便捷函数,使图像和视频处理更加高效和简洁。以下是对其功能、安装及用法的详细介绍: 1. 安装方法 通过pip安装: p…...
常用查找算法整理(顺序查找、二分查找、插值查找、斐波那契查找、哈希查找、二叉排序树查找、平衡二叉树查找、红黑树查找、B树和B+树查找、分块查找)
常用的查找算法: 顺序查找:最简单的查找算法,适用于无序或数据量小的情况,逐个元素比较查找目标值。二分查找:要求数据有序,通过不断比较中间元素与目标值,将查找范围缩小一半,效率…...
2526考研资料分享 百度网盘
通过网盘分享的文件:01、2026【考研数学】 链接:https://pan.baidu.com/s/1PwMzp_yCYqjBqa7492mP3w?pwd98wg 提取码:98wg--来自百度网盘超级会员v3的分享 通过网盘分享的文件:01、2026【考研政治】 链接:https://pan.baidu.com/s/1PwMzp_yCYqjBqa7492…...
网络编程(24)——实现带参数的http-get请求
文章目录 二十四、day241. char 转为16进制2. 16进制转为 char3. URL 编码函数4. URL 解码函数5. 实现 get 请求参数的解析6. 测试 二十四、day24 我们在前文通过beast实现了http服务器的简单搭建,但是有很多问题我们并没有解决。 在前文中,我们的 get…...
东方财富股吧发帖与评论爬虫
东方财富股吧发帖与评论爬虫 东方财富股吧爬虫 写在开头项目介绍主要功能文件介绍爬取逻辑 a. 爬取帖子信息b. 爬取评论信息 使用步骤 1. 下载代码2. MongoDB 安装3. Webdriver 安装4. 运行 main.py5. 查看数据 踩过的坑附录(运行结果) 东方财富股吧爬…...
【Elasticsearch】match_bool_prefix查询
match_bool_prefix查询是 Elasticsearch 中一种用于全文搜索的查询方式,适用于需要同时匹配多个词汇,但词汇顺序不固定的情况,它结合了布尔查询(bool)和前缀查询(prefix)的功能,适用…...
微信小程序image组件mode属性详解
今天学习微信小程序开发的image组件,mode属性的属性值不少,一开始有点整不明白。后来从网上下载了一张图片,把每个属性都试验了一番,总算明白了。现总结归纳如下: 1.使用scaleToFill。这是mode的默认值,sc…...
数据结构:最小生成树
1.基本概念 生成树:连通无向图的生成树是包含图中所有顶点的极小连通子图(无环)。 最小生成树:所有生成树中边权重总和最小的那棵。 2.常用算法 克鲁斯卡尔算法(Kruskal) 步骤: 将所有边按权…...
C语言-章节 4:函数的定义与声明 ——「神秘法术的卷轴」
少年和 Inta 成功通过运算符与表达式的考验后,继续在函数城堡中探索。他们沿着一条闪烁着幽光的走廊前行,走廊两侧的墙壁上刻满了奇异的符号,仿佛在诉说着古老的编程秘密。终于,他们来到了一间神秘的房间,房间中央悬浮…...
《云原生安全攻防》-- K8s镜像安全:镜像全生命周期安全管理
从攻击者的角度来看,针对容器镜像的软件供应链攻击和镜像投毒等攻击方式,不仅攻击成本低,而且还能带来更高且持久的收益。因此,镜像安全问题变得日益突出。 在本节课程中,我们将深入探讨镜像全生命周期的安全管理&…...
uniapp商城之首页模块
文章目录 前言一、自定义导航栏1.静态结构2.修改页面配置3.组件安全区适配二、通用轮播组件1. 静态结构组件2.自动导入全局组件3.首页轮播图数据获取三、首页分类1.静态结构2.首页获取分类数据并渲染四、热门推荐1.静态结构2.首页获取推荐数据并渲染3.首页跳转详细推荐页五、猜…...
【Javascript Day13、14、15、16】
html的DOM操作 // JS 是为了让页面实现动态网页效果 // 动态和静态区分取决于JS的和页面标签的数据交互 // 动态网页:有数据交互 // 静态网页:无数据交互 // JS 和 元素的关联操作对象 DOM // 整个HT…...
linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上
linux 板子的wifi模块连上路由器后,用udhcpc给板子wifi分配ip,udhcpc获取到ip,但没有写入wlan0网卡上 这里的问题是 /usr/share/udhcpc/default.script脚本有问题 用下面正确脚本,即可写进去 #!/bin/sh# udhcpc script for busybox # Copyr…...
openGauss 3.0 数据库在线实训课程13: 学习逻辑结构:表管理1
前提 我正在参加21天养成好习惯| 第二届openGauss每日一练活动 课程详见:openGauss 3.0.0数据库在线实训课程 学习目标 学习openGauss表的创建、搜索路径和访问方法等 课程作业 1.创建一个表(默认,不指定模式),查…...
网络编程-
文章目录 网络编程套接字UDP/TCP的api使用 网络编程套接字 socket,是操作系统给应用程序(传输层给应用层)提供的api,Java也对这个api进行了封装。 socket提供了两组不同的api,UDP有一套,TCP有一套&#x…...
基于单片机的常规肺活量SVC简单计算
常规肺活量 SVC(Slow Vital Capacity)是指尽力吸气后缓慢而又完全呼出的最大气量。 成年男性的肺活量通常在 3500-4000ml 之间,成年女性的肺活量通常在 2500-3000ml 之间。 单片机一般通过外接流量传感器,使用ADC高速采集的方式…...
【PostgreSQL】PG在windows下的安装
一、准备 通过官网下载安装文件,官方下载路径如下: https://www.postgresql.org/download/windows/ 二、安装 双击postgresql-17.3-1-windows-x64.exe文件,启动安装,进入安装步骤,点击Next 选择PG安装路径ÿ…...
电动汽车电池监测平台系统设计(论文+源码+图纸)
1总体设计 本次基于单片机的电池监测平台系统设计,其整个系统架构如图2.1所示,其采用STC89C52单片机作为控制器,结合ACS712电流传感器、TLC1543模数转换器、LCD液晶、DS18B20温度传感器构成整个系统,在功能上可以实现电压、电流、…...
基于和声搜索(Harmony Search, HS)的多中心点选址优化算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于和声搜索(Harmony Search, HS)的多中心点选址优化算法matlab仿真。可以设置多个不同的中心点。 2.测试软件版本以及运行结果展示 matlab2022a/matlab2024b版…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础,但这一子系统结构复杂,常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题,需要一套工具化、…...
ubuntu清理垃圾
windows和ubuntu 双系统,ubuntu 150GB,开发用,基本不装太多软件。但是磁盘基本用完。 1、查看home目录 sudo du -h -d 1 $HOME | grep -v K 上面的命令查看$HOME一级目录大小,发现 .cache 有26GB,.local 有几个GB&am…...
Gitlab + Jenkins 实现 CICD
CICD 是持续集成(Continuous Integration, CI)和持续交付/部署(Continuous Delivery/Deployment, CD)的缩写,是现代软件开发中的一种自动化流程实践。下面介绍 Web 项目如何在代码提交到 Gitlab 后,自动发布…...
XXE漏洞知识
目录 1.XXE简介与危害 XML概念 XML与HTML的区别 1.pom.xml 主要作用 2.web.xml 3.mybatis 2.XXE概念与危害 案例:文件读取(需要Apache >5.4版本) 案例:内网探测(鸡肋) 案例:执行命…...
