[AUTOSAR诊断篇]-诊断基础知识

点击订阅专栏不迷路


>>>>>>>>>>返回专栏总目录《AUTOSAR从入门到精通专栏》<<<<<<<<<<

关注文章末尾公众号或微信中搜索“AUTOSAR解忧杂货铺”,后台发送“资料”领取汽车电子入门资料,发送“加群”加入汽车电子交流群

一、前言

在人类医学领域,医生运用传统的“望闻问切”诊断方法,结合现代仪器的精确检测,对患者的病情进行准确判断。

在这里插入图片描述
同理,在汽车领域,为快速而准确地识别车辆或特定控制器的故障及其原因,进而为维修工作提供坚实的数据支持,车载诊断系统的概念应运而生。

在这里插入图片描述

二、什么是车载诊断

2.1 汽车诊断的发展

汽车诊断作为汽车整体状况把控的重要事项,其实质是对汽车进行故障检测与定位的一系列操作过程,它对于稳固汽车的安全系数、保障汽车各项性能的正常发挥,有着非常重要的意义。

随着科技水平不断的进步,汽车诊断的方式也发生了翻天覆地的变化。起初,汽车故障主要仰仗人工检测行为,依靠检测者过往经验所形成的判断力来甄别汽车问题所在。可随着时间的推移与科技的进步,当下的汽车故障诊断已演变成为一个自动化、数字化的工具。而汽车诊断协议则是诊断工具与车辆之间的通信协议。目前,市场上常见的两种汽车诊断协议是OBD(On-Board Diagnostics)和UDS(Unified diagnostic services)

2.2 常见的诊断协议介绍

OBD和UDS是两种常见的诊断协议,它们在目标和应用领域上存在一些区别。

其中OBD协议主要是针对排放问题而对传统燃油车制定的诊断协议,电动汽车无需满足,它主要是通过读取车辆的故障码来判断燃油车排放是否符合法规标准,用于汽车排放系统相关的ECU上

UDS协议则更加全面和灵活,在各个ECU上是一种通用型的协议。它与OBD最大的区别在于它是面向整车所有ECU的。但就UDS而言,它只是一个应用层协议(ISO 14229-1),其实现无需关注应用层以下的实现。因此,它可以基于CAN总线、Lin总线或者Ethernet总线等不同的物理传输方式实现与ECU硬件的通信。此外,UDS提供的是一个诊断服务的基本框架,定义了一系列的诊断服务和通用化的诊断流程,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来,所以基于UDS的诊断又称为增强型诊断

三、诊断协议中的专业术语

3.1 服务标识(Service ID;SID)

在UDS协议中,服务标识用于标识要执行的服务。每个服务都有一个唯一的服务标识(即SID),在诊断会话中通过服务标识来区分要执行响应哪种服务请求。UDS中定义了26种服务,并将这些服务划分为6大类:诊断和通信管理类、数据传输类、存储数据传输类、输入输出控制类、例程功能类、上传下载类。

大类SID(Hex)诊断服务名
诊断和通信管理类10诊断会话控制
11ECU复位
27安全访问
28通讯控制
3E待机握手
83访问时间参数
84安全数据传输
85控制DTC的设置
86事件响应
87链路控制
数据传输类22通过ID读数据
23通过地址读内存
24通过ID读比例数据
2A通过周期ID读取数据
2C动态定义标识符
2E通过ID写数据
3D通过地址写内存
存储数据传输类14清除诊断信息
19读取故障码信息
输入输出控制类2F通过ID控制输入输出
例程功能类31例行程序控制
上传下载类34请求下载
35请求上传
36数据传输
37请求退出传输
38请求文件传输

3.2 诊断的请求

诊断请求是指诊断工具或诊断仪向车辆发送的请求消息,用于请求执行某个服务。诊断请求消息由三个部分组成:SID、子功能和实际数据。其中,SID用于标识要执行的服务,至于子功能:指的是这个服务还能更进一步的划分或者具有启动/暂停之类的子功能。
尽管服务类型不尽相同,但UDS针对这些服务定义了统一的诊断请求包的格式,每个诊断请求由1个Byte的SID + 1个Byte的sub-function(实际上是1bit spr+7bit sub-function,具体解释看下文)+不定长的实际数据构成,其格式如下所示
在这里插入图片描述

  • spr=1,抑制正响应,即ECU不给出正响应
  • spr=0,需要ECU给出正响应,如果某个服务没有sub-function,即没有第二个字节,那默认是要发正响应的

3.3 诊断的响应

诊断工具向车辆发送服务请求后,如果服务执行成功,则返回的响应消息称为正响应,反之返回的响应消息称为负响应。

3.3.1 正响应报文格式

正响应报文首字节会回复【SID + 0x40】。在这里举个简单的例子,当诊断仪请求的服务ID为0x10时,若是正响应,则目标ECU会返回0x50;若请求的是0x22,则目标ECU会响应0x62。正响应的字节组成格式如下所图所示:

在这里插入图片描述

3.3.2 负响应报文格式

负响应消息由三部分组成:0x7F + SID + 负响应码(Negative Response Code ; NRC)。其中首字节0x7F是固定值,SID用于标识响应的服务,负响应码指示服务执行失败的原因。负响应报文的字节组成格式如下所示:

在这里插入图片描述
这里以诊断会话0x10服务为例,具体负响应流程如下图所示:

在这里插入图片描述

3.3.3 负响应码(Negative Response Code ; NRC)

在UDS协议栈中,负响应码用于指示服务执行失败的原因。NRC用一个字节表示,每个取值都对应一种不同类型的错误类型。

NRC码含义NRC码含义NRC码含义
0x01-0x0f暂时保留0x10未知错误,服务被拒绝0x11不支持该服务请求
0x12不支持子功能0x13消息长度或格式错误0x14请求信息长度超出
0x15-0x20暂时保留0x21服务端正忙0x22条件不满足
0x23暂时保留0x24请求顺序错误0x25指令被接收,但未被执行
0x26失败的操作导致当前操作无法执行0x27-0x30暂保留0x31参数错误
0x32暂保留0x33安全校验未通过0x34暂保留
0x35秘钥不匹配0x36达到解锁最大错误次数0x37超时时间未到
0x38-0x4f由扩展数据链路安全性保留0x50-0x6f暂保留0x70不允许上传下载
0x71数据传输中断0x72擦除或烧写内存错误0x73块序列技术错误
0x74-0x77暂保留0x78收到请求,延迟响应0x79-0x7d暂保留
0x7e当前会话下,子功能不支持0x7f当前会话下,服务不支持0x80暂保留
0x81rpm太高0x82rpm太低0x83当前引擎正在运行
0x84当前引擎未运行0x85截止当前时间,引擎运行时间太短0x86温度过高
0x87温度过低0x88车速过高0x89车速过低
0x8a油门/踏板过高0x8b油门/踏板过低0x8c变速器档位不在空挡
0x8d变速器档位不在排档0x8e暂保留0x8f制动开关没有关闭
0x90换挡杆不在驻车挡0x91变矩器离合器锁定0x92电压过高
0x93电压过低0x94-0xef暂保留0xf0-0xfe为汽车制造商保留
0xff暂时保留

四、总结

车载诊断技术是现代汽车维护和管理的关键工具,其核心在于通过标准化的诊断协议来实现对车辆系统的有效监测和故障诊断。本章详细介绍了常见的诊断协议,如OBD和UDS,以及这些协议中的专业术语,如服务标识(Service ID)、诊断请求和响应等。这些内容为深入理解和学习诊断服务及故障码提供了坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值