星期五, 24 04月 2020 19:12

KWP2000协议

KWP2000协议是汽车行业最常用的通信协议之一,属于标准OBDII协议的一种,KWP又称为关键字协议,下面从通信过程,物理层特性,系统进入,帧结构、命令交互、交互时间参数、常用命令来介绍。以后会针对这些要素具体分析,比如物理层特性具体深入到硬件电路方面,现在先简单大概的描述。

通讯过程
诊断仪在K-线上传送一个唤醒模式(WUP)的信号该信号在一段空闲时间以后以25ms的低电平开始在TWUP的时间后接着第一个下降沿诊断仪发送启动通信服务的第一个位,诊断仪必须使用10400的波特率进行初始化和通信

物理层特性
通常采用波特率0x28A0;
空闲电平通常为12V;数据位格式为1+8+1,没有校验位。


系统进入初始化
有快速初始化和5bps初始化两种方式。其中5bp初始化常是车型年限较老的,或者柴油卡车类型。
快速初始化:由诊断仪发送25ms的拉低电平(常态是高电平),然后是25ms的高电平,再发送系统进入数据,系统进入数据通常为5个字节,ECU响应7个字节,完成系统初始化交互。具体参见下图:

kwp001

5bps初始化:诊断仪发送5bps的地址码,回馈若干个字节作为回应,回馈的字节来源于字节,回馈的第一字节是0x55,ECU响应0x55方波,测试仪根据测试此方波的时间间隔来计算波特率KW1,KW2,设备对KW2取反发回给ECU(也可能不发,如果不发,这初始化直接完成),ECU对地址码取反发回给设备,完成系统初始化交互。其中0x55这个字节用来规定后面的通信波特率。

kwp002

帧结构
帧格式:FMT(帧头) TRG(目标地址)SRC(源地址)LEN(长度)DATA(数据)CS(校验码)
举例:

rece:  81 10 f1 01 81 03
send: 81 f1 10 01 c1 43

命令交互
回复的格式通常是pos位(有效位)+0X40,目标地址和源地址互换
5bps协议的会比较特殊
各个车型各个系统的系统ID不一样,通常需要要采集数据,比如发动机0xE0对应0xE8
交互时间参数
ECU应答的字节间隔时间间隔P1,通常为5ms
诊断仪请求和ECU应答或两个ECU应答的间隔时间P2,通常为0ms
ECU应答结束和新的诊断仪请求开始间隔时间P3,通常为75ms~90ms
诊断仪请求的字节间隔时间P4,通常为20ms
P1必须大于实际侦测到的字节间间隔,一般情况比实际侦测到的字节间间隔多3ms


服务命令
系统进入:0x81,

系统退出:0x82

写数据流:0x3b
通信保持:0x3E,

读故障码状态:0x17

清除故障码:0x14
读版本信息:0x1A,

读数据流:0x21

读故障码:0x18
读冻结帧:0x12

输入输出控制:0x30

开始运行时:0x31
停止运行时:0x32

请求运行时结果:0x33

请求下载:0x34
传递数据:0x36

请求传输退出:0x37

加密:0x27
访问通信参数:0x83

查看 19177

AI 智能舌象仪

Tongue imager rafavi

导航信号采集及测试设备

Portable singal acquisition and replay
 
Please support our site by viewing this advertisement.

Please support our site by viewing this advertisement

Free Content