目录

1、诊断请求

2、诊断响应

2.1、肯定响应

2.2、否定响应


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

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

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

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

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

DiagnosticSessionControl Service用于在服务器中启用不同的诊断会话。

诊断会话有两种:Default Session和Any Other Session,它们之间可以互相转换,如下所示:

不同服务在Default Session和Any Other Session中的权限不同,某些服务并不支持在Default Session中运行,所有服务都可以在Any Other Session中运行,如下图(not applicable代表不支持服务,x代代表支持服务)所示:

1、诊断请求

诊断请求分为具有子功能的请求和没有子功能的请求两种。

首先来看看具有子功能的请求协议,如下所示:

我们只需要关注A_Data.A_PCI.SI和A_Data.Parameter 1~k数据,其他参数数值取决于客户的实际应用。

具有子功能的请求A_Data.Parameter 1字节存储的就是子功能数据。

没有子功能的请求协议,如下所示:

A_Data.Parameter 1字节不再规定。

接着来看一看协议中对A_Data.A_PCI.SI和A_Data.Parameter 1~k数据的规定和使用。

启用不同的诊断会话需要客户端发送请求协议:0X10 0X**(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:

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

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

2、诊断响应

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

2.1、肯定响应

肯定响应协议中也只需要关注A_Data.A_PCI.SI和A_Data.Parameter 1~k数据,如下所示:

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

其中:

  • 0X50是响应服务的SID,相当于0X10+0X40,1字节;
  • 0X**是响应服务的子功能,范围为:0X00~0XFF,1字节。例如,客户端使用0X01子服务,此时肯定响应的子服务就是0X01;
  • 0X&&记录了包含服务器报告的特定会话参数值,范围为:0X00~0XFF,4字节,协议规定如下所示:

2.2、否定响应

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

否定响应协议中只需要关注A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1数据,如下所示:

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

其中:

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

DiagnosticSessionControl Service(SID:0X10)有3种类型错误,如下所示:


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总线通信优先级机制

详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)相关推荐

  1. Android四大基本组件详解-Activity,BroadcastReceiver,Service及ContentProvicer

    文章目录 一,活动(Activity) 1.简介 2.任务栈 3.Activity的4种状态 4. 7种生命周期方法 5.Activity的四种启动模式 (1)Standard 标准模式(默认启动模式 ...

  2. 吴恩达最新成果 CheXNet详解:肺炎诊断准确率超专业医师

    离开百度之后,吴恩达在学术界异常活跃,除了推出最新的深度学习在线课程之外,他还带领着一支来自斯坦福的团队不断推进深度学习在医疗领域的应用. 近日,吴恩达团队在 arXiv 上发表了他们的最新成果--用 ...

  3. WebService 理论详解、JWS(Java Web Service) 快速入门

    目录 WebService (web服务)概述 WebService 平台技术 WebService 工作原理 WebService 开发流程 常见 Web Service 框架 JWS(Java W ...

  4. kubernetes,service详解下

    kubernetes,service详解下 HeadLiness类型的Service 在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,k ...

  5. Kubernetes集群服务发现Service资源LoadBalancer类型详解(二十九)

    Kubernetes集群服务发现Service资源LoadBalancer类型详解 1.LoadBalancer类型的service资源概念 LoadBalancer和Nodeport非常相似,目的都 ...

  6. 服务器和网页接口,WebApi架构详解,WebApi接口搭建与部署WebApi服务器

      WebApi架构详解,WebApi接口搭建与部署WebApi服务器 本文关键词:WebApi架构, WebApi接口搭建, WebApi部署 1. Api是什么? API(Application ...

  7. Spring注解之@GetMapping详解

    params 参数详解 例如:@GetMapping(value = "/service", params = "serviceName=CREATE_PROJECT&q ...

  8. Kubernetes K8S之存储Secret详解

    Kubernetes K8S之存储Secret详解 Secret概述 Secret类型 Service Account Opaque Secret 创建secret 将Secret挂载到Volume中 ...

  9. k8s kubectl expose命令使用详解

    k8s kubectl expose命令使用详解 Take a replication controller, service, deployment or pod and expose it as ...

最新文章

  1. 统计学习方法第十四章作业:聚类—层次聚类聚合/分裂算法、K_means聚类算法 代码实现
  2. C中计算程序运行时间差(毫秒级)
  3. 在斯坦福,做 Manning 的 phd 要有多强?
  4. linux查看正在运行的窗口,获取linux中打开的应用程序窗口的数量
  5. linuxc网络通信
  6. 特斯拉:燃油车起火的概率远远高于特斯拉
  7. 一般函数指针和类的成员函数指针
  8. 大学四年,电脑必备的三个宝藏工具软件
  9. 机器学习教程之语义分割入门教程
  10. [CSP-S模拟测试]:游戏(最短路)
  11. 元宇宙中值得关注的7个前沿游戏,谁会是下一个Axie Infinity?
  12. json编辑器插件 vue_基于vue平台的json schema 编辑器
  13. 卡特加特数字家庭又爆重磅合作!厦门火炬创投莅临卡特加特考察
  14. 腾讯后端面试题python_腾讯后端开发,一面面试题分享
  15. 不要盲目跟风:中小企业运营自媒体需三思而后行
  16. Arduino——超声波测距
  17. ejabberd XMPP服务器有用的配置及其介绍
  18. iOS 播放沙盒视频
  19. 圆满收官,在这里读利尔达的2021
  20. 【Python技巧】(虚拟环境报错、pycharm)无法加载文件 ...\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。

热门文章

  1. java 拷贝图片拒绝访问_急!!!!文件夹里的图片打不开,也复制不了 现实拒绝访问,被写保护,怎么打开啊,很重大...
  2. 海外服务器AS4837和AS4134S线路含义?怎么测试?
  3. 分享一个java写的中国象棋代码以及相关视频
  4. 【洞见研报】研报速读:厨房小家电行业报告——“沙发经济”走向“厨房经济”(小家电,厨房小家电,厨房经济)
  5. android手机控制电视,[转载]android万能遥控器之二--用手机遥控电视
  6. java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试
  7. 11.10 Daily Scrum
  8. 机械臂速成小指南(三):机械臂的机械结构
  9. 1.pymysql Warning: (1366, Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' 解决办法
  10. 20款电脑剪贴板软件良心推荐汇总