TP2.0 的应用层的数据是根据大众KWP2000 定义的,命令定义及数据流格式相同,编程时用统一的数据转换函数。

UDS诊断入门

Sunday, 12 April 2020 UDS

UDS实践性强,逻辑复杂,很多服务非要体验过一次才能理解,导致包括我在内的初学者感觉晦涩难懂,不明觉厉,因此将自己的理解写下来、整理下来,与君共勉。

本文是对 ISO 15765-2-2011 协议的一些解读。

本篇文章简要介绍一下基于CAN总线实现的诊断协议的传输层。本文以classical CAN为例,CAN FD原理类似,不单独讲述。

ISO15031支持的汽车OBD口读取的数据项:

其中服务ID,即SID。还有具体一类参数的参数ID,即PID

本篇文章主要从以下几个方面进行讲解

1.OBD用来做什么
2.OBD和UDS的区别
3.OBD硬件接口简介
4.OBD的9大模式介绍

网络层的国际标准是ISO 15756-2,该标准详细规定了协议的具体细节。CAN总线是一帧8个字节,该协议可以使CAN总线高效的传输大约8个字节(up to 4095 bytes)的命令和数据。基于该标准文档,我开发出了一个独立性良好的协议栈,工作在上层诊断协议之下和下层CAN驱动之上,下面详解开发协议栈时需要实现的部分(基于 ISO 15765-2:2004(E))

This CAN Specification consists of two parts, with • Part A describing the CAN message format as it is defined in CAN Specification 1.2; • Part B describing both standard and extended message formats. In order to be compatible with this CAN Specification 2.0 it is required that a CAN implementation be compatible with either Part A or Part B.

ISO 11898-1-2003 Road vehicles——Controller area network(CAN)

Page 3 of 4