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

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诊断会话控制
11ECU复位
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子功能:读取故障码列表

http://www.lryc.cn/news/442909.html

相关文章:

  • ovirt error: Network not found: no network with matching name ‘vdsm-ovirtmgmt‘
  • 2024百度的组织架构和产品分布
  • Java中List、ArrayList与顺序表
  • 缓存技巧 · Spring Cache Caffeine 高性能缓存库
  • RabbitMq中交换机(Exchange)、队列(Queue)和路由键(Routing Key)
  • 解码 OpenAI 的 o1 系列大型语言模型
  • 大小端字节序 和 内存高低地址顺序
  • Spring扩展点系列-MergedBeanDefinitionPostProcessor
  • Centos 7.9 使用 crontab 实现开机启动
  • 基于微信的设备故障报修管理系统设计与实现+ssm论文源码调试讲解
  • yolo自动化项目实例解析(二)ui页面整理 1.78
  • PyQt / PySide + Pywin32 + ctypes 自定义标题栏窗口 + 完全还原 Windows 原生窗口边框特效项目
  • 面试时遇见的项目问题
  • 在线骑行网站设计与实现
  • 大批量查询方案简记(Mybatis流式查询)
  • python - 子类为什么调用父类的方法
  • 【JavaScript】数据结构之字典 哈希表
  • Adobe出现This unlicensed Photoshop app has been disabled
  • elementui 单元格添加样式的两种方法
  • 如何有效管理技术债务:IT项目中的长期隐患
  • 2024 “华为杯” 中国研究生数学建模竞赛(D题)深度剖析|大数据驱动的地理综合问题|数学建模完整代码+建模过程全解全析
  • Linux 清空redis缓存及查询key值
  • MySql调优(三)Query SQL优化(2)explain优化
  • Java【代码 18】处理Word文档里的Excel表格数据(源码分享)
  • 21、Tomato
  • 代码随想录 八股文训练营40天总结
  • Debian 12上安装google chrome
  • Python | Leetcode Python题解之第405题数字转换为十六进制数
  • 定位坐标系
  • 安全通信网络等保