汽车故障诊断仪检测系统和检测方法与流程

文档序号:17298686发布日期:2019-04-03 04:41阅读:1250来源:国知局
汽车故障诊断仪检测系统和检测方法与流程

本发明涉及汽车技术领域,尤其涉及汽车故障诊断仪检测系统和检测方法。



背景技术:

汽车故障诊断仪连接车辆obd诊断座,与汽车ecu模块进行通讯,以对汽车进行检测。故障诊断仪需要兼容多种标准协议,如iso14230、iso15031、iso15765、saej1850、saej1939,每种协议要求诊断仪和车通讯的信号方式、大小、命令格式是不同的。例如:iso14230一般都是k线通讯,1个通讯脚发信号,波特率一般为10400bps,相对于其他协议波特率低;iso15765是can总线通讯的,2个通讯脚发信号,波特率一般为125k-1mbps,命令帧格式也不同于iso14230。

(1)iso14230通讯协议数据帧格式

(2)iso15031、iso15765数据帧格式

(3)saej1850数据帧格式

汽车故障诊断仪在生产出来后,会进行各个通道、部件的物理测试,比如示波器测试方法:每个生产的诊断仪设备使用示波器、万用表对诊断仪通过通讯管脚发送的命令格式进行监听、分析,从而给出测试结论。

示波器接在诊断仪的通讯管脚,监听诊断仪不同协议类型系统发出的数据命令,对示波器采集到的数据进行分析,确认它的帧格式是否符合规范,并通过示波器显示的波形确认信号电压、时间等是否符合规范。

例如:确认诊断仪是否满足iso14230协议时,让诊断仪发送一帧iso14230协议格式的命令,用示波器监听此命令,判断其应答是否负责上面举例的规范,以及数据的波形是否符合参数要求,比如下表所示参数要求。

这种测试不仅需要测试人员有很高的技术水平且花费时间太长,不切合实际。



技术实现要素:

为了克服现有的缺陷,本发明提出一种汽车故障诊断仪检测系统,包括:判断模块和检测装置;其中,判断模块用于接收用户指令,向诊断仪发送协议测试指令,接收诊断仪传回的应答信息,并判断诊断仪功能是否支持协议;

检测装置包括ecu模块、cpu控制模块和obd接口,cpu控制模块连接判断模块和ecu模块,用于接收判断模块发送的测试命令,并控制ecu模块与obd接口相连,并能够向判断模块返回通断信息;ecu模块对协议信息进行应答;obd接口,用于连接ecu模块和诊断仪并进行数据传送。

进一步的,判断模块设置在智能终端上。

进一步的,检测装置还包括连接cpu控制模块的继电器以及连接继电器和obd接口的通道,ecu模块通过继电器的吸合连接通道,进而与obd接口连接;优选的,通道为多条,与obd接口连接的引脚不同的ecu模块使用同一条通道。

进一步的,判断模块按照诊断仪软件命令格式封装协议测试指令、解析应答信息。

进一步的,测试命令包括协议或ecu模块名称和/或通道信息,判断模块保存与测试命令对应的标准应答信息,用于与解析的应答信息进行对比。

进一步的,检测装置还包括电源模块,用于为检测装置供电。

根据本发明的另一方面,提出一种上述检测系统的使用方法,包括:

步骤1:判断模块向cpu控制模块发送测试命令,控制ecu模块与obd接口连接;步骤2:判断模块向诊断仪发送协议测试指令;步骤3:诊断仪接收协议测试指令后,将协议测试指令转化为诊断仪的协议测试指令并通过obd接口发送给ecu模块;步骤4:ecu模块将应答信息发送给诊断仪,诊断仪将ecu模块的应答信息转化为诊断仪应答信息并发送给判断模块,判断模块确定诊断仪是否支持协议。

如果ecu模块超时无应答,则诊断仪向判断模块发送无应答信息,判断模块向用户显示诊断仪不支持协议。

进一步的,判断模块按诊断仪的软件命令格式封装协议测试指令,解封诊断仪应答信息。

重复步骤1-4检测诊断仪是否支持判断模块内置的所有协议,如果均支持,则诊断仪功能正常。

本发明提供的诊断仪检测系统,会让诊断仪同每款ecu模块进行通讯,以快速、准确地判断诊断仪是否支持相关ecu模块和协议。

附图说明

图1是根据本发明一个实施例的诊断仪检测系统结构示意图;

图2是不同ecu模块与obd接口连接示意图;

图3是根据本发明一个实施例的检测装置结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明提供的汽车故障诊断仪检测系统进行详细描述。

在以下的描述中,将描述本发明的多个不同的方面,然而,对于本领域内的普通技术人员而言,可以仅仅利用本发明的一些或者全部结构或者流程来实施本发明。为了解释的明确性而言,阐述了特定的数目、配置和顺序,但是很明显,在没有这些特定细节的情况下也可以实施本发明。在其他情况下,为了不混淆本发明,对于一些众所周知的特征将不再进行详细阐述。

如图1所示,检测系统包括:判断模块和检测装置。其中,判断模块用于接收用户指令,向诊断仪发送协议测试指令,接收诊断仪传回的应答信息,并判断诊断仪功能是否支持协议;检测装置包括ecu模块、cpu控制模块和obd接口,cpu控制模块连接判断模块和ecu模块,用于接收判断模块发送的测试命令,并控制ecu模块与obd接口相连;ecu模块对协议信息进行应答;obd接口,用于连接ecu模块和诊断仪并进行数据传送。

判断模块可以设置在电脑、智能平板等设备上,用于接收用户指令、向诊断仪和检测装置分别发送协议测试指令和测试命令,并接收诊断仪传回的应答以进行判断诊断仪是否支持相应的协议。判断模块保存协议测试指令对应的符合该协议的标准应答,如果其解析从诊断仪发来的应答信息与标准应答相同,则说明诊断仪支持该协议,否则说明诊断仪不支持该标准协议,不支持相应的ecu模块。

检测装置包括:ecu模块、cpu控制模块和obd接口。

ecu模块是车辆的电子控制系统,不同厂家的车辆采用不同的ecu模块。ecu模块支持不同的协议,如iso14230、iso15765等。ecu模块也是通过这些协议和诊断仪通讯。

比如丰田汽车采用iso15765诊断协议,丰田ecu模块能够接收和发送符合该协议的数据帧,因此判断诊断仪是否支持丰田ecu模块,就要看诊断仪是否能发送符合iso15765协议的数据,该数据发送给ecu模块后,如何ecu模块向诊断仪应答并被诊断仪按iso15765协议解析,如果解析的结果正确,那么说明诊断仪支持丰田ecu模块,也就是支持iso15765协议。

诊断仪应支持所有汽车通讯协议,所以判定诊断仪好坏时要检测它是否能和支持不同通讯协议类型的ecu模块进行正常通讯。

通常ecu模块可以在市场上购买,也可以开发支持某协议的ecu模块。

cpu控制模块接收的测试命令可以控制ecu模块的启动,ecu通讯线可以连接obd接口的相应引脚。

cpu控制模块包括微处理器,能够接收判断模块发送的测试命令,测试命令包含与ecu模块通讯的协议,并通过控制继电器使得ecu模块的通讯线和obd接口连接或断开。

在一个实施例中,通过通道连接继电器和obd接口。cpu控制模块给继电器发送高电平,则继电器吸合,使得通道与ecu模块的通讯线连接起来,并使ecu模块启动,此时ecu模块就通过通道与obd引脚连接起来。

obd引脚是16针的,不同的协议所使用的引脚是根据厂商的设定而固定的,但又不完全相同。如图2所示,福特使用2和10引脚,尼桑使用12、13、14引脚,君威使用2引脚。由此也可以发现,如果同时测量2个使用了相同引脚的协议(例如:pwm与vpwm都用#2针脚),测试就会混乱。所以为了同时测试多个ecu模块,可以设置多个通道,使用相同针脚的ecu模块使用不同的通道。如图3所示,在一个实施例中,设定福特、三菱使用a通道,丰田等使用b通道。此时,判断模块向cpu控制模块发送的命令可以包含通道号,通过控制继电器的开关打开某个通道,比如a通道,那么连接到a通道上的ecu模块就会启动,并通过通道a连接到obd接口。

待测试的诊断仪连接到obd接口后,ecu模块与待测试的诊断仪通过obd接口相连,可以互相通信。

判断模块接收用户发送的指令,指令包括待测协议或ecu模块名称和/或通道号,然后判断模块将待测协议、ecu模块名称和/或通道发送给cpu控制模块,如上面所述,cpu控制模块控制继电器使得ecu模块的通讯线与obd接口相连,判断模块与cpu控制模块可以通过有线或无线方式相连;另一方面,判断模块中保存有协议测试指令和相应的标准应答信息,它通过无线或有线方式与待测试的诊断仪连接,并发送协议测试指令(协议测试指令符合诊断仪软件命令格式,如ecu模块的激活命令、保持链接命令、数据流命令、退出命令等)给诊断仪,诊断仪接收协议测试指令后,会分析协议测试指令,并将其转换为自身含有的诊断仪测试指令,然后通过obd接口向ecu模块发送诊断仪测试指令,若数据格式正确ecu模块会有响应,例如回复:81f1117e01。若ecu模块收到信号不正确,则不会有信号输出或者输出的信号不符合待测试协议的数据帧格式,这样,诊断仪不会收到ecu模块数据或收到错误的ecu模块响应数据。

诊断仪收到ecu模块响应数据后或未收到响应数据都会将相应信息转发给判断模块,判断模块此时会判断接收到的信息与协议测试指令对应的标准应答信息是否匹配,如果匹配,就说明待测试的诊断仪支持被测试的协议,也就是支持ecu模块,否则说明诊断仪有问题,不是合格产品。

诊断仪本身硬件也是通过它的软件控制的,有一定的规则;判断模块按照诊断仪软件命令格式发送指令,这样诊断仪就会按要求处理。

判断模块也按诊断仪的软件命令格式解封诊断仪发来的应答信息,然后与标准应答信息进行比对。

协议测试指令可以是一条也可以是命令序列,即测试ecu模块是否有回复,若诊断仪发送的信号ecu模块不回复或者回复错误则证明诊断仪发送此类型协议的信号存在问题。也就是诊断仪不支持此协议。

判断模块与cpu控制模块之间使用自定义的通讯协议命令,例如:接收到“pcja”或“pcjb”命令,cpu控制模块控制继电器切换到“a”通道或“b”通道,切换完后cpu控制模块返给判断模块“ecu模块a”或“ecu模块b”命令表示切换完成。

判断模块发“pcjf”,cpu控制模块会使检测装置回复初始状态。

测试时,每个ecu模块都要测试,诊断仪都支持,才证明其合格。

在一个实施例中,判断模块可以发送通道a指令,则连接通道a的ecu模块均上电启动,并与obd接口相连接。此时可以针对这些ecu模块(哪些通道连接哪些ecu模块在判断模块设定好)按顺序发送相应的协议测试指令,从而实现诊断仪测试的自动化。

检测装置还包括电源模块,以为cpu控制模块、ecu模块提供电力。

根据本发明的另一方面,提出一种使用上述检测系统的检测方法,包括:步骤1:判断模块向cpu控制模块发送测试命令,控制ecu模块与obd接口连接;步骤2:判断模块向诊断仪发送协议测试指令;步骤3:诊断仪接收协议测试指令后,将协议测试指令转化为诊断仪的协议测试指令并通过obd接口发送给ecu模块;步骤4:ecu模块将应答信息发送给诊断仪,诊断仪将ecu模块的应答信息转化为诊断仪应答信息并发送给判断模块,判断模块确定诊断仪是否支持协议。

如果ecu模块超时无应答,则诊断仪向判断模块发送无应答信息,判断模块向用户显示诊断仪不支持协议。

进一步的,判断模块按诊断仪的软件命令格式封装协议测试指令,解封诊断仪应答信息。

在步骤1中,测试命令包括协议或ecu模块名称和/或通道号。在步骤4中,如果ecu模块超时不响应,诊断仪会向判断模块发送无响应信息,判断模块收到此信息后会向用户显示诊断仪不支持此协议或ecu模块。

判断模块按诊断仪的软件命令格式封装命令,解封诊断仪应答信息。

重复步骤1-4检测诊断仪是否支持判断模块内置的所有协议,如果均支持,则诊断仪功能合格。

本发明通过继电器、通道把多块ecu模块连接到obd接头上,可以自动对通道上的所有ecu模块自动测试,也可以对某个ecu单独测试。本发明的检测系统使用方便、测试方式灵活,并且准确率高。

当然,本发明还有多种其他实施例,在不背离本发明精神和实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变,但这种改变都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1