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

【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=0Annex 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.50x19服务返回空快照记录
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.2DTC状态保持清除状态
TC14-015无效子功能参数处理请求消息包含子功能参数(如0x14 0x01)§7.3.4.2返回NRC=0x12(子功能不支持)
TC14-016报文长度错误发送不完整请求(如仅0x14无组号)§7.3.4.4.7返回NRC=0x13(报文长度错误)

三、关键测试场景详解

  1. TC14-007 存储器写保护处理
  • 测试步骤:
    1. 通过硬件仿真器激活EEPROM写保护
    2. 发送0x14 0xFFFFFF清除所有DTC
  • 预期行为:
    • ECU返回NRC=0x72(通用编程错误)
    • 系统日志记录错误码0x8015(存储器保护触发)
  1. TC14-016 报文长度错误处理
  • 测试步骤:
    1. 发送仅包含0x14服务标识符的空请求(无DTC组号)
    2. 检查ECU响应
  • 验证要点:
    • ECU应检测报文长度不符合标准定义(标准要求3字节组号)
    • 返回NRC=0x13需包含错误详情字段

四、测试执行建议

  1. 工具链配置:

    • 使用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数量 }
      }
      
  2. 异常场景模拟:

    • 使用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安装路径&#xff…...

电动汽车电池监测平台系统设计(论文+源码+图纸)

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版…...

Windows内存清理终极指南:用Mem Reduct快速解决卡顿问题的完整教程

Windows内存清理终极指南:用Mem Reduct快速解决卡顿问题的完整教程 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memre…...

服务网格与 Java:构建弹性微服务架构

服务网格与 Java:构建弹性微服务架构 核心概念 服务网格是一种专门用于处理服务间通信的基础设施层,它负责服务之间的可靠传递请求。在 Java 微服务架构中,服务网格可以提供流量管理、安全通信、可观测性和弹性能力,帮助构建更加可…...

【MIMO通信】神经网络MIMO无线通信全面性能分析【含Matlab源码 15415期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...

Better-Plan-Mode:重构浏览器原生计划模式,打造高效信息处理工作流

1. 项目概述:一个为“计划模式”注入灵魂的浏览器扩展 如果你和我一样,是个重度浏览器使用者,每天在几十个标签页之间反复横跳,试图用“稍后阅读”来整理思绪,结果却只是让收藏夹和书签栏越来越臃肿,那么这…...

14款大模型横评:ChatGPT仍领先,国产模型进步神速!你的老板可能正在用AI写周报?

过去一个多月,我们访谈了十多位工作中经常使用大模型的人,结合社交媒体上广泛传播的用例,设定 15 个日常工作相关的问题,测评国内外 14 款大模型,包括最近上线的 GPT-5.1、Claude Opus 4.5、Gemini 3 Pro、文心 5.0、K…...

瑞芯微RKNN开发板连不上?手把手教你排查rknn_server启动问题(附日志调试技巧)

瑞芯微RKNN开发板连接故障全攻略:从日志分析到稳定运行的深度解决方案 当你在瑞芯微RKNN开发板上部署AI模型时,是否遇到过这样的场景:所有步骤都按官方文档操作,却在最后一步收到冰冷的server connect fail错误提示?这…...

从简谱到MIDI:Python音乐编码转换工具的设计与实现

1. 项目概述:一个“通乐码”的探索与实践最近在GitHub上看到一个挺有意思的项目,叫simonxmau/tonglema。光看这个名字,可能有点摸不着头脑,但点进去之后,你会发现它其实是一个关于“通乐码”的探索性仓库。对于很多开发…...

构建个人技能引擎:用结构化知识库提升开发效率

1. 项目概述:一个技能驱动的记忆火花引擎最近在整理个人知识库和提升工作效率时,我一直在思考一个问题:如何将那些零散的、灵光一现的“想法火花”和“操作技能”有效地组织起来,并让它们能在需要的时候被精准地“点燃”&#xff…...

STM32F407外扩SRAM实战:用CubeMX配置FSMC驱动IS62WV51216,解决内存不够用的问题

STM32F407外扩SRAM实战:CubeMX配置FSMC驱动IS62WV51216全解析 当你在开发需要处理大量数据的嵌入式应用时,是否遇到过这样的场景:GUI界面刷新卡顿、复杂算法因缓存不足而运行缓慢,或是传感器数据因内存限制只能降低采样率&#xf…...

别再只调参了!深入PX4 uORB与MAVROS消息流转,搞懂无人机数据到底怎么跑的

无人机通信架构深度解析:从ROS节点到PX4飞控的数据旅程 在无人机开发领域,许多开发者习惯性地将注意力集中在参数调优和算法实现上,却忽略了系统底层的数据流转机制。当遇到控制指令延迟或数据异常时,这种认知盲区往往导致调试过程…...