OBD诊断(K线/CAN线)

目录

1. 概述

2. K线数据链路层介绍

1)报文结构

①报文头

②数据域

③初始化方式

a.快速初始化

b.5波特初始化

3. K线应用层

1)协议规定

2)服务标识

4. CAN相关协议知识

5.诊断数据流服务请求

6.J1939协议简介

1)报文格式

2)举例解读J1939报文

7. 常见诊断服务术语


1. 概述

        针对诊断设备和汽车ECU之间的数据交换,有较多诊断协议,表1.1中对常见协议进行区分,表1.2为ISO 7层模型与K、CAN协议的对应关系。

表1.1 常用诊断协议的区别

协议名称

内容

ISO-14230

又称KWP2000,描述了基于K线的诊断协议(一条线K/或两条线K和L)

ISO-15765

即UDSonCAN,描述了基于CAN线的诊断协议

SAE J1979

模式1下定义了多种不同数据流对应的PID

ISO-14229

即UDS,此标准定义了诊断的应用层服务(如,获取什么数据流需发什么指令),与底层标准无关

表1.2  ISO模型与CAN/K协议的对应关系

ISO模型

CAN线

K线

应用层

ISO 15765-3

ISO 14230-3

表述层

N/A

N/A

会话层

N/A

N/A

传输层

N/A

N/A

网络层

ISO 15765-2

N/A

数据链路层

ISO 11898-1

ISO 14230-2

物理层

ISO 9141-1

ISO 14230-1

        基于K线的诊断协议,其为一根双向数据传输线,而CAN线通过两根线(CAN_H、CAN_L)传输数据,通信过程中需要关注的问题涉及怎样定义报文、如何建立通信并交换数据,以K线为例,ISO 14230-2数据链路层协议中主要定义了传输的数据格式、通信服务、错误处理,ISO 14230-3主要规定了应用层服务。

2. K线数据链路层介绍

1)报文结构

        K线通信的报文结构如表2.1所示,最长包含260 字节(255 data bytes + 4 bytes header + Checksum),其中目标地址(Tgt)和源地址(Src)及附加长度信息(Len)均可选,取决于报文头中格式字节(Fmt)的A1 A0位,对各部分的具体描述见下文。

表2.1 报文结构

报文头

数据域

校验和

Fmt

Tgt

Src

Len

SId

Data[0]

Data[1]

Data[n]

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值