UDS统一诊断服务【二】ECU复位0X11服务

ECU复位服务,其服务ID是0x11,主要功能是控制ECU执行复位动作,主要用于Client向Server(ECU)请求重启行为,该重启行为将会导致Server复位回归到特定的初始状态。

大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是UDS诊断ECU复位0X11服务介绍,希望能对你有所帮助

简介

ECU复位服务,其服务ID是0x11,主要功能是控制ECU执行复位动作,主要用于Client向Server(ECU)请求重启行为,该重启行为将会导致Server复位回归到特定的初始状态。

报文格式

1. 请求

请求报文的数据格式如下表,格式比较简单,只包含两个字节,服务ID占一个字节0x11,子功能占一个字节,数据可取范围为0x00-0xFF。

UDS统一诊断服务【二】ECU复位0X11服务

2. 子功能

ECU复位服务在ISO标准中定义的子功能如下,常用的子功能有1和3两个,具体含义参见下表:

UDS统一诊断服务【二】ECU复位0X11服务

肯定响应

肯定响应的格式很简单:[SID + 0x40] + [Sub-function]

Response ID:该参数固定为SID + 0x40 = 0x51;
SubFunction:该参数具体为对应的复位类型,如01,02,03,04,05等;

子功能之后有一个可选字节powerDownTime,当0x11服务请求的子功能为0x04,则肯定响应时就需要回复这个字节,指的是快速关闭需要的时间

UDS统一诊断服务【二】ECU复位0X11服务

否定响应

否定响应的格式也很简单:[0x7F] + [SID] + [NRC]

0x11服务支持的NRC如下:

UDS统一诊断服务【二】ECU复位0X11服务

a) 当发送报文长度或者格式不对时,则Server会回复”7F 11 13″;

b) 当诊断请求的resetType不在Server支持的范围内时,则Server会回复”7F 11 12“;

c) 当Server在发生复位前处于security lock状态,那么此时Server则会回复”7F 11 33″

d) Server将会回复“7F 11 22”来告诉请求者当前进入编程会话的条件不满足,请再次检查进入编程会话的条件

举个例子

一开始执行 11 服务的时候,回复了个否定应答,否定应答码为78,这个NRC的含义之前介绍过(不记得这个NRC含义的话请查看之前的文章:UDS统一诊断服务【一】诊断会话控制0X10服务),表示已经收到请求,但响应没那么快,那要等多久呢,取决于P2*server_max时间,通常定义为5000ms也就是5s,这个时间就足够大部分ECU复位了。

UDS统一诊断服务【二】ECU复位0X11服务

最后,如果觉得有帮助,希望你能点个关注,一键三连,感激不尽

 

声明:本站内容资源均来源于网友分享及网络公开合法渠道,但我们不对这些内容的观点、描述的准确性负责,也不保证所有信息的原创性、真实性、完整性及即时性。对于本站所含文章或资料的版权问题,如您发现有侵犯版权的情况,请联系我们进行处理。同时,我们提倡将本站内容用于个人学习交流,严禁未授权的商业用途,否则由此产生的法律后果由使用者自行承担。感谢支持!
技术分享电子电气车载通讯

UDS统一诊断服务【一】诊断会话控制0X10服务

2024-4-26 20:29:11

技术分享电子电气车载通讯

UDS统一诊断服务【三】安全访问0X27服务

2024-4-27 21:21:37

3 条回复 A文章作者 M管理员
  1. […] 0X11服务:UDS统一诊断服务【二】ECU复位0X11服务 […]

  2. user854

    谢谢

个人中心
今日签到
有新私信 私信列表
搜索