zl程序教程

您现在的位置是:首页 >  其它

当前栏目

详解UDS CAN诊断:ECUReset Service(SID:0X11)

详解 Service can sid 诊断
2023-06-13 09:15:45 时间

目录

1、诊断请求

2、诊断响应

2.1、肯定响应

2.2、否定响应


诊断和通信管理功能单元(Diagnostic and communication management functional unit)包含10种服务,本篇博文将详细讲解ECUReset Service(SID:0X11)的特性和协议。

本篇博文素材来源于:ISO 14229-1-2020:规范和要求。

在学习本篇博文之前推荐学习:

详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?

详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)

很多关联知识已经详细讲解过,这里不再赘述了。

对汽车电子、CAN通信、UDS诊断技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~

客户端使用ECUReset Service请求复位重启服务端。

正常情况下,服务端在复位重启前应答客户端肯定响应,重启成功后服务端激活进入Default Session。

1、诊断请求

使用ECUReset Service请求复位重启服务端发送请求协议:0X11 0X**(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

  • 0X11是服务ID(SID),1字节;
  • 0X**是服务的子功能,范围为:0X00~0XFF,1字节。

在ISO 14229-1-2020协议中规定了各类数值子功能的意义和使用场景,如下所示:

2、诊断响应

诊断响应有肯定响应和否定响应两种类型。

2.1、肯定响应

肯定响应表示服务端回复客户端请求成功,响应协议:0X51 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

  • 0X51是响应服务的SID,相当于0X11+0X40,1字节;
  • 0X**是响应服务的子功能,范围为:0X00~0X7F,1字节。例如,客户端使用0X01子服务,此时肯定响应的子服务就是0X01;
  • 0X&&数据向客户端提示服务端将保持在断电顺序中的待机最小时间,需要注意该参数只有当SubFunction为0X04时才会使能,范围为:0X00~0XFF,1字节,协议规定如下所示:

2.2、否定响应

否定响应表示客户端或者服务端存在问题,否定响应会提示失败原因。

响应协议:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1数据)。

其中:

  • 0X7F是否定响应固定数值,1字节;
  • 0X**是诊断服务ID(SID),本篇博文使用的是0X11服务,则否定响应会返回0X11,1字节;
  • 0X&&是NRC错误码,描述了返回错误的原因,1字节。

ECUReset Service(SID:0X11)有4种类型错误,如下所示:


UDS诊断 ISO 14229 1~8整套协议-中英文最新版 


详解CAN总线:什么是CAN总线?

详解CAN总线:高速CAN总线和低速CAN总线的特性

详解CAN总线:CAN协议分层结构及功能

详解CAN总线:CAN节点硬件构成方案

详解CAN总线:常用CAN连接器的使用方法

详解CAN总线:CAN总线报文格式—数据帧

详解CAN总线:标准数据帧和扩展数据帧​​​​​​

详解CAN总线:CAN总线报文格式—遥控帧

详解CAN总线:CAN总线报文格式—错误帧

详解CAN总线:CAN总线报文格式—过载帧

详解CAN总线:CAN总线报文格式—帧间隔

一文搞懂CAN和CAN FD总线协议

CAN与CAN FD通信之间存在的问题

详解CAN总线:CAN总线故障界定与管理

详解CAN总线:CAN总线通信优先级机制