收藏 分享(赏)

kwp2000协议:物理层及链路层详细分析.ppt

上传人:无敌 文档编号:572605 上传时间:2018-04-12 格式:PPT 页数:33 大小:1.51MB
下载 相关 举报
kwp2000协议:物理层及链路层详细分析.ppt_第1页
第1页 / 共33页
kwp2000协议:物理层及链路层详细分析.ppt_第2页
第2页 / 共33页
kwp2000协议:物理层及链路层详细分析.ppt_第3页
第3页 / 共33页
kwp2000协议:物理层及链路层详细分析.ppt_第4页
第4页 / 共33页
kwp2000协议:物理层及链路层详细分析.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、KWP2000协议:物理层及,链路层详细分析,2012-02-20,目的及范围,本文档的目的是向新员工介绍KWP的变更历史及物理层和链路层的概况。,本文件适用于软件开发新员工。,培训内容,KWP协议的历史KWP协议物理层介绍KWP协议链路层介绍,KWP协议的历史,什么是KWP协议ISO14230变更历史ISO14230的扩展,什么是KWP协议,KWP2000(Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种,车载诊断协议标准,该协议实现了一套完整的车载诊断服务,并且满足E-,OBD(European On-Board Diagnostics)标准。,ISO14230-1

2、, ISO14230-2, ISO14230-3分别对其中三个子层进行了,定义说明,即:物理层(第一层)、数据链路层(第二层)、应用层(第七层) 。,使用KWP协议,在开始诊断服务之前,诊断设备必须对ECU进行初始,化,通过ECU的响应获取支持的报文格式、定时参数等信息。ECU所支持,的报文和定时参数信息包含在ECU返回的“关键字(Key Word)”中(这也,是协议命名的由来)。关键字由两个字节构成,在链路层中进行介绍。,SSF 14230(瑞典标准),Aug. 19, 1996 :First issueJune 12, 1997,2 Reference to ISO 9141 and SA

3、E J1962 removed.,3 Definitions added.,4.1 Definition of K-line usage changed. No ref. to 5-baud init.,5 ISO 15031-3 added in example.,5.2.1 Reference to line L removed from figure.,5.2.2 Last section changed. Only 10.4 kbaud is used.,5.2.3 Paragraph moved to SSF 14230-2,6.2.1 First section. Accuracy

4、 added to resistor value.,6.2.2 Definition of accuracy changed. Only fast init. and 10.4 kbaud,is used.,7.2.3 New paragraph.,7.3.1 Requirement of supporting initialisation methods changed. Only,fast init. is used.,ISO14230变更历史,October 22, 1997,6.2.4 Requirement for 24 V systems added,7.2.2 Document

5、reference changed,SSF 14230在97年修订以后已经不再定义5BPS进入方式和不再定义L线;定义了初始化仅为快速进入方式和起始波特率为10400,同时在物理层定义了24V的情况。1999年,ISO国际标准化组织正式发布ISO14230。,ISO14230变更历史,为了适应汽车制造厂家和电子系统供应商的要求,1997年以下公司基于ISO14230和其他相关标准联合对KWP2000的应用层做了扩展。, Adam Opel AG, AISIN AW CO., Limited Japan, Audi AG / Volkswagen AG, BMW AG, Daimler-Benz

6、 AG, debis Systemhaus GmbH, DELCO Electronics Europe, DSA Daten und Systemtechnik GmbH, ETAS GmbH & Co. KG, FEV Motorentechnik GmbH & Co. KG, GenRad Europe Ltd., GM Europe GmbH Service Technology Group Intl Operations, Hella KG, Isuzu Motors Ltd., Kelsey-Hayes, LucasVarity, MAN Nutzfahrzeuge AG, Mec

7、el AB, Robert Bosch GmbH, Saab Automobile AB, Siemens AG, Softing GmbH, VDO Adolf Schindling AG,ISO14230的扩展,电平KWP协议支持12V及24V两种电压交互KWP协议支持的数据交互模式是通过一条K线进行双向半双工方式进行通讯。逻辑KWP协议支持的是正逻辑,高电平代表“1”,低电平代表“0”;电压超过输出VB 80%代表高电平,低于输出VB 20%代表低电平。在20%-80%可能接受为“0”,也可能接收为“1”.,KWP协议物理层介绍,初始化和定时参数帧格式帧应答格式Key Bytes 定义,

8、KWP协议链路层介绍,初始化定时参数,初始化和定时参数,快速初试化诊断仪在K-线上传送一个唤醒模式(WuP)的信号。该信号在一段空闲时间(300MS)以后,以25ms 的低电平开始。在TWuP 的时间后,接着第一个下降沿,诊断仪发送启动通信服务的第一个位。诊断仪必须用10400 的波特率进行启动通信(ISO标准里允许波特率有1.7%的误差)。,初始化,其他初始化模式在ISO14230标准里,还支持地址码进入方式和L线激活,但基本在2000年以后较少采用。,初始化,在ECU忙的时候(ECU返回的否定应答码为0X78),可以出现,P2(max)= P3(max)的情况。,定时参数,标准帧格式,头(

9、header),数据(data bytes),检验字节(checksum),非标准帧格式物理地址模式和功能地址模式,帧格式,标准帧格式,标准帧结构包括三部分:头(header)、数据(data bytes)、检验字节(checksum)。1:标注该字节为可选,根据模式字(Fmt)决定2:为服务ID和数据部分,头(header)头包括模式字(Fmt)、目标地址(Tgt)、源地址(Src)和长度(Len),在标准KWP协议中,长度(,Len)字节根据模式字(Fmt)不同为可选;,所以标准KWP帧格式为以下2种:,一种为帧头包括长度字节(本文称为模式一),标准帧格式,例如:0X80,0X11,0XF

10、1,0X01,0X3E,0XC1,一种为帧头不包括长度字节,数据长度包括在模式字(Fmt)里(0X80+长度)(本文称为模式二):,例如:0X81,0X11,0XF1,0X3E,0XC1,在数据长度超过63个字节的时候只能采用第一种帧格式。,标准帧格式,头(header):模式字(Fmt)模式字(Fmt)的低6位为数据长度信息,高2位为地址模式字节在标准KWP协议中地址模式字节定义如下:在标准KWP协议中不支持HM1模式。HM2为物理地址模式,即帧模式字为:8xh; HM3为功能地址模式,即帧模式字为:Cxh;,头(header):目标地址(Tgt)和源地址(Src)标识帧要传递的目标和发出的

11、目标,一般不同的ECU模块有不同的地址标识。如发动机一般使用:0X10、0X11;诊断设备一般使用:0XF0,0XF1等。,标准帧格式,头(header):长度(Len)当模式字(Fmt)的低6位为0的时候帧需要有长度(Len)位指明数据(data bytes)长度;一般当数据(data bytes)长度低于63个字节的时候不采用长度(Len)字节,在模式字(Fmt)中包含长度信息,如:0X81,0X11,0XF1,0X81,0X04;但在数据(data bytes)长度高于或低于63字节都可以使用长度(Len)字节,如:0X80,0X11,0XF1,0X01,0X3E,0XC1。,标准帧格式

12、,标准帧格式,数据(data bytes)数据(data bytes)部分包括服务ID和与该ID相关的数据。具体服务ID在应用层中进行介绍检验字节(checksum)检验字节(checksum)为帧数据中除检验字节(checksum)字节外的其他字节的一字节的溢出累加和。,非标准帧格式,非标准帧格式总共有2种,一种为帧头为格式字节(该格式字节为数据长度)(本文称为模式三):在这里 Fmt = 0X00 +长度;例如:0X02,0X21,0X01,0X24第2种为帧头为格式字节(该格式字节为0X00)加数据长度(本文称为模式四):例如:0X00,0X02,0X21,0X01,0X24这2种帧格式

13、经常使用在防盗系统或数据刷新等对安全或速度要求比较高的系统和功能里。,物理地址模式和功能地址模式,物理地址模式可以使用与请求帧也可以用于应答帧,但功能地址模式只能使用于请求帧;一般来说物理地址模式使用于与单一服务通讯使用,如诊断一个发动机系统;功能地址模式使用于与一组服务通讯使用,如诊断一款车上的OBD模块。,请求帧格式肯定应答帧否定应答帧否定应答代码应答帧有2种,一种为肯定应答,一种为否定应答。在一般情况下,ECU返回的应该为肯定应答,但在一些特殊情况下,ECU可能返回否定应答,出现否定应答的原因由否定应答码给出。,帧应答格式,C1)条件1:头(header)里面的长度(Len)字节由模式字

14、(Fmt)确定是否存在;C2)条件2:这部分数据是强制还是可选的由具体的服务ID确定;,请求帧格式,Positive Response Service Identifier为请求帧里的 RequestService Identifier+0X40;,肯定应答帧,Response Code为否定应答代码,说明出现该否定应答的原因,具体参见否定应答代码 。,否定应答帧,下表列举和指定了KWP 2000 中使用的应答代码的十六进制值。,否定应答代码,否定应答代码,否定应答代码,中断数据传送该应答代码表示,由于某种故障条件,停止一次数据传送操作(单个传送数据请求报文),以后不能完成。数据块传送中的非法

15、地址该应答代码表示,传送数据请求报文中包含的起始地址,或是超限,或是受保护的,或是对于接受数据的内存为错误类型,或是由于某种原因而不能被写入。数据块传送中的非法字节该应答代码表示,传送数据请求报文中的数据字节数,或是大于传送数据请求报文所能容纳的量,要求比所请求的起始地址处更大的内存量,或是传送数据软件不能进行处理。非法数据块传送类型该应答代码表示,传送数据请求报文中包含的数据传送请求可选参数对此项应用无效。数据块传送数据校验和出错该应答代码表示,为传送数据报文计算的数据校验和与预期的数值不相符。请求报文接收正确 应答挂起该应答代码表示,请求报文接收正确,请求报文中的所有参数均正确,但是,要进

16、行的动作尚未完成。可以用该应答代码表示请求报文接收正确,无须重新发送。但是,服务器尚未准备好接受另一项请求。该应答代码应处理服务器(ECU)和客户机(诊断仪)中的P2max 参数。P2max 计时参数被设置成P3max 计时参数的数值。此外,客户机(诊断仪)应关闭“诊断仪存在”的服务。当客户机(诊断仪)接收到正的应答报文时,客户机(诊断仪)和服务器(ECU)应将P2 计时参数恢复成以前的P2 计时数值。另外,客户机(诊断仪)应重新启用“诊断仪存在”的服务。数据块传送时遇到不正确的字节该应答代码表示,预期传送的数据字节数与收到的数据字节数不同。数据块传送时遇到不正确的字节该应答代码表示,因为服务

17、器(ECU)不支持在当前活动的诊断模式中所请求的服务,所以不进行所请求的动作。通讯计时不影响该应答代码。由文件保留应为关系到今后应答代码定义的诊断服务落实,保留该范围的数值。道路车辆制造厂商专用,727475767778798081-8F90-9F,否定应答代码,KWP协议之所以被称为“关键字”协议,在于诊断设备发送系统激活命令后,ECU会返回2个,KEY BYTE回应ECU支持的通讯模式。,具体如:,REQ:0X81,0X11,0XF1,0X81,0X04ANS:0X83,0XF1,0X11,0XC1,0XEF,0X8F,0XC4其中0XEF,0X8F即为KEY BYTE。KEY BYTE的

18、具体含义为:,KB1,(Low Byte) =:,Bit,0 (LSB):,AL0,Bit,1 :,AL1,Bit,2 :,HB0,Bit,3 :,HB1,Bit,4 :,TP0,Bit,5 :,TP1,Bit,6:,1,Bit,7(MSB): Parity (odd),KB2,(High Byte) =,Bit,0-6: $0F,Bit,7: 1 (odd parity),SSF 14230只支持 Keyword ($8FEA) 1000 1111 1110 1010 ,即模式一通讯方式。,但我们最期待的是$8FEF,1000 1111 1110 1111,这样我们可以使用所有的通讯模式。,Key Bytes 定义,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经济财会 > 经济学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报