本发明涉及车辆诊断技术领域,尤其涉及一种车辆诊断盒的诊断方法及车辆诊断盒。
背景技术:
现在车辆的功能越来越复杂,车身的电子控制单元(electroniccontrolunit,ecu)越来越多,所以车身里面的can总线也不只一路了,不同的ecu在不同的总线上面,对汽车诊断的时候经常要访问不同总线上的ecu,目前诊断技术只能每一路分别去切换访问,而不能同时访问两路总线。具体地,现在一般的诊断盒子里面只有一路汽车can的收发器,就是说同一时间只能访问一个总线上的系统,如果要再访问另一个总线上的系统的,这个can的收发器就要重新初始化参数,车辆诊断效率低下。
技术实现要素:
本申请提供了一种车辆诊断盒的诊断方法及车辆诊断盒,以实现对多路can总线的同时访问,以提高车辆诊断效率。
一方面,提供了一种车辆诊断盒的诊断方法,所述车辆诊断盒包括:与上位机连接的第一接口、处理器、至少两个控制器局域网络can收发器、以及与车载诊断系统obd诊断接头连接的第二接口,所述处理器分别连接所述第一接口、所述至少两个can收发器和第二接口,所述obd诊断接头连接至少两条can总线,所述处理器控制执行如下操作:
控制所述第一接口接收上位机的至少两个诊断任务,所述至少两个所述诊断任务包括与对应的至少两条can总线进行通信的通信参数;
查询所述至少两个can收发器的状态,选择至少两个空闲的can收发器;
使用所述通信参数对选择的所述至少两个空闲的can收发器进行初始化,建立与所述至少两条can总线之间的至少两条通道;
控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线通信。
优选地,每条can总线连接至少一个电子控制单元ecu,所述控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线通信,包括:
控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。
优选地,所述通信参数包括:与所述对应的至少两条can总线进行通信的波特率、ecu的标识和管脚。
优选地,所述控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的对应的ecu通信,包括:
控制所述至少两个can收发器分别通过所述至少两条通道将所述上位机的数据传输给对应的所述ecu;
控制所述至少两个can收发器分别通过所述至少两条通道接收来自对应的所述ecu的数据。
优选地,所述控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线通信之后,所述方法还包括:
当检测到所述至少两个can收发器的任一个can收发器完成所述诊断任务后,设置所述任一个can收发器的状态为空闲状态。
另一方面,提供了一种车辆诊断盒,所述车辆诊断盒包括:与上位机连接的第一接口、处理器、至少两个控制器局域网络can收发器、以及与车载诊断系统obd诊断接头连接的第二接口,所述处理器分别连接所述第一接口、所述至少两个can收发器和第二接口,所述obd诊断接头连接至少一条can总线;
所述第一接口用于接收上位机的至少两个诊断任务,所述至少两个所述诊断任务包括与对应的至少两条can总线进行通信的通信参数;
所述处理器用于查询所述至少两个can收发器的状态,选择至少两个空闲的can收发器;
所述处理器还用于使用所述通信参数对选择的所述至少两个空闲的can收发器进行初始化,建立与所述至少两条can总线之间的至少两条通道;
所述至少两个can收发器用于通过所述至少两条通道同时与对应的所述至少两条can总线通信。
优选地,每条can总线连接至少两个电子控制单元ecu,所述至少两个can收发器具体用于:控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。
优选地,所述至少两个can收发器具体用于控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。
优选地,所述至少两个can收发器具体用于:
控制所述至少两个can收发器分别通过所述至少两条通道将所述上位机的数据传输给对应的所述ecu;
控制所述至少两个can收发器分别通过所述至少两条通道接收来自对应的所述ecu的数据。
优选地,所述处理器还用于:
当检测到所述至少两个can收发器的任一个can收发器完成所述诊断任务后,设置所述任一个can收发器的状态为空闲状态。
采用本申请的技术方案,通过在车辆诊断盒中设置多个can收发器,可同时接收上位机的多个诊断任务,对多个can收发器进行初始化,从而建立与多个can收发器的多个通路,该多个can收发器可以通过多个通路同时与多条can总线进行通信,提高了车辆诊断效率。
附图说明
图1为本发明实施例提供的一种车辆诊断盒的诊断方法的交互示意图;
图2为本发明实施例提供的一种车辆诊断盒的模块示意图;
图3为本发明示例的一种车辆诊断系统的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。
请参阅图1及图2,图1为本发明实施例提供的一种车辆诊断盒的诊断方法的交互示意图,其中的车辆诊断盒的模块示意图如图2所示,该车辆诊断盒1000包括:与上位机(未示出,上位机中安装有诊断软件,用户可以通过诊断软件下发诊断任务)连接的第一接口(未示出)、处理器11(例如是cpu)、至少两个控制器局域网络can收发器13、以及与车载诊断系统obd诊断接头15连接的第二接口(未示出),所述处理器11分别连接所述第一接口、所述至少两个can收发器13和第二接口,所述obd诊断接头15连接至少两条can总线14。该方法可包括以下步骤:
s101、控制所述第一接口接收上位机的至少两个诊断任务,所述至少两个所述诊断任务包括与对应的至少两条can总线进行通信的通信参数。
用户可以通过上位机向车载诊断盒下发多个诊断任务,该多个诊断任务可以是对多条can总线上的系统进行诊断,每条can总线上的系统可以由一个或多个ecu进行检测。
每个诊断任务包括与对应的can总线进行通信的通信参数,该通信参数可以包括:与所述对应的至少两条can总线进行通信的波特率、ecu的标识和管脚。
s102、查询所述至少两个can收发器的状态,选择至少两个空闲的can收发器。
can收发器是指车辆诊断盒中,和obd诊断接头相连接,往can总线上发送命令数据并接收命令的模块。车载诊断盒中设置有多个can收发器,车载诊断盒对多个can收发器的状态进行管理,根据诊断任务的数量,选择对应数量的空闲的can收发器。
s103、使用所述通信参数对选择的所述至少两个空闲的can收发器进行初始化,建立与所述至少两条can总线之间的至少两条通道。
can收发器工作的时候要先初始化,设定和can总线通信的波特率、连接的管脚、要通信的ecu的id号等。初始化完成后,就建立了can收发器与对应的can总线的通道。根据诊断任务的数量,选择对应数量的空闲的can收发器,并对选择的can收发器分别进行初始化,从而就建立了与相应数量的can总线之间的通道12。
s104、控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线通信。
该步骤具体为:控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。进一步地,该步骤又具体包括:控制所述至少两个can收发器分别通过所述至少两条通道将所述上位机的数据传输给对应的所述ecu;控制所述至少两个can收发器分别通过所述至少两条通道接收来自对应的所述ecu的数据。即初始化完成后,将上位机诊断软件的诊断任务发送到汽车总线上,并且按照设定的ecu的id号来接收can总线上回复过来的数据。
进一步地,步骤s104之后,所述方法还可以包括以下步骤:
当检测到所述至少两个can收发器的任一个can收发器完成所述诊断任务后,设置所述任一个can收发器的状态为空闲状态。
通过将已经完成诊断任务的can收发器的状态进行管理,可以提高can收发器的利用率。
根据本发明实施例提供的一种车辆诊断盒的诊断方法,通过在车辆诊断盒中设置多个can收发器,可同时接收上位机的多个诊断任务,对多个can收发器进行初始化,从而建立与多个can收发器的多个通路,该多个can收发器可以通过多个通路同时与多条can总线进行通信,提高了车辆诊断效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或者同时进行。
请继续参阅图2,图2为本发明实施例提供的一种车辆诊断盒的模块示意图,该车辆诊断盒1000包括:与上位机(未示出,上位机中安装有诊断软件,用户可以通过诊断软件下发诊断任务)连接的第一接口(未示出)、处理器11(例如是cpu)、至少两个控制器局域网络can收发器13、以及与车载诊断系统obd诊断接头15连接的第二接口(未示出),所述处理器11分别连接所述第一接口、所述至少两个can收发器13和第二接口,所述obd诊断接头15连接至少两条can总线14。
所述第一接口用于接收上位机的至少两个诊断任务,所述至少两个所述诊断任务包括与对应的至少两条can总线进行通信的通信参数;
所述处理器用于查询所述至少两个can收发器的状态,选择至少两个空闲的can收发器;
所述处理器还用于使用所述通信参数对选择的所述至少两个空闲的can收发器进行初始化,建立与所述至少两条can总线之间的至少两条通道;
所述至少两个can收发器用于通过所述至少两条通道同时与对应的所述至少两条can总线通信。
可选地,每条can总线连接至少两个电子控制单元ecu,所述至少两个can收发器具体用于:控制所述至少两个can收发器通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。
可选地,所述至少两个can收发器具体用于通过所述至少两条通道同时与对应的所述至少两条can总线上的ecu通信。
可选地,所述至少两个can收发器具体用于:
分别通过所述至少两条通道将所述上位机的数据传输给对应的所述ecu;
分别通过所述至少两条通道接收来自对应的所述ecu的数据。
可选地,所述处理器还用于:
当检测到所述至少两个can收发器的任一个can收发器完成所述诊断任务后,设置所述任一个can收发器的状态为空闲状态。
根据本发明实施例提供的一种车辆诊断盒,通过在车辆诊断盒中设置多个can收发器,可同时接收上位机的多个诊断任务,对多个can收发器进行初始化,从而建立与多个can收发器的多个通路,该多个can收发器可以通过多个通路同时与多条can总线进行通信,提高了车辆诊断效率。
请参阅图3,图3为本发明示例的一种车辆诊断系统的硬件结构示意图,车辆诊断系统包括上位机、车载诊断盒、ecu系统,在图3中示例了该ecu系统包括两路can总线,每路can总线上连接多个ecu。ecu:电子控制单元,就是汽车中控制某一模块功能的单元,如图3中的eps,tcu,acu,gsm,mmi,tbox,ipk都是ecu,也可称为系统。两条can总线通过obd接头与车载诊断盒连接,车载诊断盒再与上位机连接。车载诊断盒的工作原理可参考上述实施例的描述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digitalsubscriberline,dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(disk)和碟(disc)包括压缩光碟(cd)、激光碟、光碟、数字通用光碟(dvd)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。