前言

ISO-14229中按各服务的功能将uds协议划分为六大类:

  1. Diagnostic and Communication Management (诊断和通信管理)
  2. Data Transmission (数据传输)
  3. Stored Data Transmission (存储数据传输,用于操作DTC)
  4. InputOutput Control (IO控制)
  5. Routine Control (远程控制)
  6. Upload Download (上传下载)
    其中,10(DiagnosticSessionControl)服务属于第一类,主要作用就是客户端向服务器请求控制诊断会话。

简介

10服务用于控制ECU在不同的诊断会话(session)间进行切换。诊断会话(session)可以看作是软件所处的一种状态,在不同会话下可以支持不同的诊断服务或功能。
正常情况下,ECU始终只有一个诊断会话处于活动状态,在ECU上电启动时,应自动进入默认诊断会话,如果运行期间没有启用其他诊断会话的话,就会一直处于默认会话。

服务格式

请求格式


DiagnosticSessionControl这个服务的SID是0x10,request固定为2个byte,第一个byte是SID,第二个byte的低7bit是sub-function,用于指示ECU将进入的session。
其中sub-function 值含义如下:

sub-function 含义
0x00 ISOSAEReserved(保留)
0x01 defaultSession
0x02 ProgrammingSession
0x03 extendedDiagnosticSession
0x04 safetySystemDiagnosticSession
0x05 – 0x3F ISOSAEReserved(保留)
0x40 – 0x5F vehicleManufacturerSpecific(由整车厂自定义使用)

ECU上电之后,默认处在defaultSession中,在这个session中很多诊断服务不可以执行,很多诊断相关的数据不能读取或写入。ProgrammingSession 编程会话通常只有bootloader去使用。
一般的诊断仪启动之后,会给ECU发送10 03,即让ECU进入 extendedDiagnosticSession(扩展会话)中,在这个session中有很多可执行的诊断服务。而如果要让ECU保持在non-defaultSession中,则需要诊断仪每隔固定的时间发送0x3E服务,ECU才会知道诊断仪有和自己通信的需求,从而保持在non-defaultSession中。

响应格式

肯定响应


第一个BYTE:对请求的echo,为SID+0x40
第二个BYTE:对请求的echo,为sub-function
后面几个BYTE为诊断会话参数,长度一般是四个字节,其具体含义如下:

前两个字节代表P2Server_max,即ECU在应用层上对诊断命令的默认响应时间,后两个字节代表P2*Server_max,即ECU在暂时无法处理当前诊断命令(具体表现为发送了NRC 0X78),在应用层上对诊断命令响应的最长时间。

否定响应

0x7F 0x50 NRC

第一个BYTE:固定为0x7F
第二个BYTE:对请求的echo,为SID+0x40
第二个BYTE:NRC。

UDS协议入门之10服务相关推荐

  1. UDS之浅谈10服务

    一.服务概述 DiagnosticSessionControl(诊断会话控制)服务用于启用服务器中的不同诊断会话. 服务说明: ① 服务器中应该始终只有一个有效诊断会话 ② 服务器上电时应始终启动默认 ...

  2. 汽车UDS诊断详解及Vector相关工具链使用说明——2.1.3 初步了解CDD(以10服务为例)

    我们前一篇文章详细讲了诊断会话控制服务10服务,这篇文章来讲一下如何在CDD文件中配置这个服务和相关的诊断会话状态等内容. 具体包括: 服务属性设置 服务请求和响应格式设置 参数设置 否定响应码设置 ...

  3. UDS,ISO14229,ISO15765,ISO15031,J1939车辆诊断协议入门系列

    (图片来源于网络) 目录 摘要 1. 基础概念 1.1 诊断的概念 1.2 诊断的目标 1.3 诊断的实现 1.4 诊断是分层的 2. 项目应用 3. 协议栈开发 摘要 回想当年刚进去汽车行业,做新能 ...

  4. HTTP协议入门——1.1版本

    HTTP协议入门--1.1版本 基本概述 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. ...

  5. UDS协议发展历史(UDS是什么?)

    诊断协议那些事儿 本文为诊断协议那些事儿专栏首篇文章,旨在介绍诊断的起源.发展历史,让读者对诊断有一个基本的认识,明确UDS到底是什么. 关联文章: UDS的应用场景 UDS的OSI模型 UDS服务列 ...

  6. 读取 DTC 信息服务 (0x19) – UDS 协议

    总目录链接==>> AutoSAR入门和实战系列总目录 0x19读取 DTC 信息服务概述 读取 DTC 信息服务在 UDS 协议中用于从车辆或特定 ECU 或节点读取 DTC.UDS 协 ...

  7. 基于scapy uds协议包实践

    一.UDS协议说明: 源自百度:UDS协议(Unified Diagnostic Services,统一诊断服务)是诊断服务的规范化标准,比如读取故障码应该向ecu发什么指令,读数据流又发什么指令.O ...

  8. 互联网协议入门及DNS原理入门

    互联网协议入门及DNS原理入门 互联网协议入门 作者: 阮一峰 日期: 2012年5月31日 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信.上海的某一块网 ...

  9. internet 协议入门

    前言 劳于读书,逸于作文. 原文地址:internet协议入门 博主博客地址:Damonare的个人博客 博主之前写过一篇博客:网络协议分析,在这篇博客里通过抓包,具体的分析了不同网络协议的传送的数据 ...

  10. 【Linux网络编程】网络协议入门

    00. 目录 文章目录 00. 目录 01. 前言 02. 概述 03. 物理层 04. 数据链路层 05. 网络层 06. 传输层 07. 应用层 08. 附录 01. 前言 我们每天使用互联网,你 ...

最新文章

  1. Serverless 下的微服务实践
  2. 多面体的顶点方向以及分解定理以及多胞形凸组合
  3. [NSTaggedPointerString text]:unrecognized selector sent to instance
  4. 99% 的人都能看懂的「补偿」以及最佳实践
  5. div内容设float之后,div的自动高度适应
  6. 如何定制化SAP Fiori标准应用里UI字段的标签
  7. Tensorflow入门----占位符、常量和Session
  8. 解释Spring中IOC, DI, AOP
  9. 编写build.xml的12个原则
  10. [html][转]常用返回顶部代码
  11. C++常用的图像像素值读写的方法
  12. SIP协议详解eXosip源码库用法分析
  13. WINAPI中URLDownloadToFile头文件问题
  14. 认识机器视觉环形光源
  15. WordArt怎样把endnote的关键词生成词云
  16. 第二个项目前预演,完成了,(第6200小时的时候)
  17. Ext cookies设置、获取和清除
  18. 直播APP开发需要具备哪些功能?
  19. Kali扫描工具Recon-NG
  20. Android H265

热门文章

  1. MindSpore,易用性提升的思考与实践
  2. 汇编语言程序设计---期末复习大纲知识点总结(王爽第二版)
  3. [转贴] 刷机利器 Rom Manager 的简单用法
  4. 【3389】俄远程桌面多端口爆破
  5. 说说BXP的实际中的应用(转)
  6. java毕业设计springboot框架 java在线视频点播系统毕业设计开题报告功能参考
  7. winrar 4.20 注册码
  8. WinRAR和WinZIP 密码找回
  9. Redis 复制、Sentinel的搭建和原理说明
  10. 网页上的文本不让你复制下载?老司机教你几招,轻松免费复制