ISO-9141-2协议是汽车故障诊断中的通信协议之一,是属于OBD II标准协议的一种。下面从物理层特性、系统进入、帧结构、命令交互、交互时间参数、常用命令字等几个方面来介绍这种协议。 物理层特性:空闲电平通常为12V;数据位格式为1+8+1,没有校验位;使用的波特率通常为10416BPS和9600BPS两种。 系统进入初始化
ISO协议采用地址码进入方式,先使用5BPS发送地址码,ECU响应55H,KW1,KW2,设备KW2取反发回给ECU,ECU对地址码取反发回给设备,完成系统初始化交互。其中55H这个字节用来规定后面的通信波特率。参加下图:
其中: T1≥300ms 60ms≤T2≤300ms 5ms≤T3≤20ms 0ms≤T4≤20ms 25ms≤T5≤50ms 25ms≤T6≤50ms 55ms≤T7≤5000ms 帧结构
帧头(3个字节)+数据(最大为7个字节)+校验(通常为校验和)。数据帧有两种:命令帧和响应帧。命令帧由Tools发出,响应帧是ECU对命令帧的响应。帧头结构如下表:
| 帧头字节1 | 帧头字节2 | 帧头字节3 |
| Priority/Type | 目标地址 | 源地址 | Request(Tools->ECU) | 68H | 6AH | F1H | Response(ECU->Tools) | 48H | 6BH | 28H |
- 数据区包含传送的数据。对于命令帧,DATA区是命令字节及命令参数;对于响应帧,DATA区是命令响应及响应的数据。校验字节为前面字节的累加和,包括帧头和数据区。
命令交互
命令交互通常情况下为1对1,但也存在1对多或者多对1的情况。下面是一组命令交互举例:(注意:不是简单地交换目标地址和源地址)
Tools: 68H 6AH F1H BEH 81H ECU: 48H 6BH 28H FEH 31H 32H 33H 40H 42H 43H 34H 在命令中,目标地址是固定的;ECU响应设备的命令字在设备命令字的基础上+0x40。 交互时间参数
交互时间参数包括4个时间参数,如下:
设备发送命令字节间的时间间隔P1,通常为5ms-20ms,取6ms ECU返回命令字节间的时间间隔P2,通常为0ms 设备发送完一帧命令后等待ECU响应的时间P3,为25ms-50ms,一般取30ms; 设备接收到ECU响应后到发送下一帧命令的时间P4,通常为55ms-5000ms,一般取60ms。 常用命令字
系统推出:20H
读故障码:03H 清除故障码:14H 读版本信息:BEH 读数据流:B1H
|