UDS(五)应用层10/3E
1.DiagnosticSessionControl (0x10)service
DiagnosticSessionControl服务在服务器中用于切换至不同的诊断会话,对应的SID为0x10。不同诊断会话下对其SID服务权限如下图所示:
1.1请求格式:SID + sub function
请求格式固定两个字节,第一个字节SID:0x10,第二个字节低7bit为sub function,决定ECU服务器切换至指定Diagnostic Session。
所有的 Diagnostic Session如下:
0x00 :ISOSAEReserved(保留)0x01 : defaultSession(默认会话)0x02 :ProgrammingSession(编程会话)0x03 :extendedDiagnosticSession(扩展会话)0x04 :safetySystemDiagnosticSession0x05 – 0x3F : ISOSAEReserved(保留)0x40 – 0x5F :vehicleManufacturerSpecific(由整车厂自定义使用)0x60 – 0x7E :systemSupplierSpecific(由ECU供应商自定义使用)0x7F :ISOSAEReserved(保留)
注意:不同的Diagnostic Session相应的权限不用。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。常用的Diagnostic Session:01 Default默认会话,02 Programming编程会话,03 Extended扩展会话,ECU上电时,进入的是默认会话(Default)。
如果您进入了一个非默认会话的状态,一个定时器会运转,如果一段时间内没有请求,那么到时间后,诊断退回到默认会话01(最低权限)。当然,我们有一个3E的服务,可以使诊断保持在非默认的状态。
1.2响应格式:response SID + sub function + parameter
积极响应如下图所示:
这个诊断服务的response分为三部分,第一部分是0x50,作为SID的正响应;第二部分是进入的session,作为sub-function的响应;第三部分是4个字节,前两个字节代表P2Server_max(对于服务器接收到请求消息后发出响应消息时间的性能要求),后两个字节代表P2*Server_max(当服务器在发送否定响应码为0x78 的否定响应后,到服务器发出响应消息最长时间的性能要求)。
消极响应返回的response negative code(RNC)如下图所示:
1.3举例:
2.TesterPresent (0x3E) service
3E服务是告知ECU服务器与诊断仪tester正连接着,用于保持ECU当前Diagnostic Session(诊断仪一般在ECU处于非default session模式下发送至ECU)。如果ECU超过一定的时间没有发送或接收诊断命令,ECU会退出非default session模式,使用3E服务可保持当前Diagnostic Session。
2.1 请求格式:SID + sub function
sub function 只有两个参数:一个是0x00(需要ECU response),一个是0x80(不需要ECU response);
一般来说主机厂会为这个服务定义两个时间参数,一个参数用于规定自己的诊断仪发送0x3E服务的间隔,另一个参数用于定义ECU收不到0x3E服务的timeout时间
2.2 响应格式:response SID + sub function
只有当sub function 为 0x00 时,ECU才会响应诊断仪。响应格式如下图所示:
2.3举例
UDS协议栈系列文章:
UDS(一)入门概述
UDS(二)网络层
UDS(三)网络层时间参数
UDS(四)应用层
UDS(五)应用层10/3E
UDS(六)应用层11/27
UDS(七)应用层28/85
UDS(八)应用层22/2E
UDS(九)应用层14/19
UDS(十)应用层34/36/37
UDS(五)应用层10/3E相关推荐
- UDS在应用层和会话层对Enhanced diag接口的实现
UDS在应用层和会话层对Enhanced diag接口的实现 UDS在应用层和会话层对Enhanced diag接口的实现 default session下应用层时序参数 non-default se ...
- 计算机网络实验五——应用层和传输层协议分析
计算机网络实验五--应用层和传输层协议分析 一.实验目的 二.实验内容 三.实验步骤 (一)任务1: 从 PC 使用 URL 捕获 Web 请求 1.配置Packet Tracer文件 2.使用URL ...
- C语言递归函数例子有5个小孩,第一个比第二个大2岁 第二个比第三个大2岁 以此类推 第五个10岁求第一个年纪
代码 //有5个小孩,第一个比第二个大2岁 第二个比第三个大2岁 以此类推 第五个10岁 求第一个年纪 #include <stdio.h>int ageFunc(int th) {if( ...
- 未来五年10大关键IT趋势
在涉及IT问题时试图保持领先,心脏不强的人可不能胜任.这一观点来自于Gartner的IT年度研讨会上由分析师David Cappuccio提出的他所谓的"不容易被IT界控制的新势力正把它们推 ...
- UDS(七)应用层 28/85
1. CommunicationControl (0x28) service 该服务是控制某类通讯关闭/开启接收或者发送.当uds需要下载升级或者传输大量数据时需要将can总线资源让出来,提高传输效率 ...
- UDS(十)应用层 34/36/37
Upload Download functional unit 从成本等角度考虑,汽车ECU中用于缓存诊断服务数据的buffer大小有限,所以当我们需要读取或写入超过buffer大小的数据时,就无法简 ...
- UDS(三)网络层时间参数
网络层定义了N_Ar.N_As.N_Br.N_Bs.N_Cr.N_Cs六个时间参数. 网络层在检测到错误的时间传递至上层使用者 1.当N_As 超时时,即发送方没有及时发送出N_PDU,系统将放弃信息 ...
- UDS诊断看这篇就够了,吐血整理
传送门 ==>> AutoSAR入门和实战系列总目录 1 简介与概述 不同诊断通信协议的开发,调整,实施和维护会给车辆制造商,系统供应商和ECU供应商带来不必要的成本.为了解决此问题,将不 ...
- 记:从零开始讲解UDS(一)——协议概述
0x00 UDS概述 UDS(University Diagnostics System通用诊断系统)是一个在整车系统上经常使用的设备维护协议.其主要遵循的法规为:ISO-15765.ISO-1422 ...
最新文章
- Redlock——Redis集群分布式锁
- JS自动插入分号机制ASI
- AI初创公司都去哪了?2019年科技公司“五巨头”收购盘点
- Web API--自定义异常结果的处理
- 网站如何从http升级成https
- 有幸见到一朵花的绽放
- 【简洁代码】1053 住房空置率 (20分)_22行代码AC
- 对话系统答非所问?快试试这篇ACL'21的连贯性评估大法
- View绘制详解(三),扒一扒View的测量过程
- 给自己看的squid服务器配置笔记
- mysql的order by,group by和distinct优化
- 【4】CCNA理论第三天
- 幅度谱、相位谱、能量谱等语音信号处理中的基础知识
- VSCode沙绿色主题设置
- 奇异网盘点全球10大最荒诞的“时髦”事件
- 思维导图软件Mindmanager2018下载
- php touppercase strtoupper,php大小写转换函数(strtolower、strtoupper)用法介绍
- 飞行棋java 30kb,飞行棋棋盘
- JSP+ssm计算机毕业设计快递代取系统的设计与实现94wcw【源码、数据库、LW、部署】
- 苹果刷机有好处和坏处_苹果更新要通电源吗