文章目录

  • 前言
  • 一、车载诊断功能是什么?
  • 二、诊断协议框架
  • 总结

前言

随着技术不断提高,驾驶员对车辆的要求也在不断提高,因此车身控制器的数量也在与日俱增。控制器实现的功能:安全功能(防抱死系统等)、驾驶功能(助力转向等)、影音娱乐(车载娱乐系统,抬显系统),当然也包括今天索要分享的内容:诊断功能。


一、车载诊断功能是什么?

诊断功能的作用在上文已谈到:起初是为了快速界定车身发生故障部位,现完善和扩充很多功能(定义DID读取车辆运行状态信息、Software update刷写)。它的经典模型如下:

Tester与车辆直接通信(直接通信方式),Tester发送请求(Request)到车身控制器,控制器基于收到的诊断请求给予响应(Response)。因全球有诸多OEM以及供应商,为了避免社会资源浪费,需定义通用的诊断协议。诊断协议中定义诊断服务的类型、诊断请求和响应的格式、ECU响应的机制等等。

今天我想跟大家聊聊UDS这个诊断协议(ISO 14229),全名:Road vehicles — Unified diagnostic services (UDS)。目前为止有7个子类:

注:上图标红的内容,当某一天一种新的总线引用到车载网络中,UDS协议照样适用在新的总线,不会因为时间推移,需求变更而被淘汰。

---ISO 1429-1中主要定义诊断服务类型(如2013版中定义26个诊断服务,也预留给用户自定义的内容)、诊断服务请求的格式、ECU收到诊断请求响应机制和格式;

---ISO 14229-2定义诊断功能实现过程中通信参数;

---ISO 14229-3、ISO 14229-4、ISO 14229-5、ISO 14229-6、ISO 14229-7是UDS协议在不同车载总线(车载通信介质)的具体应用和相应限制。比如ISO 14229-5定义了UDSonIP的具体应用和相应限制:

车载以太网通信过程中,是TCP搭建链接。在做会话模式切换以及Reset重启,搭建好的TCP链接会断开,再进行通信,需要重新搭建TCP链接(其实质是连接IP地址和Port端口的Socket)。

如果将UDS协议与计算机经典七层模型做一个Map:

每个层级对应不同的总线协议。这里以CAN总线为例,做个简单分享:

1、在物理层以及数据链路层,对应的协议ISO 11898。定义CAN总线电气特性,物理Pin脚。硬件工程师需重点关注这方面的内容;

2、传输层对应的协议是ISO 15765-2,定义数据传输的规则。里面详细解释CAN单帧和多帧数据传输规则:

(1)多帧中首帧First Frame、流控制Flow Control、连续帧Consecutive Frame标识符,格式在协议中都做了详细定义(在后续文章中会分享这个协议内容);

(2)协议定义不同的寻址方式格式

3、会话层映射ISO 14229-2,定义了通信参数;

4、表示层中定义OEM Specific数据内容(DID);

5、应用层14229-1配合ISO 14229-5,共同规范UDS协议在CAN总线的应用。

UDS协议定义了26服务类型:

如上图,是以UDS 2013版为例,列举了26服务的类型。但在OEM诊断需求规范中,不会每个控制器都用到这26个服务,是根据新款车型控制器需求,基于UDS协议根据所需定义控制器的诊断需求规范。服务是1 byte的长度,除了上述的26服务,UDS也预留一些位给用户自定义:

UDS也定义了请求和响应的格式

诊断请求以Service ID来识别,肯定响应的规则是SID+40,否定响应的标识符是7F,后+SID表示否定那个服务,再+NRC告诉工程师为何给你否定响应。

截至目前,ISO 14229发布了2006/2013/2020三个不同版本。经常用的是06版和13版。现对这两个版本做一个简单区分:

1、在功能寻址情况下,如果出现7E/7F两个NRC,06版协议定义ECU必须给响应,13版为了降低总线负载,不用响应;

2、在13版UDS协议中对NRC优先级做了响应规定,而06版没有;

3、13版协议中ECU刷写做了描述,而06版没有。

2020版UDS协议多了Service 29:

通过安全认证,才能获取通信权限,更加好的保护数据安全。

总结

如上是对ISO 14229协议进行汇总总结,对比了不同版本的协议主要区别。

聊聊诊断协议——UDS相关推荐

  1. 基于CAN总线的汽车诊断协议UDS (网络层 ISO 15765)

    上个月一个同事Z跳槽去了德赛西威,Z之前是完全不懂诊断的MCU工程师,去德赛后做诊断开发,让我感觉到,汽车嵌入式行业,CAN和诊断工程师还是比较稀缺的.之前我和Z共同负责一个项目,我负责CAN网络和诊 ...

  2. 基于CAN总线的汽车诊断协议UDS(上位机开发网络层及错误代码解析)

    UDS协议栈的开发和测试对于刚刚接触UDS协议的开发人员来说,不但需要阅读大量的标准文档,短时间内很难理解透彻,标准协议栈代码的编写更加困难,刚入门又没有快捷简单的测试工具帮助加快理解和验证,使得UD ...

  3. 车载诊断协议UDS——DTC 判定机制以及DTC Status个人见解

    UDS协议是描述车载诊断内容的通用协议,诊断的功能伴随着ECU整个生命运行周期一直在运行.当控制器(ECU)运行过程中出现需求规范中所定义的故障类型,控制器通过相应的判定机制来判断这个故障是否达到一定 ...

  4. 车载诊断协议UDS——诊断刷写(Software Update)

    刷写,顾名思义就是两个动作:刷和写: 刷是擦除ECU芯片内存上原有的数据: 写是重新在ECU芯片内存上写入新的数据(Application or Calibration Data--): 在控制器量产 ...

  5. 基于CAN总线的汽车诊断协议UDS的开发重点

    一.意义 为了指导开发工程师,正确的使用诊断模块,快速开发出满足车厂要求的诊断功能. 二.诊断模块介绍 此诊断模块根据ISO-14229-1文档,并结合部分车厂的文档进行开发,使用面向对象的思路进行设 ...

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

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

  7. 什么是UDS诊断协议

    UDS (Unified Diagnostic Services) 是一种用于在汽车电子控制单元(ECU)之间进行诊断和通信的标准协议.它是一种底层协议,主要用于诊断和编程各种汽车系统,例如发动机.变 ...

  8. 【车载开发系列】UDS诊断协议总括篇

    [车载开发系列]UDS诊断协议总括篇 UDS诊断协议总括篇 [车载开发系列]UDS诊断协议总括篇 一.UDS诊断协议简介 为什么要设计UDS诊断协议 二. UDS诊断协议详细 1)诊断通信管理功能单元 ...

  9. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)

    相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...

最新文章

  1. 宁波海关连续查获走私白糖1700余吨
  2. win7 ghost 纯净版最新系统下载
  3. Flowable 数据库表结构 ACT_RU_IDENTITYLINK
  4. DJS_130小型计算机,我收藏的中国第一台计算机djs-130的操作系统纸带
  5. EASYUI 表单(FORM)用法
  6. 从零开始学前端:伪元素和盒子模型 --- 今天你学习了吗?(CSS:Day13)
  7. Apache 不记录指定文件类型的日志——LAMP环境搭建
  8. 围成一圈的排列组合问题_行测技巧:巧解环形排列组合
  9. 递归 人理解循环 神理解递归
  10. Linux iptables防火墙详解(一)——iptables基础知识
  11. 多核服务器装SQL2005,提示SQL server服务无法启动
  12. 3位格雷码的顺序编码_格雷码编码规则_格雷码有什么规律
  13. 【考研计算机网络】 冲刺笔记
  14. cisco 链路聚合 (自用)
  15. 用CAD看图软件查找文字需要怎么做
  16. iOS微信分享提示“未验证应用”的解决,配置 Universal Link
  17. SpringBoot分布式项目实现Session共享
  18. 软件项目工作量评估法——功能点估算(FPA)(一)初识
  19. windows通知栏中显示 微信等应用软件 的通知
  20. 谈谈C++中的swap函数

热门文章

  1. Springboot 报错Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
  2. 变化。。。。。随风而变
  3. 凉爽的夏天=凉爽的心
  4. 学计算机的网名,小学生可爱网名 好听的学生网名
  5. for in与for of的区别
  6. Android 滑动侧边栏(Sliding Menu)第一种实现 - 1 手动滚动+自动滚动
  7. 中南民族大学计算机科学学院袁磊,刘晶 - 中南民族大学 - 计算机科学学院
  8. 苹果13适配充电宝推荐,苹果官方推荐的充电宝
  9. MATLAB实现多目标粒子群优化算法(MOPSO)
  10. 小希的迷宫 HDU - 1272---并查集+思维