一种汽车诊断方法、装置和车辆通讯接口与流程

文档序号:14571475发布日期:2018-06-01 22:20阅读:438来源:国知局
一种汽车诊断方法、装置和车辆通讯接口与流程

本发明实施例涉及汽车电子技术领域,特别是涉及一种汽车诊断方法、装置和车辆通讯接口。



背景技术:

随着汽车自动化程度越来越高,采用电脑控制系统的车辆越来越多,车辆的结构也越来越复杂,这样带来车辆的故障也越来越复杂,从而对汽车维修技师的要求也越来越高,这种背景下,汽车诊断设备的作用就愈发明显,对维修技师来说,快速、准确、功能齐全的诊断设备能更高效的对汽车进行故障诊断。

如何提升汽车诊断设备的诊断效率,成为本领域技术人员积极研究的课题。



技术实现要素:

本发明实施例主要解决的技术问题是提供一种快速实现汽车诊断的方法、装置和车辆通讯接口,能够提升汽车诊断的效率。

本发明实施例采用的一个技术方案是:第一方面,提供一种汽车诊断方法,应用于车辆通讯接口,所述方法包括:

基于第一通信协议,获取车辆的车辆识别码;

根据所述车辆识别码,确定第一诊断协议;

基于所述第一诊断协议,获取并存储所述车辆的待诊断信息;

与诊断主机连接后,将所述待诊断信息发送至所述诊断主机。

可选地,所述方法还包括:

确定OBD接口的第一管脚以及与所述第一管脚相关的至少一个候选通信协议;

基于所述至少一个候选通信协议依次对所述第一管脚进行扫描;

将扫描成功所基于的候选通信协议作为所述第一通信协议。

可选地,所述方法还包括:

检测所述OBD接口中的选定管脚是否输出有电压信号;

所述确定OBD接口的第一管脚,包括:

将输出有电压信号的选定管脚确定为所述第一管脚。

在一些实施例中,所述基于第一通信协议,获取车辆的车辆识别码,包括:

基于所述第一通信协议,从与所述第一管脚对应的车辆系统中获取车辆的车辆识别码。

在一些实施例中,所述根据所述车辆识别码,确定第一诊断协议,包括:

对所述车辆识别码进行解析,获取所述车辆的车辆信息;

根据所述车辆信息,从预存储的系统配置表中查找与所述车辆信息对应的系统信息,所述系统信息包括系统、所述系统对应的管脚、以及所述系统支持的诊断协议;

将所述系统支持的诊断协议确定为所述第一诊断协议。

可选地,所述方法还包括:

判断所述系统信息中所述系统对应的管脚是否包括第二管脚,其中,所述第二管脚为所述选定管脚中未输出有电压信号的管脚;

若为是,从所述第一诊断协议中去除与所述第二管脚相关的诊断协议,以得到第二诊断协议;

所述基于所述第一诊断协议,获取并存储所述车辆的待诊断信息,包括:

基于所述第二诊断协议,获取并存储所述车辆的待诊断信息。

第二方面,本发明实施例提供一种汽车诊断装置,应用于车辆通讯接口,所述装置包括:

VIN码获取模块,用于基于第一通信协议,获取车辆的车辆识别码;

诊断协议确定模块,用于根据所述车辆识别码,确定第一诊断协议;

待诊断信息获取模块,用于基于所述第一诊断协议,获取并存储所述车辆的待诊断信息;

待诊断信息发送模块,用于与诊断主机连接后,将所述待诊断信息发送至所述诊断主机。

可选地,所述装置还包括:

第一管脚确定模块,用于确定OBD接口的第一管脚以及与所述第一管脚相关的至少一个候选通信协议;

第一管脚扫描模块,用于基于所述至少一个候选通信协议依次对所述第一管脚进行扫描;

通信协议确定模块,用于将扫描成功所基于的候选通信协议作为所述第一通信协议。

可选地,所述装置还包括:

电压信号检测模块,用于检测所述OBD接口中的选定管脚是否输出有电压信号;

所述第一管脚确定模块,还用于:

将输出有电压信号的选定管脚确定为所述第一管脚。

在一些实施例中,所述VIN码获取模块,具体用于:

基于所述第一通信协议,从与所述第一管脚对应的车辆系统中获取车辆的车辆识别码。

在一些实施例中,所述诊断协议确定模块,具体用于:

对所述车辆识别码进行解析,获取所述车辆的车辆信息;

根据所述车辆信息,从预存储的系统配置表中查找与所述车辆信息对应的系统信息,所述系统信息包括系统、所述系统对应的管脚、以及所述系统支持的诊断协议;

将所述系统支持的诊断协议确定为所述第一诊断协议。

可选地,所述装置还包括:

第二管脚判断模块,用于判断所述系统信息中所述系统对应的管脚是否包括第二管脚,其中,所述第二管脚为所述选定管脚中未输出有电压信号的管脚;

所述诊断协议确定模块,还用于从所述第一诊断协议中去除与所述第二管脚相关的诊断协议,以得到第二诊断协议;

所述待诊断信息获取模块,还用于:

基于所述第二诊断协议,获取并存储所述车辆的待诊断信息。

第三方面,本发明实施例提供一种车辆通讯接口,包括:

至少一个处理器;以及

与所述至少一个处理器连接的存储器;其中,

所述存储器存储有计算机指令,所述至少一个处理器用于调用所述计算机指令,以执行如上所述的方法。

第四方面,本发明实施例提供一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于被车辆通讯接口执行,以实现如上所述的方法。

第五方面,本发明实施例提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,程序指令用于被车辆通讯接口执行,以实现如上所述的方法。

本发明实施例中,在车辆通讯接口与车辆上的OBD接口连接后,可自主获取车辆的车辆信息,根据车辆信息进一步获取车辆的待诊断信息,与诊断主机连接后,将待诊断信息发送至诊断主机,简化了诊断主机的信息获取流程,提升了汽车诊断效率。

附图说明

图1是本发明实施例的汽车诊断方法的流程示意图;

图2是本发明另一实施例的汽车诊断方法的流程示意图;

图3是本发明实施例的汽车诊断装置的结构示意图;

图4是本发明实施例的车辆通讯接口的结构示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

第一方面,本发明实施例提供一种汽车诊断方法,应用于车辆通讯接口,车辆通讯接口用于分别与车辆和诊断主机连接,请参阅图1,该方法包括:

步骤110:基于第一通信协议,获取车辆的车辆识别码。

本申请实施例中,第一通信协议可以理解为OBD链路层协议,是汽车行业通用公开协议,比如J1850、KWP、IS09141、STD CAN等协议类型。

一种实现方式中,车辆上的OBD接口中包括多个管脚,多个管脚与车辆中的多个ECU成对应关系,例如,至少一个管脚对应一个系统的ECU。在车辆通讯接口VCI与OBD接口连接后,车辆通讯接口VCI可以通过各管脚实现与各管脚对应的ECU基于该ECU所支持的通信协议进行通信连接。首先,VCI通过OBD链路层协议对OBD接口的管脚进行扫描,是指VCI向管脚依次发送基于OBD链路层协议的协议格式的连接请求,如果VCI通过该管脚接收到基于其中某个OBD链路层协议的针对该连接请求的响应,则可将该OBD链路层协议作为第一通信协议。

VCI可以基于该第一通信协议与该管脚对应的ECU进行通信连接,从而可以从该ECU获取到车辆的车辆识别码。通常,该ECU所属于车辆的发动机系统,在此,本申请实施例不予限定。

其中,可以对OBD接口中的每个管脚进行协议扫描,或者仅对OBD接口中的选定管脚进行协议扫描。可以对OBD接口的管脚进行所有OBD链路层协议扫描,或者选取其中一个或多个OBD链路层协议对OBD接口的管脚进行扫描。

在一实施例中,按照标准CAN 500K、标准CAN 250K、扩展CAN 500K、扩展CAN 250K、PWM、VPW、KWP2000、ISO9141协议的顺序,对OBD接口的管脚进行扫描,只要接收到基于任意一个通信协议的响应,则结束扫描,确定该通信协议为第一通信协议。

进而可以根据该第一通信协议与该管脚对应的ECU进行通信,从而可以从ECU获取该车辆的车辆识别码。

车辆识别码是汽车制造厂为了识别而给一辆车指定的一组字码,其英文缩写是VIN(Vehicle Identification Number)。

VIN码含有车辆的制造厂家、年款、车型、车身型式、发动机类型、发动机代码及组装地点及其它装备等信息,这些信息可以理解为是车辆信息。

步骤120:根据车辆识别码,确定第一诊断协议。

一种实现方式中,首先,可以对VIN码进行解析,获取车辆的车辆信息。获取到的车辆信息可以是上述车辆信息中的一个或多个,在此不予限定。

本实施例中,通过对VIN码进行解析得到的车辆信息包括但不限于车型和年款,还可包括发动机类型或制造厂家等。

根据上述车辆信息,如根据车型和年款,从车辆通讯接口预存储的系统配置表中查找与上述车辆信息对应的系统信息,系统信息包括系统、以及系统支持的诊断协议;将系统信息中系统支持的诊断协议确定为第一诊断协议。

示例性地,系统可为发动机系统、防抱死制动系统、四轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统等。

在此,车辆通讯接口中预存储的系统配置表中可以包括车辆信息与系统信息的对应关系,例如,一个车辆信息可以对应多个系统信息,可以理解为该多个系统信息各自表征的系统所属于该车辆信息用于表征的车辆。

可选地,车辆通讯接口可以对预存储的系统配置表进行更新,例如确保最新版本的系统配置表能及时更新至车辆通讯接口中。车辆通讯接口可以从诊断主机中获取最新版本的系统配置表,或者,车辆通讯接口可以从服务器中获取最新版本的系统配置表等,在此不予限定。

步骤130:基于第一诊断协议,获取并存储车辆的待诊断信息。

在确定出第一诊断协议后,即可确定系统ECU与VCI进行通信所基于的协议。从而可以根据第一诊断协议,与系统的ECU进行信息交互。例如,获取系统的ECU发送的故障码、数据流、冻结帧等信息,其中,冻结帧是指在ECU检测到故障时,ECU中存储的当前数据流信息。

步骤140:与诊断主机连接后,将待诊断信息发送至诊断主机。

车辆通讯接口与诊断主机的连接可以是通过有线连接技术,如通用串行总线(Universal Serial Bus,USB)技术,或无线连接技术,如蓝牙、(WIFI)等。

与诊断主机连接后,车辆通讯接口将待诊断信息发送至诊断主机,以使待诊断信息显示在诊断主机的显示屏上,供用户查看。或者,使诊断主机根据接收到的待诊断信息对该车辆进行诊断。

本实施例在车辆通讯接口与车辆上的OBD接口连接后,可获取车辆的车辆信息,根据车辆信息进一步获取车辆的待诊断信息,与诊断主机连接后,将待诊断信息发送至诊断主机,简化了诊断主机的信息获取流程,提升了汽车诊断效率。

请参阅图2,图2为本发明另一实施例公开的一种汽车诊断方法,应用于车辆通讯接口,车辆通讯接口用于分别与车辆和诊断主机连接,该方法包括:

步骤210:检测OBD接口中的选定管脚是否输出有电压信号。

在车辆通讯接口与车辆上的OBD接口连接后,示例性地,可通过车辆通讯接口的ADC功能检测OBD接口的选定管脚是否输出有电压信号。ADC是Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器,用于完成模拟信号向数字信号的转化。

车辆通讯接口与汽车设备通电后,可通其内部的主芯片或外设芯片的ADC功能检测OBD接口的选定管脚是否输出有电压信号。

例如,TI的AM335x芯片和Atmel的ATSAME70N21芯片均带有ADC功能。

通常情况下,选定管脚可以包括OBD接口中的2(PWM/VPW)、6(CAN)、7(KWP2000/ISO9141)管脚。

步骤220:将输出有电压信号的选定管脚确定为第一管脚,根据第一管脚确定至少一个候选通信协议。

在此,候选通信协议可以是指上述OBD链路层协议。可以确定与第一管脚相关的通信协议为候选通信协议。例如,若第一管脚为上述6管脚,则与其相关的候选通信协议可以为CAN协议。

在一实施例中,如果OBD接口的2管脚检测不到输出电压,则认为此汽车设备不存在PWM及VPW协议,将输出有电压信号的6管脚和7管脚分别确定为第一管脚,确定与6管脚相关的标准CAN 500K、标准CAN250K、扩展CAN 500K、扩展CAN 250K协议为候选通信协议,确定与7管脚相关的KWP2000、ISO9141协议为候选通信协议。

在另一实施例中,如果OBD接口的7管脚检测不到输出电压,则认为此汽车设备不存在KWP和ISO协议,将输出有电压信号的2管脚和6管脚分别确定为第一管脚,确定与2管脚相关的PWM、VPW协议为候选通信协议,确定与6管脚相关的标准CAN 500K、标准CAN 250K、扩展CAN 500K、扩展CAN 250K协议为候选通信协议。

步骤230:基于至少一个候选通信协议依次对第一管脚进行扫描;将扫描成功所基于的候选通信协议作为第一通信协议。

举例说明,如果OBD接口的2管脚检测不到输出电压,确定6管脚和7管脚为第一管脚,基于标准CAN 500K、标准CAN 250K、扩展CAN 500K、扩展CAN 250K协议依次对OBD接口的6管脚进行扫描,若在基于某一协议对6管脚进行扫描的过程中,得到基于该协议的响应,则确定该协议为第一通信协议。例如,在基于标准CAN 500K协议对6管脚进行扫描的过程中,得到基于该标准CAN 500K协议的响应时,可以确定标准CAN 500K协议为第一通信协议。

同理,可以基于与7管脚相关的候选协议对7管脚进行扫描。上述过程中,可以依次对6管脚及7管脚进行扫描,或者同时基于各自相关的协议进行扫描,在此不予限定。

步骤240:基于第一通信协议,从与第一管脚对应的车辆系统中获取车辆的车辆识别码。

一种实现方式中,通常车辆识别码储存在发动机系统的ECU中。若从某一个第一管脚中确定出第一通信协议,则表明该第一管脚所对应的车辆系统即为发动机系统,进而可以根据第一通信协议,从第一管脚对应的车辆系统中获取车辆识别码。

步骤250:根据车辆识别码,确定第一诊断协议。

同样地,通过对VIN码进行解析,获取车辆的车辆信息,根据上述车辆信息,从车辆通讯接口预存储的系统配置表中查找与上述车辆信息对应的系统信息。本实施例的系统信息除包括系统、以及系统支持的诊断协议外,还可以包括系统对应的管脚。

步骤260:判断系统信息中系统对应的管脚是否包括第二管脚,其中,第二管脚为选定管脚中未输出有电压信号的管脚;若为是,从第一诊断协议中去除与第二管脚相关的诊断协议,以得到第二诊断协议。

通常情况下,根据车辆信息获取到的系统配置表为车型的最高配置对应的系统配置表,对于同一车型不同配置的车辆来说,可能有部分系统和该系统支持的诊断协议是不存在。

将OBD接口的选定管脚中未输出有电压信号的管脚确定为第二管脚,则该车辆也不包括与第二管脚对应的系统,如果系统信息中系统对应的管脚包括第二管脚,从系统支持的诊断协议中去除与第二管脚相关的诊断协议,以得到第二诊断协议。

举例说明,若上述检测管脚是否输出有电压时,确定2管脚未输出有电压,则应去除的诊断协议包括2管脚相关的PWM协议和VPW协议。若系统所支持的诊断协议中包括PWM协议或VPW协议,则需要从诊断协议中去除PWM协议或VPW协议,以得到去除后的第二诊断协议。

步骤270:基于第二诊断协议,获取并存储车辆的待诊断信息。

步骤280:与诊断主机连接后,将待诊断信息发送至诊断主机。

步骤270至步骤280请参考第一实施例,其在本领域技术人员容易理解的范围内。

本实施例在车辆通讯接口与车辆上的OBD接口连接后,通过检测OBD接口中的选定管脚是否输出有电压信号,将输出有电压信号的选定管脚确定为第一管脚,根据第一管脚确定至少一个候选通信协议,将未输出有电压信号的选定管脚确定为第二管脚,根据第二管脚确定第二诊断协议,能够减小确定第一通信协议以及扫描车辆ECU的时间,进一步提高了汽车诊断的效率。

第二方面,本发明实施例还提供一种汽车诊断装置,应用于车辆通讯接口,车辆通讯接口用于与车辆和诊断主机连接,请参阅图3,该装置300包括:

VIN码获取模块310,用于基于第一通信协议,获取车辆的车辆识别码;

诊断协议确定模块320,用于根据所述车辆识别码,确定第一诊断协议;

待诊断信息获取模块330,用于基于所述第一诊断协议,获取并存储所述车辆的待诊断信息;

待诊断信息发送模块340,用于与诊断主机连接后,将所述待诊断信息发送至所述诊断主机。

本实施例在车辆通讯接口与车辆上的OBD接口连接后,通过VIN码获取模块310自主获取车辆的车辆信息,待诊断信息获取模块330根据车辆信息进一步获取车辆的待诊断信息,与诊断主机连接后,待诊断信息发送模块340将待诊断信息发送至诊断主机,简化了诊断主机的信息获取流程,提升了汽车诊断效率。

在一实施例中,装置300还包括:

第一管脚确定模块350,用于确定OBD接口的第一管脚以及与第一管脚相关的至少一个候选通信协议;

第一管脚扫描模块360,用于基于至少一个候选通信协议依次对第一管脚进行扫描;

通信协议确定模块370,用于将扫描成功所基于的候选通信协议作为第一通信协议。

可选地,装置300还包括:

电压信号检测模块380,用于检测所述OBD接口中的选定管脚是否输出有电压信号;

第一管脚确定模块350,还用于:

将输出有电压信号的选定管脚确定为第一管脚。

其中,VIN码获取模块310,具体用于:

基于第一通信协议,从与第一管脚对应的车辆系统中获取车辆的车辆识别码。

可选地,诊断协议确定模块320,具体用于:

对车辆识别码进行解析,获取车辆的车辆信息;

根据车辆信息,从预存储的系统配置表中查找与车辆信息对应的系统信息,系统信息包括系统、系统对应的管脚、以及系统支持的诊断协议;

将系统支持的诊断协议确定为第一诊断协议。

装置300还包括:

第二管脚判断模块390,用于判断系统信息中系统对应的管脚是否包括第二管脚,其中,第二管脚为选定管脚中未输出有电压信号的管脚;

诊断协议确定模块320,还用于从第一诊断协议中去除与第二管脚相关的诊断协议,以得到第二诊断协议;

待诊断信息获取模块330,还用于:

基于第二诊断协议,获取并存储车辆的待诊断信息。

本实施例在车辆通讯接口与车辆上的OBD接口连接后,通过电压信号检测模块380检测OBD接口中的选定管脚是否输出有电压信号,第一管脚确定模块350将输出有电压信号的选定管脚确定为第一管脚,根据第一管脚确定至少一个候选通信协议,将未输出有电压信号的选定管脚确定为第二管脚,诊断协议确定模块320根据第二管脚确定第二诊断协议,能够减小确定第一通信协议以及扫描车辆ECU的时间,进一步提高了汽车诊断的效率。

同样地,由于本发明实施例的装置实施例与方法实施例基于相同的发明构思,方法实施例中的技术内容同样适用于装置实施例,因此,装置实施例中与方法实施例相同的技术内容在此不再赘述。

为了更好的实现上述目的,第三方面,本发明实施例还提供一种车辆通讯接口,车辆通讯接口用于与车辆和诊断主机连接。该车辆通讯接口存储有计算机指令,可通过上述计算机指令执行上述任意方法实施例中的汽车诊断方法。具体地,车辆通讯接口的结构可以通过下述实施例实现。

图4是本发明实施例提供的一种车辆通讯接口400的结构示意图,如图4所示,该车辆通讯接口400包括:一个或多个处理器401以及存储器402,图4中以一个处理器401为例。

处理器401和存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的汽车诊断方法对应的程序指令/模块(例如,图3所示的各个模块)。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行汽车诊断装置的各种功能应用以及数据处理,即实现上述方法实施例的汽车诊断方法以及上述装置实施例的各个模块的功能。

存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器402中,当被所述一个或者多个处理器401执行时,执行上述任意方法实施例中的汽车诊断方法,例如,执行以上描述的图1至图2所示的各个步骤;也可实现图3所示的各个模块的功能。

可选地,该车辆通讯接口VCI还可以包括至少1个通信接口,该VCI可以利用相同的通信接口分别与OBD和诊断主机连接通信,或者利用不同的通信接口分别与OBD和诊断主机连接通信,在此不予限定。

在一种实现方式中,本申请实施例所描述的VCI可以集成在诊断主机中,在此不予限定。

本实施例的车辆通讯接口在与车辆上的OBD接口连接后,可自主获取车辆的车辆信息,根据车辆信息进一步获取车辆的待诊断信息,与诊断主机连接后,将待诊断信息发送至诊断主机,简化了诊断主机的信息获取流程,提升了汽车诊断效率。

第四方面,本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令用于被车辆通讯接口的一个或多个处理器执行,例如图4中的一个处理器401,可使得上述一个或多个处理器可执行上述任意方法实施例中的汽车诊断方法,例如,执行以上描述的图1至图2所示的各个步骤;也可实现图3所述的各个模块的功能。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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