UDS诊断-面试题2
bilibili视频推荐:
车载测试面试题UDS诊断协议,你知道什么是UDS诊断?ECU是什么?刷写ECU_哔哩哔哩_bilibili
总结:
1.汽车诊断UDS含义:
一套统一的诊断服务命令。
2.具体操作流程:
使用电脑或者手持诊断仪,向ecu发送一串命令,然后等待汽车中的ecu返回数据或者故障码信息。
3.UDS服务是哪个服务规定的?协议编号是多少?
ISO14229-1
4.UDS的26个服务,简称SID
5.SID分为6大类服务:
(红色是测试经常用到的服务)
诊断和通信管理功能单元
| SID(0x) | 诊断服务名(中英文) |
| 10 | 诊断会话控制 |
| 11 | ECU复位 |
| 27 | 安全访问 |
| 28 | 通讯控制 |
| 3E | 诊断仪在线 |
| 83 | 访问时间参数 |
| 84 | 安全数据传输 |
| 85 | 控制DTC设置 |
| 86 | 事件响应 |
| 87 | 链路控制 |
故障码传输功能单元
| SID(0X) | 诊断服务名 |
| 14 | 清除诊断信息 |
| 19 | 读取故障码信息 |
数据传输类
| SID(0X) | 诊断服务名 |
| 22 | 通过ID读数据 |
| 2E | 通过ID写数据 |
| 23 | 通过地址读取内存 |
| 24 | 通过ID读比例数据 |
| 2A | 通过周期ID读取数据 |
| 2C | 动态定义标识符 |
| 3D | 通过地址写内存 |
输入输出控制功能单元
| SID(0X) | 诊断服务名 | 例子 |
| 2F | 通过ID控制输入输出 | 通过发送id控制车窗的升降 |
例行程序功能单元
| SID(0X) | 诊断服务名 | 例子 |
| 31 | 例行程序控制 |
上传和下载功能单元
| SID(0X) | 诊断服务名 |
| 34 | 请求下载 |
| 35 | 请求上传 |
| 36 | 数据传输 |
| 37 | 请求退出传输 |
| 38 | 请求文件传输 |
6.UDS诊断请求和响应
过程:诊断仪向ecu发送诊断请求,等待ecu接收到请求后,给诊断仪发送响应结果
请求响应格式:符合uds服务的16进制报文
例子:
请求:22 01 07;含义:22:读取服务,01 07:要去读取的数据id
积极响应:62 01 07 7C 32;含义:62=22+40
消极响应:7F 22 11;含义:7F:否定响应,11:否定响应码(NRC)
7.经常用到的否定响应码:NRC
78响应码的含义比较特殊:已收到请求,但晚些响应。

8.can总线上会挂载着上百个ecu,请求报文是怎么发送给指定的ecu呢?
首先,每个ecu都会有唯一的诊断请求和响应的can报文id

然后,进行物理寻址请求:id 702(一对一)或者功能寻址请求:id 7DF(信息群发)
9.0x10服务
默认会话:读取故障码22、重置ec11等
扩展会话:解锁ecu、控制输入输出
编程会话:34~38服务
注意:
10. 服务请求和响应报文的报文格式
其中P2ServerMax:响应等待时间,P2*ServerMax:增强会话响应时间,响应最大的响应时间

11.UDS报文传输的四种帧~IS015765-2规定uds报文传输细节
单帧(SF)传输,0开头的为单帧例子:

多帧(FF)传输,例子:
1是首帧,3是流控帧,2是连续帧


12.编程会话下,解锁 ecu流程
诊断仪发送一个生成种子请求给ecu,ecu生成随机种子,然后将生成的种子返回给诊断仪,并且通过安全算法计算出key,诊断仪也使用自己的安全算法计算出key,并将其发送给ecu,进行验证操作,如果两边key相同则返回结果给诊断仪。


解锁ecu时,经常会遇到的nrc

13. 诊断故障码DTC
例子五位故障码:P0420:P0 0x4 0x20
P:
0:
4:
20:
14.SAE J2012-DA进行解码可以看到故障码具体属于什么类型,三位故障码?
三位故障码,相对于两位故障码多了FTB(故障类型字节)
FTB类型:

15:故障码状态码DTC Status

09十六进制转为二进制,每个bit含义:

16.19 01服务:读取故障码的数量
DTC SAM:支持的故障码状态,FF指的是支持所有故障
DTC FID:支持的DTC 格式,00表示最常见的DTC格式

17.0x19服务中的02子功能:读取故障码列表

相关文章:
UDS诊断-面试题2
bilibili视频推荐: 车载测试面试题UDS诊断协议,你知道什么是UDS诊断?ECU是什么?刷写ECU_哔哩哔哩_bilibili 总结: 1.汽车诊断UDS含义: 一套统一的诊断服务命令。 2.具体操作流程: 使用电脑…...
ovirt error: Network not found: no network with matching name ‘vdsm-ovirtmgmt‘
Ovirt Node节点启动vm出现 error: Network not found: no network with matching name ‘vdsm-ovirtmgmt’ 错误的常见情况有以下几种:常见情况有以下几种: 网络配置丢失或未正确配置: ○ 在 oVirt 或 libvirt 环境中,如果网络配…...
2024百度的组织架构和产品分布
百度2024年的组织架构主要分为以下几个事业群组,每个事业群组负责不同的产品和服务: 一、智能云事业群组(ACG) 主要产品与服务: 百度云:提供云计算、存储、大数据处理等服务。AI云服务:包括语…...
Java中List、ArrayList与顺序表
List、ArrayList与顺序表 List什么是List常用方法介绍List的使用 ArrayList与顺序表线性表顺序表接口的实现 ArrayList简介ArrayList的使用ArrayList的构造ArrayList的常见操作ArrayList的遍历ArrayList的扩容机制 ArrayList的具体使用杨辉三角简单的洗牌算法 ArrayList的问题及…...
缓存技巧 · Spring Cache Caffeine 高性能缓存库
Caffeine 背景 Caffeine是一个高性能的Java缓存库,它基于Guava Cache进行了增强,提供了更加出色的缓存体验。Caffeine的主要特点包括: 高性能:Caffeine使用了Java 8最新的StampedLock乐观锁技术,极大地提高了缓存的并…...
RabbitMq中交换机(Exchange)、队列(Queue)和路由键(Routing Key)
RabbitMQ 是一个消息代理系统,使用交换机(Exchange)、队列(Queue)和路由键(Routing Key)来管理消息的传递。它们分别起到不同的作用,构成了消息从生产者到消费者的传递路径。 以下是…...
解码 OpenAI 的 o1 系列大型语言模型
OpenAI 表示,其 Strawberry 项目已升级为新的大型语言模型 (LLM) 系列,公司将其命名为 OpenAI o1。 该公司表示,新系列模型还包括一个 o1-mini 版本,以提高成本效益,可根据其推理能力与最新的GPT-4o 模型进行区分。 …...
大小端字节序 和 内存高低地址顺序
目录 1. 大小端字节序 1.1 什么是大小端字节序? 1.2 为什么有大小端字节序? 1.3 习题:用程序结果判断大端小端 2. 各种易混淆的高低地址顺序 2.1 监视窗口的地址表示【计算机标准展示方式】 2.2 横向地址表示 2.3 一个字节 与 多个字节 的地址…...
Spring扩展点系列-MergedBeanDefinitionPostProcessor
文章目录 简介源码分析示例示例一:Spring中Autowire注解的依赖注入 简介 spring容器中Bean的生命周期内所有可扩展的点的调用顺序 扩展接口 实现接口ApplicationContextlnitializer initialize AbstractApplicationContext refreshe BeanDefinitionRegistryPos…...
Centos 7.9 使用 crontab 实现开机启动
[rootlocalhost ~]# crontab -e [rootlocalhost ~]# reboot # crontab -e reboot /path/to/my/program # reboot 表示重启开机的时候运行一次 reboot /test/hello.sh 参考: Linux crontab 命令 https://www.runoob.com/linux/linux-comm-crontab.html Run prog…...
基于微信的设备故障报修管理系统设计与实现+ssm论文源码调试讲解
2相关技术 2.1微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。尤其拥抱微信生态圈,让微信小程序更加的如虎添翼,发展迅猛。 2.2 MYSQL数据…...
yolo自动化项目实例解析(二)ui页面整理 1.78
我们在上一章整理main.py 的if __name__ __main__: 内容还留下面这一段, from PyQt5.QtWidgets import *from lanrenauto.moni.moni import *from PyQt5.QtGui import *app QApplication(sys.argv) # 初始化Qt应用ratio screen_width / 2560 # 分辨率比例# 设…...
PyQt / PySide + Pywin32 + ctypes 自定义标题栏窗口 + 完全还原 Windows 原生窗口边框特效项目
项目地址: GitHub - github201014/PyQt-NativeWindow: A class of window include nativeEvent, use PySide or PyQt and Pywin32 and ctypesA class of window include nativeEvent, use PySide or PyQt and Pywin32 and ctypes - github201014/PyQt-NativeWindow…...
面试时遇见的项目问题
汽车在线销售平台项目 项目的甲方是谁? 甲方是一家汽车销售公司,他们希望通过互联网技术提升销售效率和服务质量 为什么要做这个项目? 很多消费者越来越倾向于在线上完成购车之前的大部分决策。所以甲方找到我们希望通过建立一个在线的销…...
在线骑行网站设计与实现
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装在线骑行网站软件来发挥其高效地信息处理的作用,…...
大批量查询方案简记(Mybatis流式查询)
Mybatis的流式查询 摘要: 介绍使用mybatis流式查询解决大数据量查询问题. 1 业务背景 开发中遇到一个业务,说起来也很无奈:公司用的数据库MySQL,一张表里只保留了一个月的数据,但是数据量竟然高达2000W还要多,然后用户有个需求也很恶心,为了完成这个业务我需要定时任务每一个月…...
python - 子类为什么调用父类的方法
菜鸟教程 - 面向对象https://www.runoob.com/python3/python3-class.html为什么写这个呢 ,因为很多时候,事情很简单,但我往往记住了使用方式,忘记了使用原因,也因为自己看到super()时,也想问为什么要用supe…...
【JavaScript】数据结构之字典 哈希表
字典 键值对存储的,类似于js的对象,但在js对象中键[key]都是字符串类型或者会转换成字符串类型,因此后声明的键值会覆盖之前声明的值。字典以map表示,map的键不会转换类型。 let map new Map() map.set(a, 1) map.set(b, 2) ma…...
Adobe出现This unlicensed Photoshop app has been disabled
Adobe Acrobat或Photoshop软件突然出现This unlicensed Photoshop app has been disabled 症状 解决方法 删除软件安装目录下的AcroCEF和acrocef_1l两个子文件夹。主要是为了删除AcroCEF.exe。 如果存在复发,则删除xxxxxxx\AdobeGCClient\AdobeGCClient.exe。 不…...
elementui 单元格添加样式的两种方法
方法一 <el-table-column fixed prop"name" label"姓名" width"120"> <<template scope"scope"> <span :class"{red:scope.row.color1,yell:scope.row.color2,green:scope.row.col…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
