文章目录
- 前言
- 一、诊断仪在线服务介绍
- 二、数据格式
- 2.1,请求报文
- 2.2,子功能
- 2.3,响应报文
前言
本文介绍UDS统一诊断服务的0X3E服务,希望能对你有所帮助
一、诊断仪在线服务介绍
诊断仪在线服务比较简单,其功能就是告诉服务端,诊断仪还是处于连着的状态,不要切换状态。比如,当你想从默认会话模式切换到扩展会话模式,并保持在扩展会话模式时,此时可以周期性发送3E服务。因为,如果不在默认会话模式,超过S3时间,ECU就会自动切换到默认会话,3E服务可保持在你其他模式下。
二、数据格式
2.1,请求报文
格式很简单,就两个字节,【SID】+ 【sub-function】
2.2,子功能
子功能为0X00的话,没有什么特殊的含义
0X80:抑制正响应,表示如果是肯定响应的话,服务端就不用回复了
2.3,响应报文
分两种情况:无抑制正响应和抑制正响应
无抑制正响应,则直接按标准格式回复就好
【SID + 0X40】+ 【sub-function】
抑制正响应,则服务端不会有任何回复,不响应
控制正响应,主要是为了减少不必要的带宽,因为有些服务是由功能寻址发出来的,而功能寻址是广播的方式发送的,所有节点都进行响应,那同时就会有很多响应报文发出来,占用总线带宽,而这些响应又是可有可无。所以,ECU在接收到抑制正响应位是1的请求报文时,如果回复的是肯定响应,就不需要回复了(否定响应是需要回复的)
否定响应
如果是否定响应,和其他诊断服务格式是一致的。[7F] + [SID + 0X40] + [NRC]
支持的NRC如下
0X3E服务很简单,就介绍到这里。