[UDS] --- ECUReset 0x11

2023-10-30 18:36
文章标签 uds 0x11 ecureset

本文主要是介绍[UDS] --- ECUReset 0x11,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 0x11功能描述

根据ISO14119-1标准中所述,诊断服务11主要用于Client向Server(ECU)请求重启行为。该重启行为将会导致Server复位回归到特定的初始状态,具体是什么初始状态取决于Client的请求行为。

2 0x11应用场景

一般而言,对于11诊断服务,主要应用场景为以下场合:

  • ECU被刷写新的软件后,此时需通过11诊断服务重启该ECU使其回复到初始状态,保证一个十分干净的运行环境;
  • 在产线下线标定的过程中,对于KL30供电的ECU存在一些仅在下电存储的数据,此时需要通过11诊断服务使ECU走下电流程进而完成相应数据的保存;
  • 为满足特定功能的需要,输入相关标定参数给到ECU后,只有通过发送诊断服务11才能使得标定参数生效的场景;
  • 对于KL30供电的ECU节点,可以使用诊断服务11使ECU快速进入休眠的场景;

上述这些应用场景较为常见,除此以外,当然还有很多面向ECU内部测试的应用场合,这里就不一一列举。

通常来说,ECU在收到一条诊断指令之后,要先进行相应的处理,执行某些诊断操作,完毕后在发送肯定响应。
但是ECU复位是个特例,因为它的诊断操作是复位,这时候这个ECU就会重新开始运行,此时ECU也不会及的前面发送过的诊断指令,所以复位后ECU没有办法再去发送诊断响应,所以要先发送肯定响应,再执行复位。
注意:从发送完肯定响应到执行复位的这段时间内,ECU是否还可以响应其他诊断操作,标准中没有规定。但是在此期间ECU不接受任何发送请求,也不发送任何响应消息。

3 0x11服务请求

服务请求是Client发送给到Server的诊断服务指令。其中Client可以理解为Tester,Server可以理解为ECU节点。

3.1 请求格式

按照ISO14229-1标准所述,如下图1所示:
在这里插入图片描述

各参数解释如下:
在这里插入图片描述

3.2 重启类型

复位类型作为subfunction参数来传递给到Server发生相应的重启行为,具体由以下几种类型:

  • HardReset:硬复位;
  • keyOffOnReset:点火开关复位;
  • SoftReset: 软复位;
  • enableRapidPowerShutDown:使能快速休眠流程;
  • disableRapidPowerShutDown:抑制快速休眠流程;
  • vehicleManufacturerSpecific:供整车制造商使用的自定义复位类型;
  • systemSupplierSpecific:供系统供应商使用的自定义复位类型;

上述复位类型的具体含义解释:
在这里插入图片描述

4 0x11请求和响应

4.1 正响应格式

以实现HardReset为例
在这里插入图片描述

11诊断服务的正响应格式实例:
在这里插入图片描述
从上图中可以看出,11诊断服务的正响应由以下三个部分组成:

Response ID:该参数固定为SID+0x40 = 0x51;
SubFunction:该参数具体为对应的复位类型,如01,02,03,04,05等;
powerDownTime:该参数仅针对subfunction==0x4时才会回复该参数,其他情况下,Server仅会回复前两个字节(response SID + SubFunction),其取值范围只能为0x00-0xFE,0xFF则为无效值;

4.2 负响应NRC

绝大多数情况下,Server针对Client的请求都会给到正响应,比如发生重启前需确保整车处于安全状态,如引擎熄火,车速不能超过3km/h等,或者为了防止不按照诊断请求格式进行请求,那么Server需要通过某种方式来告诉Client执行不成功的原因在哪里以便于调查问题直至得到正响应。

因此ISO14229-1针对所有的诊断服务提供了一种统一的诊断负响应的诊断格式:7F +SID + NRC。

其中NRC全称为Negetive Responce Code,每个NRC具有唯一的含义来代表当前诊断请求错误的原因所在。当然每个诊断服务支持的NRC不尽相同,具体支持的NRC需要参考ISO14229-1标准文档,对于11服务而言支持的NRC如下表:
在这里插入图片描述

  • 例如当尝试请求复位时且当前车速条件不满足,此时Client发送诊断指令"11 01"请求Server发生复位行为,Server将会回复“7F 11 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件。
  • 当发送报文长度或者格式不对时,则Server会回复"7F 11 13";
  • 当诊断请求的resetType不在Server支持的范围内时,则Server会回复”7F 11 12“;
  • 当Server在发生复位前处于security lock状态,那么此时Server则会回复"7F 11 33"

这篇关于[UDS] --- ECUReset 0x11的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309833

相关文章

linux本机进程间通信之UDS详解

《linux本机进程间通信之UDS详解》文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRA... 目录基础概念本机进程间通信socket实现AF_INET数据收发示意图AF_Unix数据收发流程图A

车载测试之UDS诊断协议

什么是UDS诊断 也被称为离线诊断或者增强型诊断,面向汽车上的所有ECU的诊断,可以通过UDS进行读取、写入ECU运行时的一些数据,刷写ECU、获取故障信息等,UDS是一套统一的诊断服务命令,分为6大类26个服务 26个诊断服务 UDS中的26个服务是规定在ISO的14229-1协议中 诊断和通信管理功能单元 故障码传输功能单元 数据传输类功能单元 输入输出控制功能单元

UDS报文-数据参数操作 [0x22] [0x2E]

22 (读取DID) 请求格式 字节编号参数名称data描述1Read DID0X22读取DID2DID Hight0X00~0XFF数据ID 高字节3DID Low0X00~0XFF数据ID 低字节 肯定应答格式 字节编号参数名称data描述1Ask Read DID0X62响应标识2DID Hight0X00~0XFF数据ID 高字节3DID Low0X00~0XFF数据ID 低字节4

基于UDS的Flash 刷写——BootLoad刷写流程详解

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 流程概述UDS流程详解释前编程①诊断会话控制 - 切换到扩展会话(10 03)②例程控制-预编程条件检查(31 01 02 03)③DTC设置控制 - 关闭DTC(85 02)④通讯控制 -关闭收发(28 01 03) 主编程⑤诊断会话控制 - 切换到扩展会话(10 02

UDS诊断系列之十九 读取故障码(DTC)

一、读取符合条件的DTC数量 通过调用19服务的01子功能,我们可以轻松地读取符合特定条件的故障码数量。重要的是要意识到,此功能仅提供故障码的数量,而不包含任何额外的信息。这意味着,虽然你可以获得故障码的总数,但不会得到关于这些故障码的详细描述或其他相关数据。 1.请求报文 该子功能也比较简单,请求格式如下: 该子功能的请求非常简洁,仅包含三个字节。以下是请求格式的详细说明: 服务编号:

UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务

UDS 诊断服务系列文章目录 诊断和通信管理功能单元 UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务 UDS 诊断 - ECUReset(ECU重置)(0x11)服务 UDS 诊断 - SecurityAccess(安全访问)(0x27)服务 UDS 诊断 - CommunicationControl(通信控制)(0x28)服务 UDS 诊断

汽车的UDS诊断02

UDS的不同服务: 1)物理寻址和功能寻址 can总线上往往有多个ECU,诊断设备可以和某个ECU通信,也可以和多个ECU通信,通过物理寻址和功能寻址来解决这个问题,只针对请求报文: 物理寻址:就是诊断仪与ECU之间点对点通信 功能寻址:就是诊断仪与多个ECU之间一对多信 我们的诊断报文通常会有3个诊断ID(在报文帧中的仲裁场中),物理请求(物理寻址)报文ID,功能请求(功能寻址)报文I

汽车的UDS诊断01

UDS(Unified Diagnostic Services):ISO14229中定义了汽车通用诊断协议;ISO15765规定了帧的格式; 1)UDS中的四种帧 UDS中的四种帧:单帧、首帧、流空帧、连续帧                                                              图1

UDS服务——TransferData (0x36)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍TransferData (0x36)—— 数据传输,用于下载/上传数据时用的,数据的传输方向由不同的服务控制:0x34服务表示下载,0x35服务表示上传。通过阅读本文,希望能对你有所帮助。 文章目录 诊断协议那些事儿传输数据服务介绍一、服务请求报文定义blockSequenceCounter:数据块顺序计数值transferReq

车载学习:UDS诊断、ECU刷写、OTA升级、Tbox测试、CANoe实操

每天的直播时间: 周一至周五:20:00-23:00 周六与周日:9:00-12:00,14:00-17:00 TBOX  深圳  涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的?上车实测之前有没有一个仿真环境台架环境都什么零部件T-BOX了解多少Linux和shell有接触吗 单片机uds'诊断是在实车上座的吗 uds在实车上插的那口 诊断仪