汽车UDS诊断之ECU复位服务(0x11)深度剖析 您所在的位置:网站首页 汽车之家电视app新版下载 汽车UDS诊断之ECU复位服务(0x11)深度剖析

汽车UDS诊断之ECU复位服务(0x11)深度剖析

2024-03-06 03:24| 来源: 网络整理| 查看: 265

ECUReset就是ECU复位服务。

ECU复位 服务描述ECUReset客户端向服务端请求重置服务端。

目录

1.英文术语

2.缩写表

3.服务描述

4.请求消息定义 

4.1.请求消息子功能定义

4.2.请求消息数据参数定义

5.肯定响应消息定义

5.1.肯定响应消息数据参数定义

6.否定响应消息定义

6.1.否定响应码

7.服务使用示例

7.1.示例#1-执行硬复位

7.1.1.步骤1:请求执行硬复位

7.1.2.操作汇总

1.英文术语 英文术语翻译ECUResetECU复位ECUReset Request SID

ECU复位请求SID

ISO14229定义此值为0x11

sub-function子功能resetType复位类型hardReset硬复位keyOffOnReset 钥匙电复位softReset 软复位ECUReset Response SID 

ECU复位响应SID

ISO14229定义此值为(0x11+0x40)

powerDownTime 断电时间

2.缩写表 缩写解释SID服务标识符Cvt

约定值

M 强制的

C 有条件的

U 用户选项

NRC否定响应码

3.服务描述

        ECU复位服务就是可以此诊断指令来命令ECU执行自复位,复位有多种形式,依据子功能参数来区分(即客户端使用ECU复位服务来请求服务端重置,重置成功后,将直接进入默认会话)。

        通常来说,ECU在收到一条诊断指令后,要先进行相应的处理,执行某些诊断操作,完毕后再发送肯定响应。但是ECU复位服务是个特例,因为它的诊断操作是复位,这时候这个ECU就会重新开始运行,此时ECU也不会记得你前面发过诊断指令,所以复位后没办法ECU就没办法再去发送诊断响应,所以要先发送肯定响应,再执行复位。

注意:从发送完肯定响应到执行复位的这段时间内,ECU是否还可以响应其它诊断请求,标准中没有规定。建议此期间ECU不接受任何请求消息,也不发送任何响应消息。

4.请求消息定义  请求消息定义A_Data字节参数名称Cvt字节值助记符#1ECU复位请求SIDM

0x11

ER#2子功能 = [复位类型]M0x00 - 0xFFLEV_RT_ 4.1.请求消息子功能定义

该服务使用子功能参数选择(此字节的bit7表示抑制肯定响应位,下表并没有介绍此位)。

下表中标绿的三种较为常用:

请求消息子功能定义位6-0描述Cvt助记符0x00

ISOSAEReserved

该值为本文件为未来定义预留。

MISOSAERESRVD0x01

硬复位

模拟的是ECU先完全掉电再上电的过程。

在我们汽车行业里面ECU一般会有两种电源供应:

1、一种是常电用来供给ECU处理低功耗模式下使用的。

2、另一种唤醒电用来作为唤醒源,是ECU从低功耗模式进入正常模式的媒介,这个要根据厂家约定,如果某个厂家只支持常电不支持钥匙电,那就只供应常电给ECU,ECU就能够正常工作。

所以我们想ECU完成掉电,就必须将常电和唤醒电完全断开再上电。

UHR0x02

钥匙电复位

模拟的是像司机下钥匙电再重新上电的情况,钥匙电关闭再重新上电的复位过程,RAM中的内容要被重置。

UKOFFONR0x03

软复位

只是程序从头开始执行,RAM中的内容不重置(无需重新初始化先前学到的配置数据、自适应因素和其他长期调整)。

USR0x04

使能快速休眠

开启休眠功能,在这种模式下,使用关闭钥匙电也不会进入关闭状态,而是进入休眠状态。

这个子功能是针对由车辆电池供电而非点火供电的ECU,这类ECU通常情况下在钥匙电关闭后的一段时间内进入电源关闭状态(PowerOff),而这个指令会命令ECU打开快速休眠功能,在这种模式下,ECU在钥匙电关闭后将不会进入关闭状态,而是进入休眠状态(休眠意味着虽然断电,但仍然可以被唤醒(电池供电)),进入休眠状态所需要的时间更短,且能够在更短的时间内被唤醒,但会有一定功耗。其实这个类似于电脑的关机和休眠,常规模式下钥匙电关闭后ECU会关机,而快速休眠模式打开后,则会快速进入休眠。

所以进入快速休眠状态必须满足以下两个条件:

1、请求使能快速休眠(会有响应消息)

2、关闭钥匙电(操作使用休眠功能,不会去发响应消息)

UERPSD0x05

关闭快速休眠

(也就是跟0x04子功能相对应的)

关闭快速休眠模式,返回常规模式。

UDRPSD0x06 - 0x3F

ISOSAEReserved

该值的范围为本文件为未来定义预留。

MISOSAERESRVD

0x40 - 0x5F

车辆制造商特定

此值范围保留以供车辆制造商特定使用

UVMS0x60 - 0x7E

系统供应商特定

此值范围保留以供系统供应商特定使用

USSS0x7F

ISOSAEReserved

该值为本文件为未来定义预留。

MISOSAERESRVD 4.2.请求消息数据参数定义

此服务中请求消息中没有数据参数。

5.肯定响应消息定义 肯定响应消息定义A_Data字节参数名称Cvt字节值助记符#1ECU复位响应SIDM0x51ERPR#2子功能 = [复位类型]M0x00 - 0x7FLEV_RT_#3断电时间C0x00 - 0xFFPDT

C:如果将子功能参数设置为使能快速休眠(0x04),则存在此参数;

5.1.肯定响应消息数据参数定义 肯定响应消息数据参数定义定义

复位类型

此参数与请求消息的子功能参数的位6~0相同。

断电时间

此参数是ECU在断电过程中保持待机状态的最小时间(表示你这个ECU什么时候能够休眠),长度为1字节,分辨率是1s

—— 0x00 - 0xFE:0-254秒

—— 0xFF:表示故障或时间不可用。

6.否定响应消息定义 否定响应消息定义A_Data字节参数名称字节值Cvt助记符#1否定响应SID0x7FMSIDNR#2ECU复位请求SID0x11MSIDRQ#3否定响应码0xXXMNRC_ 6.1.否定响应码 此服务支持的否定响应码否定响应码描述助记符0x12

子功能不支持

如果不支持子功能参数,则应发送此否定响应码。

SFNS0x13

消息长度错误或格式无效

如果消息的长度错误,则应发送此否定响应码。

IMLOIF0x22

条件错误

如果未满足ECU复位请求的条件,则应返回此否定响应码。

CNC0x33

安全访问拒绝

如果请求的重置需要服务器处于相应的安全状态,而服务器却没有解锁,则应发送此否定响应码。

SAD

注意:0x11服务支持的否定响应码比0x10服务多0x33-安全访问被拒绝,这是因为复位会影响ECU的正常功能,相对来说有一定的危险性,所以有的供应商或主机厂把0x11服务定义为在解锁状态下才能执行,如果在上锁状态下收到该请求,ECU应返回否定响应码0x33。

标准对0x11服务是否需要安全访问没有强制要求,用户可自定义。

7.服务使用示例 7.1.示例#1-执行硬复位

假设该示例满足了以下服务端成功执行ECU复位服务的条件:

1、服务端处于的状态:点火 = 开启,系统不应处于运行模式(例如,如果系统是发动机为动力源,发动机应关闭;如果系统是混动系统,发动机和ISG电机都要关闭。)

2、客户端通过将抑制肯定响应位(子功能参数的位7)设置为“False”向服务端请求;

3、在服务端执行复位类型之前,该服务端应发送ECU复位的肯定响应消息。

7.1.1.步骤1:请求执行硬复位

ECU复位请求

消息方向

客户端→服务端

消息类型

请求

A_Data字节

描述(所以值为16进制)

字节值

助记符

#1

ECU复位请求SID

0x11

ER

#2

子功能 = 硬复位

               抑制肯定响应位 = 假

0x01

RT_HR

肯定响应消息

消息方向

服务端→客户端

消息类型

响应

A_Data字节

描述(所以值为16进制)

字节值

助记符

#1

ECU复位响应SID

0x51

ERPR

#2

子功能 = 硬复位

0x01

RT_HR

7.1.2.操作汇总

步骤1:请求执行硬复位

图解:

操作CAN报文实体01234567请求执行硬复位0x020x110x01     客户端肯定响应0x020x510x01     服务端

到这里我们的0x11服务基本学完了。

以上解释有没有解决大家的疑惑,如果还是觉得有疑惑的地方,欢迎大家踊跃提出,一起分享,共同进步!!!

有CSDN号的也可以帮忙点个关注,我会陆续更新其它UDS服务。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有