KWP2000协议

KWP2000协议

2016年06月09日 00:13:47 _tonyl 阅读数:6060

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linjingtu/article/details/51615972

KWP2000协议是汽车行业最常用的通信协议之一,属于标准OBDII协议的一种,KWP又称为关键字协议,下面从通信过程,物理层特性,系统进入,帧结构、命令交互、交互时间参数、常用命令来介绍。以后会针对这些要素具体分析,比如物理层特性具体深入到硬件电路方面,现在先简单大概的描述下。
通讯过程
诊断仪在K-线上传送一个唤醒模式(WUP)的信号该信号在一段空闲时间以后以25ms的低电平开始在TWUP的时间后接着第一个下降沿诊断仪发送启动通信服务的第一个位,诊断仪必须使用10400的波特率进行初始化和通信
物理层特性
通常采用波特率0x28A0;
空闲电平通常为12V;数据位格式为1+8+1,没有校验位。
系统进入初始化
有快速初始化和5bps初始化两种方式。其中5bp初始化常是车型年限较老的,或者柴油卡车类型。
快速初始化:由诊断仪发送25ms的拉低电平(常态是高电平),然后是25ms的高电平,再发送系统进入数据,系统进入数据通常为5个字节,ECU响应7个字节,完成系统初始化交互。具体参见下图:
快速初始化
5bps初始化:诊断仪发送5bps的地址码,回馈若干个字节作为回应,回馈的字节来源于字节,回馈的第一字节是0x55,ECU响应0x55方波,测试仪根据测试此方波的时间间隔来计算波特率KW1,KW2,设备对KW2取反发回给ECU(也可能不发,如果不发,这初始化直接完成),ECU对地址码取反发回给设备,完成系统初始化交互。其中0x55这个字节用来规定后面的通信波特率。
慢速初始化
帧结构
帧格式:FMT(帧头) TRG(目标地址)SRC(源地址)LEN(长度)DATA(数据)CS(校验码)
举例:

rece:81 10 f1 01 81 03
send:81 f1 10 01 c1 43
  • 1
  • 2

命令交互
回复的格式通常是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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值