
1.本技术涉及汽车诊断技术领域,尤其是涉及一种汽车故障诊断系统及方法。
背景技术:2.随着电子技术的进步,电子装置功能越来越全面,而且其外形尺寸越趋小型化,同时其可携带性也随之提高,在汽车故障诊断检测行业中,随着汽车故障诊断仪的不断更新迭代,出现了很多嵌入式手持型的汽车故障诊断仪,但现有的手持型obdii故障诊断仪或专车诊断仪,尽管成本相比综合设备有极大的优势,但因硬件资源限制,其功能单一,无法满足诊断车型软件跨平台运行。
3.所以申请人认为提出一种能够支持多车型诊断软件运行的嵌入式诊断平台是十分有必要的。
技术实现要素:4.为了可支持多种车型诊断软件在嵌入式设备上跨平台运行,本技术提供一种汽车故障诊断系统及方法。
5.第一方面,本技术提供的一种汽车故障诊断系统,采用如下技术方案:一种汽车故障诊断系统,包括:控制模块,用于控制诊断系统的输入输出;电源模块,用于提供运行所需电能;所述控制模块包括:主控单元,用于获取车辆接入信号,接收并响应接入信息,输出控制信号控制整个诊断系统工作;通信单元,与所述主控单元相连,用于连接故障车辆并接收主控单元发出的控制信号,与故障车辆建立通信联系以进行故障诊断工作;运行单元,用于运行车型诊断软件;内存单元,与所述主控单元的内存接口连接,用于加载车型诊断软件及提供车型诊断软件应用程序所需的内存资源;硬件抽象层接口,用于将诊断系统的硬件抽象成通用的配置接口;其中,所述主控单元包括:存储设备接口,用于将存储设备接入诊断系统,存放车型诊断软件的资源数据;所述通信单元包括:车辆诊断接口,用于与车辆上的诊断座管脚对接;通信接口电路,与所述车辆诊断接口相连,用于诊断系统与不同车辆ecu进行通信协议的数据交互;所述运行单元包括:std通信协议抽象层接口,与所述硬件抽象层接口相连,用于建立并定义ecu诊断
配置文件格式,进行车型诊断软件的运行。
6.通过采用上述技术方案,硬件抽象层接口的设置可以建立通用的车型诊断软件配置接口,通过对不同车型诊断软件进行重新编译,使不同的车型诊断软件具有相同的启动运行方式,再通过std通信协议抽象层接口的设置,使诊断系统具有通用的通信功能,也使不同车型诊断软件具有通用的诊断配置方式,实现不同车辆与诊断系统的通信,从而使不同车型诊断软件在同一诊断系统运行。
7.进一步地,汽车故障诊断系统还包括显示模块,与所述控制模块相连,所述显示模块包括std显示接口和输入单元,所述输入单元用于用户进行车型诊断软件的选择操作,所述std显示接口,用于将控制模块获取的故障诊断结果信息传递至显示模块。
8.通过采用上述技术方案,std显示接口可以传递故障诊断结果信息至显示模块供用户查看,输入单元的设置可以让用户在显示模块上进行具体车型诊断软件选择的操作,从而让显示模块实现人机交互。
9.进一步地,所述主控单元设有链路控制接口,用于输出导通或截止信号,并传递至通信单元以控制诊断工作的开始或结束。
10.通过采用上述技术方案,链路控制接口的设置可以实现主控单元向通信单元进行信号传递,以控制诊断工作开始或结束。
11.进一步地,所述通信单元还包括管脚切换电路,所述管脚切换电路通过接口线与链路控制接口相连,用于接收导通或截止信号,所述管脚切换电路连接于通信接口电路和车辆诊断接口之间,以进行对接入车辆的诊断。
12.通过采用上述技术方案,通过管脚切换电路的导通或截止,从而实现接入车辆进行故障诊断或停止故障诊断。
13.进一步地,所述控制模块设有启动单元,用于存放启动代码,引导主控单元正常启动。
14.通过采用上述技术方案,通过采用qspi flash启动单元,进一步加快了诊断系统的启动速度,提升用户体验。
15.进一步地,所述主控单元设有usb接口和以太网接口,所述以太网接口用于连接互联网,对诊断系统中不同车型诊断软件进行远程更新升级,所述usb接口用于与pc联机进行usb通信,进行诊断系统的优化升级。
16.通过采用上述技术方案,usb接口的设置可以实现诊断系统和pc端的通信,以太网接口的设置,可以实现车型诊断软件与互联网的通信,从而进行更新升级。
17.进一步地,所述运行单元设有加密芯片电路,用于接收主控单元发送的校验信号,对车型诊断软件进行授权合法性校验。
18.通过采用上述技术方案,加密芯片电路的设置可以对加载的车型诊断软件进行授权合法性校验,对不合法的车型诊断软件禁止运行,使故障诊断工作更严密。
19.第二方面,本技术提供一种汽车故障诊断方法,采用如下技术方案:一种汽车故障诊断方法,包括:汽车故障诊断系统启动运行;引导并运行车型诊断软件管理程序;选择并加载相应车型诊断软件;
运行车型诊断软件;判断车辆故障诊断工作是否结束,若是,则退出车型诊断软件,若否,则继续进行诊断。
20.进一步地,在所述运行车型诊断软件前,还包括判断车型诊断软件是否合法;若是,则运行车型诊断软件,若否,则返回引导并运行车型诊断软件管理程序。
21.通过采用上述技术方案,实现对故障车辆的故障诊断工作。
22.综上所述,本技术包括以下至少一种有益技术效果:1.通过硬件抽象层接口和std通信协议抽象层接口的配合设置,实现多种车型诊断软件的跨平台运行,将车型诊断软件的业务逻辑实现与硬件设备完全分离,使得单个车型软件不用重复修改,即可运行在不同的硬件产品上,且车型诊断软件程序不依赖于特定的硬件设备,不仅实现了车型诊断软件的复用,还提升车型诊断软件的开发效率,大幅减少了车型诊断软件维护的工作量。
23.2.qspi flash启动单元的设置,加快了诊断系统的启动速度,大幅提升了用户体验。
附图说明
24.图1是本技术实施例的汽车故障诊断系统硬件原理图;图2是本技术实施例的汽车故障诊断系统软件原理图;图3是本技术实施例的汽车故障诊断方法流程图。
25.附图标记说明:1、控制模块;11、主控单元;111、主控芯片;112、存储设备接口;113、链路控制接口;114、usb接口;115、以太网接口;12、通信单元;121、车辆诊断接口;122、通信接口电路;123、管脚切换电路;13、运行单元;131、std通信协议抽象层接口;132、加密芯片电路;133、std显示抽象层接口;14、硬件抽象层接口;15、内存单元;16、启动单元;2、显示模块;21、std显示接口;22、输入单元;3、电源模块。
具体实施方式
26.以下结合附图1-3对本技术作进一步详细说明。
27.参照图1和图2,本技术实施例公开一种汽车故障诊断系统,可支持多种车型诊断软件在嵌入式设备上跨平台运行,即能够在安卓或windows系统下运行不同的车型诊断软件,诊断系统包括:控制模块1,用于控制诊断系统的输入输出;显示模块2,与控制模块1相连,用于进行故障诊断信息的显示和与用户的人机交互;电源模块,用于提供运行所需电能。
28.本技术实施例中,控制模块1包括:主控单元11,用于获取车辆接入信号,接收并响应接入信息,输出控制信号控制整个诊断系统工作;通信单元12,与主控单元11相连,用于连接故障车辆并接收主控单元11发出的控制信号,与故障车辆建立通信联系以进行故障诊断工作;运行单元13,用于运行车型诊断软件。
29.内存单元15,与主控单元11的内存接口连接,用于加载车型诊断软件及提供车型诊断软件应用程序所需的内存资源,本技术实施例中以ddr内存单元15为例进行展示;其中,主控单元11包括:主控芯片111,本技术实施例中主控芯片111以arm9架构的mpu微处理器sam9x60为例进行展示;存储设备接口112,用于将存储设备接入诊断系统,存放车型诊断软件的资源数据,本技术实施例中存储设备以tf卡接口为例进行展示。
30.参照图2,控制模块1设有硬件抽象层接口14,用于将诊断系统的硬件抽象成通用的配置接口,为实现不同车型诊断软件在同一诊断系统中的加载调用,在硬件抽象层接口14建立通用的车型诊断软件配置接口,将不同的车型诊断软件进行重新编译,使不同的车型诊断软件具有相同的启动运行方式,不同的车型诊断软件存储在存储设备内,同时在存储设备中构建车型诊断软件管理程序,统一管理不同的车型诊断软件,车型诊断软件不需要与单一硬件设备绑定,将车型诊断软件的业务逻辑实现与硬件设备完全分离,使得单个车型软件不用重复修改,即可运行在不同的硬件产品上,且车型诊断软件程序不依赖于特定的硬件设备,不仅实现了车型诊断软件的复用,还提升车型诊断软件的开发效率,降低维护成本。车辆通过通信单元12接入诊断系统中,主控单元11接收车辆接入信号并控制通信单元12根据接入车辆的ecu识别通信协议,通信单元12将识别的车辆通信协议信息发送到主控单元11,主控单元11将接收的通信协议信息通过硬件抽象层接口14传递至运行单元13,且主控单元11根据接入车辆的通信协议向内存单元15发送引导信号,控制内存单元15从存储设备中引导车型诊断软件管理程序运行,并加载相应的车型诊断软件,通过硬件抽象层接口14传递至运行单元13。
31.参照图2,为实现不同车型诊断软件在同一诊断系统中的运行,运行单元13设有std通信协议抽象层接口131,与硬件抽象层接口14相连,用于将ecu诊断的通信协议参数、ecu诊断的诊断协议参数、描述ecu标识数据的解析方式、故障数据的解析方式和数据流信号数据的解析方式抽象成通用的ecu诊断配置文件格式,使诊断系统具有通用的通信功能,也使不同车型诊断软件具有通用的诊断配置方式,实现不同车辆与诊断系统的通信,从而使不同车型诊断软件在同一诊断系统运行。主控单元11将接收的通信协议信息和根据接入车辆通信协议相应加载的车型诊断软件,通过硬件抽象层接口14和std通信协议抽象层接口131传递至运行单元13,以使车型诊断软件运行并实现对车辆的故障诊断工作。
32.参照图1和图2,为实现车辆与诊断系统的连接,通信单元12包括车辆诊断接口121,用于与车辆上的诊断座管脚对接;为实现诊断系统与不同车辆ecu进行通信协议的数据交互,通信单元12还包括通信接口电路122,通信接口电路122中设有can总线接口电路、k线接口电路和sae j1850总线接口电路,当车辆通过车辆诊断接口121接入到诊断系统中时,主控单元11根据接入车辆的通信协议向通信接口电路122发送连接信号,控制接入车辆与对应的总线接口电路连接,以使主控单元11匹配相应型号车辆的车型诊断软件并反馈至显示模块2供用户进行选择。
33.参照图1和图2,主控单元11设有链路控制接口113,用于输出导通或截止信号,并传递至运行单元13以控制诊断工作的开启或结束;即当主控单元11将接入车辆的通信协议信息和相应加载的车型诊断软件通过硬件抽象层接口14和std通信协议抽象层接口131传
递至运行单元13,主控单元11向链路控制接口113输出导通信号;当控制模块1将解析后的故障诊断结果信息反馈到显示模块2中显示后,主控单元11向链路控制器输出截止信号。为具体控制诊断系统诊断工作的开始或结束,通信单元12还包括管脚切换电路123,且管脚切换电路123通过接口线与链路控制接口113相连,用于接收导通或截止信号,且管脚切换电路123连接于通信接口电路122和主控单元11之间,根据导通或截止信号控制通信接口电路122与主控单元11之间的导通或截止,以实现诊断工作的开启或结束。当主控单元11根据接入车辆通信协议进行车型诊断软件匹配后,主控单元11运行相应的车型诊断软件,此时主控单元11向链路控制器发送导通信号,管脚切换电路123通过接口线接收导通信号并导通,使诊断工作开始;当控制模块1将解析后的故障诊断结果信息反馈到显示模块2中显示后,主控单元11向链路控制接口113发送截止信号,控制管脚切换电路123通过接口线接收截止信号并截止,使诊断工作结束。
34.参照图1,为实现车型软件的授权合法性校验,运行单元13设有加密芯片电路132,当主控单元11将接收的车辆通信协议信息和根据接入车辆通信协议相应加载的车型诊断软件,通过硬件抽象层接口14和std通信协议抽象层接口131传递至运行单元13,主控单元11向加密芯片电路132发送校验信号,控制加密芯片电路132对加载的车型诊断软件进行授权合法性校验。
35.参照图1,控制模块1设有启动单元16,与主控单元11的启动接口连接,用于存放启动代码,引导主控单元11正常启动,本技术实施例中采用qspi flash启动单元16,进一步加快了诊断系统的启动速度,提升用户体验。主控单元11设有usb接口114,用于与pc联机进行usb通信,实现诊断系统的优化升级;同时,基于实际需要,主控单元11设有以太网接口115,用于连接互联网,实现诊断系统中不同车型诊断软件的远程更新升级。
36.参照图2,为实现诊断系统所有界面类型的显示,诊断系统包括显示模块2,与控制模块1相连,显示模块2包括std显示接口21和输入单元22,控制模块1在故障诊断工作开始时,从接入车辆ecu获取并解析故障诊断数据,再将解析后的故障诊断结果信息通过std显示接口21传递至显示模块2中进行显示,用户不仅可以选择诊断系统加载的车型诊断软件进行诊断,还可自行通过输入单元22进行车型诊断软件的选择操作并传入控制模块1,输入单元22包括触屏输入模式和键盘输入模式,从而实现车辆故障诊断信息结果在显示模块2中显示和与用户的人机交互功能。
37.参照图2,运行单元13还设有std显示抽象层接口133,与std显示接口21相连,用于将故障诊断结果抽象成通用的故障诊断解析文件格式,并通过std显示接口21传递至显示模块2进行显示。
38.本技术实施例中汽车故障诊断系统的实施原理为:车辆通过车辆诊断接口121接入故障诊断系统中,主控单元11接收到车辆接入信号,控制通信单元12根据接入车辆的ecu识别对应车辆的通信协议,通信单元12将识别的车辆通信协议信息发送到主控单元11,主控单元11将接收的通信协议信息通过硬件抽象层接口14和std通信协议抽象层接口131传递至运行单元13,且主控单元11根据接入车辆的通信协议向内存单元15发送引导信号控制内存单元15从存储设备中引导车型诊断软件管理程序运行,主控单元11将运行的车型诊断软件管理程序传递至显示模块2供用户选择操作,并加载相应的车型诊断软件,并通过硬件抽象层接口14和std通信协议抽象层接口131传递至
运行单元13,主控单元11根据不同车辆的通信协议向通信接口电路122发送连接信号,控制接入车辆与对应的总线接口电路连接,用户根据运行的车型诊断软件管理程序,在显示模块2上选择相应的车型诊断软件,也可选择根据诊断系统自动匹配,显示模块2将用户的选择信息反馈至主控单元11并选择加载相应的车型诊断软件,同时,主控单元11根据加载的车型诊断软件向加密芯片电路132发送校验信号,控制加密芯片电路132对加载的车型诊断软件进行授权合法性校验,校验通过后主控单元11向链路控制接口113发送导通信号,管脚切换电路123通过接口线接收导通信号并导通,此时诊断工作开始,当控制模块1将解析后的故障诊断结果信息通过std显示接口21传递至显示模块2中进行显示后,主控单元11向链路控制接口113发送截止信号,管脚切换电路123通过接口线接收截止信号并截止,此时诊断工作结束。
39.同时,用户可以通过显示模块2查看车型诊断软件是否需要更新,即主控单元11控制以太网接口115,与互联网相连,检查车型诊断软件是否需要更新升级,如果需要更新,则主控单元11向显示模块2输出是否更新选项供用户选择,同时根据不同指令,启动或禁止下载最新的车型诊断软件至诊断系统中并覆盖先前的车型诊断软件。
40.本技术还包括一种汽车故障诊断方法,参照图3,诊断方法包括以下步骤:s1、汽车故障诊断系统启动运行。
41.具体地,上电复位,使诊断设备开启,主控单元11接收到诊断设备启动信号,并传递至qspi flash启动单元16使其加载bootloader启动引导代码,从而让诊断系统启动运行。
42.s2、引导并运行车型诊断软件管理程序。
43.具体地,车辆通过车辆诊断接口121接入故障诊断系统,主控单元11通过接入车辆的ecu接收车辆接入信号并识别车辆通信协议,主控单元11根据不同车辆的通信协议向通信接口电路122发送连接信号,控制接入车辆与对应的总线接口电路连接,主控单元11将接收的通信协议信息通过硬件抽象层接口14和std通信协议抽象层接口131传递至运行单元13,同时主控单元11向内存单元15发送引导信号,控制内存单元15从存储设备中引导车型诊断软件管理程序运行,若引导成功则运行车型诊断软件管理程序,并通过std显示抽象层接口133传递到显示模块2中供用户选择确认,若引导失败则退出。
44.s3、选择并加载相应车型诊断软件。
45.具体地,用户根据运行的车型诊断软件管理程序,在显示模块2上选择相应的车型诊断软件,也可选择根据诊断系统自动匹配车型诊断软件,显示模块2将用户的选择信息通过std显示接口21反馈至主控单元11,且主控单元11根据用户选择向内存单元15发送加载信号,控制内存单元15从存储设备中加载相应的车型诊断软件。
46.s4、运行车型诊断软件。
47.具体地,不同的车型诊断软件有各自的授权权限,因此在运行车型诊断软件之前,还需要判断车型诊断软件是否合法;若是,则运行车型诊断软件,若否,则返回引导并运行车型诊断软件管理程序。
48.具体地,主控单元11根据加载的车型诊断软件向加密芯片电路132发送校验信号,控制加密芯片电路132对加载的车型诊断软件进行授权合法性校验,校验通过后主控单元11向链路控制单元发送导通信号,管脚切换电路123通过接口线接收导通信号并导通,此时
故障诊断工作开始,当车型诊断软件校验不合法,主控单元11向内存单元15发送引导信号,控制内存单元15从存储设备中引导车型诊断软件管理程序运行,并将运行的车型诊断软件管理程序通过std显示抽象层接口133传递到显示模块2中供用户选择。
49.s5、判断车辆故障诊断工作是否结束,若是,则退出车型诊断软件,若否,则继续进行诊断。
50.具体地,当控制模块1根据接入车辆ecu将解析后的故障诊断结果信息通过std显示接口21和std显示抽象层接口133反馈至显示模块2中进行显示后,主控单元11向链路控制接口113发送截止信号,管脚切换电路123通过接口线接收截止信号并截止,诊断工作结束。
51.以上所举实施例为本技术的较佳实施方式,仅用来方便说明本技术,并非对本技术作任何形式上的限制,任何所属技术领域中具有通常知识者,若在不脱离本技术所提技术特征的范围内,利用本技术所揭示技术内容所作出局部更动或修饰的等效实施例,并且未脱离本技术的技术特征内容,均仍属于本技术技术特征的范围内。