TP2.0 的应用层的数据是根据大众KWP2000 定义的,命令定义及数据流格式相同,编程时用统一的数据转换函数。
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))
ISO 11898-1-2003 Road vehicles——Controller area network(CAN)