[发明专利]一种基于KWP2000的数据链路层的软件实现方法有效
申请号: | 200810220151.2 | 申请日: | 2008-12-19 |
公开(公告)号: | CN101441476A | 公开(公告)日: | 2009-05-27 |
发明(设计)人: | 马海 | 申请(专利权)人: | 奇瑞汽车股份有限公司 |
主分类号: | G05B23/02 | 分类号: | G05B23/02 |
代理公司: | 广州中瀚专利商标事务所 | 代理人: | 黄 洋 |
地址: | 241009安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kwp2000 数据链 软件 实现 方法 | ||
技术领域
本发明涉及汽车电子技术领域,具体地说是基于KWP2000的数据链路层的软件实现方法。
背景技术
在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制定了相关的标准和协议。其中,汽车领域广泛使用的是一种车载诊断协议标准KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务。
基于K线的KWP2000协议标准主要包括ISO14230-1~14230-4,其中ISO14230-2规定了KWP2000的数据链路层协议,包括报文结构、初始化过程、通讯连接管理、定时参数和错误处理等内容。基于K线的KWP2000协议的逻辑系统非常复杂,并且具有严格的定时和错误处理规范,软件开发如果不采用分层架构,并行开发的思想,不仅要耗费大量的时间和人力,其通用性、完备性、可靠性和可维护性都很难保证。
发明内容
本发明的目的是提出一种易于开发和维护的基于KWP2000的数据链路层的软件实现方法。
本发明的基于KWP2000的数据链路层的软件实现方法,该方法针对汽车故障诊断技术领域诊断设备和汽车ECU之间的数据交换,关键在于包括如下步骤:A:在开始诊断服务之前,诊断设备对ECU进行初始化,通过ECU的响应获取ECU的源地址、通讯波特率、支持的报文头格式、定时参数信息;B:完成初始化过程后,诊断设备和ECU进行应用层的诊断服务,在诊断服务的请求/响应过程中,诊断设备和ECU必须遵守如下时序及定时参数:a、ECU响应消息字节之间的间隔时间P1小于20ms;b、诊断设备请求结束到ECU开始响应或者两个ECU响应之间的间隔时间P2在25ms到50ms之间;c、ECU响应结束到一条新的诊断设备请求之间的间隔时间P3在55ms到5000ms之间;d、诊断设备请求消息字节之间的间隔时间P4在5ms到20ms之间;在诊断服务的请求/响应过程中,ECU端数据链路层包括空闲模式、接收请求模式和发送响应模式三种模式,ECU端数据链路层在空闲模式下等待接收诊断设备发出的唤醒及建立通信的消息;ECU在发送响应模式下周期性的调度函数把数据逐字节的发送出去;ECU接收请求模式下接收数据;所述空闲模式、发送响应模式及接收请求模式的进入、退出方法如下:a、程序初始化后,在K线通信没有建立起来时一直保持在空闲模式下;b、ECU接收完诊断设备发送的请求后,进入空闲模式,并在P2min时间即25ms后从空闲模式切换到发送响应模式;c、ECU发送响应结束后,进入空闲模式,若进入空闲模式P3min时间即55ms后K线仍通信保持,则进入接收请求模式,否则一直保持在空闲模式下;d、ECU进入接收请求模式4945ms后若没有接收到消息,则进入空闲模式。
当ECU发送响应结束后的P3min时间即55ms之内,ECU不接收数据,以提高通信的抗干扰性能。
在数据链路层处于接收请求模式下时,ECU首先设置接收帧的第一个字节标志为TRUE,同时设置接收请求字节间的最大超时;然后根据第一个字节,分析帧的长度,根据帧的长度,在数据接收完毕后,进行帧数据的检查及校验;最后清除接收帧的第一个字节标志,设置数据链路层的模式为空闲模式,设置接收帧完成标志为TRUE。
在数据链路层处于发送响应模式下时,ECU通过异步串行通信模块将数据链路层缓冲区的数据逐字节地发送到SCI的数据寄存器,发送完成后,数据链路层的模式设置为空闲模式,清除数据链路层数据缓冲区的闭锁标志和数据链路层面向应用层数据缓冲区的闭锁标志,并设置缓冲区发送成功标志。
本发明的提供了一种基于K线的KWP2000数据链路层软件实现方法,该方法针对汽车故障诊断技术领域诊断设备和汽车ECU之间的数据交换,特别规范了其中的数据链路层与异步串行通信底层驱动模块之间接收与发送数据的处理方式、数据链路层与应用层之间接收与发送数据的处理方式、定时参数和错误处理的实现方式、数据链路层模式的定义方式、数据链路层各种模式的相互切换、数据发送的流程及处理方式和数据接收的流程及处理方式,软件开发者可以根据上述规范进行并行开发,大大提高软件开发效率,并且据此规范所开发出来的软件层次清晰、易于维护。
附图说明
图1是基于K线的KWP2000报文结构示意图;
图2是K线诊断服务的时序示意图;
图3是图2中各时序的定时参数表。
具体实施方式
下面结合具体实施例和附图来详细说明本发明。
实施例1:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇瑞汽车股份有限公司,未经奇瑞汽车股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810220151.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种选粉机的双层撒料盘
- 下一篇:光电式喷漆机防污染感应装置