本發(fā)明涉及車輛診斷技術(shù)領(lǐng)域,尤其涉及一種車輛診斷盒的診斷方法及車輛診斷盒。
背景技術(shù):
現(xiàn)在車輛的功能越來越復(fù)雜,車身的電子控制單元(electroniccontrolunit,ecu)越來越多,所以車身里面的can總線也不只一路了,不同的ecu在不同的總線上面,對汽車診斷的時(shí)候經(jīng)常要訪問不同總線上的ecu,目前診斷技術(shù)只能每一路分別去切換訪問,而不能同時(shí)訪問兩路總線。具體地,現(xiàn)在一般的診斷盒子里面只有一路汽車can的收發(fā)器,就是說同一時(shí)間只能訪問一個(gè)總線上的系統(tǒng),如果要再訪問另一個(gè)總線上的系統(tǒng)的,這個(gè)can的收發(fā)器就要重新初始化參數(shù),車輛診斷效率低下。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁┝艘环N車輛診斷盒的診斷方法及車輛診斷盒,以實(shí)現(xiàn)對多路can總線的同時(shí)訪問,以提高車輛診斷效率。
一方面,提供了一種車輛診斷盒的診斷方法,所述車輛診斷盒包括:與上位機(jī)連接的第一接口、處理器、至少兩個(gè)控制器局域網(wǎng)絡(luò)can收發(fā)器、以及與車載診斷系統(tǒng)obd診斷接頭連接的第二接口,所述處理器分別連接所述第一接口、所述至少兩個(gè)can收發(fā)器和第二接口,所述obd診斷接頭連接至少兩條can總線,所述處理器控制執(zhí)行如下操作:
控制所述第一接口接收上位機(jī)的至少兩個(gè)診斷任務(wù),所述至少兩個(gè)所述診斷任務(wù)包括與對應(yīng)的至少兩條can總線進(jìn)行通信的通信參數(shù);
查詢所述至少兩個(gè)can收發(fā)器的狀態(tài),選擇至少兩個(gè)空閑的can收發(fā)器;
使用所述通信參數(shù)對選擇的所述至少兩個(gè)空閑的can收發(fā)器進(jìn)行初始化,建立與所述至少兩條can總線之間的至少兩條通道;
控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信。
優(yōu)選地,每條can總線連接至少一個(gè)電子控制單元ecu,所述控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信,包括:
控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。
優(yōu)選地,所述通信參數(shù)包括:與所述對應(yīng)的至少兩條can總線進(jìn)行通信的波特率、ecu的標(biāo)識和管腳。
優(yōu)選地,所述控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的對應(yīng)的ecu通信,包括:
控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道將所述上位機(jī)的數(shù)據(jù)傳輸給對應(yīng)的所述ecu;
控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道接收來自對應(yīng)的所述ecu的數(shù)據(jù)。
優(yōu)選地,所述控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信之后,所述方法還包括:
當(dāng)檢測到所述至少兩個(gè)can收發(fā)器的任一個(gè)can收發(fā)器完成所述診斷任務(wù)后,設(shè)置所述任一個(gè)can收發(fā)器的狀態(tài)為空閑狀態(tài)。
另一方面,提供了一種車輛診斷盒,所述車輛診斷盒包括:與上位機(jī)連接的第一接口、處理器、至少兩個(gè)控制器局域網(wǎng)絡(luò)can收發(fā)器、以及與車載診斷系統(tǒng)obd診斷接頭連接的第二接口,所述處理器分別連接所述第一接口、所述至少兩個(gè)can收發(fā)器和第二接口,所述obd診斷接頭連接至少一條can總線;
所述第一接口用于接收上位機(jī)的至少兩個(gè)診斷任務(wù),所述至少兩個(gè)所述診斷任務(wù)包括與對應(yīng)的至少兩條can總線進(jìn)行通信的通信參數(shù);
所述處理器用于查詢所述至少兩個(gè)can收發(fā)器的狀態(tài),選擇至少兩個(gè)空閑的can收發(fā)器;
所述處理器還用于使用所述通信參數(shù)對選擇的所述至少兩個(gè)空閑的can收發(fā)器進(jìn)行初始化,建立與所述至少兩條can總線之間的至少兩條通道;
所述至少兩個(gè)can收發(fā)器用于通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信。
優(yōu)選地,每條can總線連接至少兩個(gè)電子控制單元ecu,所述至少兩個(gè)can收發(fā)器具體用于:控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。
優(yōu)選地,所述至少兩個(gè)can收發(fā)器具體用于控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。
優(yōu)選地,所述至少兩個(gè)can收發(fā)器具體用于:
控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道將所述上位機(jī)的數(shù)據(jù)傳輸給對應(yīng)的所述ecu;
控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道接收來自對應(yīng)的所述ecu的數(shù)據(jù)。
優(yōu)選地,所述處理器還用于:
當(dāng)檢測到所述至少兩個(gè)can收發(fā)器的任一個(gè)can收發(fā)器完成所述診斷任務(wù)后,設(shè)置所述任一個(gè)can收發(fā)器的狀態(tài)為空閑狀態(tài)。
采用本申請的技術(shù)方案,通過在車輛診斷盒中設(shè)置多個(gè)can收發(fā)器,可同時(shí)接收上位機(jī)的多個(gè)診斷任務(wù),對多個(gè)can收發(fā)器進(jìn)行初始化,從而建立與多個(gè)can收發(fā)器的多個(gè)通路,該多個(gè)can收發(fā)器可以通過多個(gè)通路同時(shí)與多條can總線進(jìn)行通信,提高了車輛診斷效率。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種車輛診斷盒的診斷方法的交互示意圖;
圖2為本發(fā)明實(shí)施例提供的一種車輛診斷盒的模塊示意圖;
圖3為本發(fā)明示例的一種車輛診斷系統(tǒng)的硬件結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行詳細(xì)描述。
請參閱圖1及圖2,圖1為本發(fā)明實(shí)施例提供的一種車輛診斷盒的診斷方法的交互示意圖,其中的車輛診斷盒的模塊示意圖如圖2所示,該車輛診斷盒1000包括:與上位機(jī)(未示出,上位機(jī)中安裝有診斷軟件,用戶可以通過診斷軟件下發(fā)診斷任務(wù))連接的第一接口(未示出)、處理器11(例如是cpu)、至少兩個(gè)控制器局域網(wǎng)絡(luò)can收發(fā)器13、以及與車載診斷系統(tǒng)obd診斷接頭15連接的第二接口(未示出),所述處理器11分別連接所述第一接口、所述至少兩個(gè)can收發(fā)器13和第二接口,所述obd診斷接頭15連接至少兩條can總線14。該方法可包括以下步驟:
s101、控制所述第一接口接收上位機(jī)的至少兩個(gè)診斷任務(wù),所述至少兩個(gè)所述診斷任務(wù)包括與對應(yīng)的至少兩條can總線進(jìn)行通信的通信參數(shù)。
用戶可以通過上位機(jī)向車載診斷盒下發(fā)多個(gè)診斷任務(wù),該多個(gè)診斷任務(wù)可以是對多條can總線上的系統(tǒng)進(jìn)行診斷,每條can總線上的系統(tǒng)可以由一個(gè)或多個(gè)ecu進(jìn)行檢測。
每個(gè)診斷任務(wù)包括與對應(yīng)的can總線進(jìn)行通信的通信參數(shù),該通信參數(shù)可以包括:與所述對應(yīng)的至少兩條can總線進(jìn)行通信的波特率、ecu的標(biāo)識和管腳。
s102、查詢所述至少兩個(gè)can收發(fā)器的狀態(tài),選擇至少兩個(gè)空閑的can收發(fā)器。
can收發(fā)器是指車輛診斷盒中,和obd診斷接頭相連接,往can總線上發(fā)送命令數(shù)據(jù)并接收命令的模塊。車載診斷盒中設(shè)置有多個(gè)can收發(fā)器,車載診斷盒對多個(gè)can收發(fā)器的狀態(tài)進(jìn)行管理,根據(jù)診斷任務(wù)的數(shù)量,選擇對應(yīng)數(shù)量的空閑的can收發(fā)器。
s103、使用所述通信參數(shù)對選擇的所述至少兩個(gè)空閑的can收發(fā)器進(jìn)行初始化,建立與所述至少兩條can總線之間的至少兩條通道。
can收發(fā)器工作的時(shí)候要先初始化,設(shè)定和can總線通信的波特率、連接的管腳、要通信的ecu的id號等。初始化完成后,就建立了can收發(fā)器與對應(yīng)的can總線的通道。根據(jù)診斷任務(wù)的數(shù)量,選擇對應(yīng)數(shù)量的空閑的can收發(fā)器,并對選擇的can收發(fā)器分別進(jìn)行初始化,從而就建立了與相應(yīng)數(shù)量的can總線之間的通道12。
s104、控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信。
該步驟具體為:控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。進(jìn)一步地,該步驟又具體包括:控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道將所述上位機(jī)的數(shù)據(jù)傳輸給對應(yīng)的所述ecu;控制所述至少兩個(gè)can收發(fā)器分別通過所述至少兩條通道接收來自對應(yīng)的所述ecu的數(shù)據(jù)。即初始化完成后,將上位機(jī)診斷軟件的診斷任務(wù)發(fā)送到汽車總線上,并且按照設(shè)定的ecu的id號來接收can總線上回復(fù)過來的數(shù)據(jù)。
進(jìn)一步地,步驟s104之后,所述方法還可以包括以下步驟:
當(dāng)檢測到所述至少兩個(gè)can收發(fā)器的任一個(gè)can收發(fā)器完成所述診斷任務(wù)后,設(shè)置所述任一個(gè)can收發(fā)器的狀態(tài)為空閑狀態(tài)。
通過將已經(jīng)完成診斷任務(wù)的can收發(fā)器的狀態(tài)進(jìn)行管理,可以提高can收發(fā)器的利用率。
根據(jù)本發(fā)明實(shí)施例提供的一種車輛診斷盒的診斷方法,通過在車輛診斷盒中設(shè)置多個(gè)can收發(fā)器,可同時(shí)接收上位機(jī)的多個(gè)診斷任務(wù),對多個(gè)can收發(fā)器進(jìn)行初始化,從而建立與多個(gè)can收發(fā)器的多個(gè)通路,該多個(gè)can收發(fā)器可以通過多個(gè)通路同時(shí)與多條can總線進(jìn)行通信,提高了車輛診斷效率。
需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)楦鶕?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。
請繼續(xù)參閱圖2,圖2為本發(fā)明實(shí)施例提供的一種車輛診斷盒的模塊示意圖,該車輛診斷盒1000包括:與上位機(jī)(未示出,上位機(jī)中安裝有診斷軟件,用戶可以通過診斷軟件下發(fā)診斷任務(wù))連接的第一接口(未示出)、處理器11(例如是cpu)、至少兩個(gè)控制器局域網(wǎng)絡(luò)can收發(fā)器13、以及與車載診斷系統(tǒng)obd診斷接頭15連接的第二接口(未示出),所述處理器11分別連接所述第一接口、所述至少兩個(gè)can收發(fā)器13和第二接口,所述obd診斷接頭15連接至少兩條can總線14。
所述第一接口用于接收上位機(jī)的至少兩個(gè)診斷任務(wù),所述至少兩個(gè)所述診斷任務(wù)包括與對應(yīng)的至少兩條can總線進(jìn)行通信的通信參數(shù);
所述處理器用于查詢所述至少兩個(gè)can收發(fā)器的狀態(tài),選擇至少兩個(gè)空閑的can收發(fā)器;
所述處理器還用于使用所述通信參數(shù)對選擇的所述至少兩個(gè)空閑的can收發(fā)器進(jìn)行初始化,建立與所述至少兩條can總線之間的至少兩條通道;
所述至少兩個(gè)can收發(fā)器用于通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線通信。
可選地,每條can總線連接至少兩個(gè)電子控制單元ecu,所述至少兩個(gè)can收發(fā)器具體用于:控制所述至少兩個(gè)can收發(fā)器通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。
可選地,所述至少兩個(gè)can收發(fā)器具體用于通過所述至少兩條通道同時(shí)與對應(yīng)的所述至少兩條can總線上的ecu通信。
可選地,所述至少兩個(gè)can收發(fā)器具體用于:
分別通過所述至少兩條通道將所述上位機(jī)的數(shù)據(jù)傳輸給對應(yīng)的所述ecu;
分別通過所述至少兩條通道接收來自對應(yīng)的所述ecu的數(shù)據(jù)。
可選地,所述處理器還用于:
當(dāng)檢測到所述至少兩個(gè)can收發(fā)器的任一個(gè)can收發(fā)器完成所述診斷任務(wù)后,設(shè)置所述任一個(gè)can收發(fā)器的狀態(tài)為空閑狀態(tài)。
根據(jù)本發(fā)明實(shí)施例提供的一種車輛診斷盒,通過在車輛診斷盒中設(shè)置多個(gè)can收發(fā)器,可同時(shí)接收上位機(jī)的多個(gè)診斷任務(wù),對多個(gè)can收發(fā)器進(jìn)行初始化,從而建立與多個(gè)can收發(fā)器的多個(gè)通路,該多個(gè)can收發(fā)器可以通過多個(gè)通路同時(shí)與多條can總線進(jìn)行通信,提高了車輛診斷效率。
請參閱圖3,圖3為本發(fā)明示例的一種車輛診斷系統(tǒng)的硬件結(jié)構(gòu)示意圖,車輛診斷系統(tǒng)包括上位機(jī)、車載診斷盒、ecu系統(tǒng),在圖3中示例了該ecu系統(tǒng)包括兩路can總線,每路can總線上連接多個(gè)ecu。ecu:電子控制單元,就是汽車中控制某一模塊功能的單元,如圖3中的eps,tcu,acu,gsm,mmi,tbox,ipk都是ecu,也可稱為系統(tǒng)。兩條can總線通過obd接頭與車載診斷盒連接,車載診斷盒再與上位機(jī)連接。車載診斷盒的工作原理可參考上述實(shí)施例的描述。
在上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以用硬件實(shí)現(xiàn),或固件實(shí)現(xiàn),或它們的組合方式來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將上述功能存儲在計(jì)算機(jī)可讀介質(zhì)中或作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)。以此為例但不限于:計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存取存儲器(randomaccessmemory,ram)、只讀存儲器(read-onlymemory,rom)、電可擦可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,eeprom)、只讀光盤(compactdiscread-onlymemory,cd-rom)或其他光盤存儲、磁盤存儲介質(zhì)或者其他磁存儲設(shè)備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì)。此外。任何連接可以適當(dāng)?shù)某蔀橛?jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖光纜、雙絞線、數(shù)字用戶線(digitalsubscriberline,dsl)或者諸如紅外線、無線電和微波之類的無線技術(shù)從網(wǎng)站、服務(wù)器或者其他遠(yuǎn)程源傳輸?shù)?,那么同軸電纜、光纖光纜、雙絞線、dsl或者諸如紅外線、無線和微波之類的無線技術(shù)包括在所屬介質(zhì)的定影中。如本發(fā)明所使用的,盤(disk)和碟(disc)包括壓縮光碟(cd)、激光碟、光碟、數(shù)字通用光碟(dvd)、軟盤和藍(lán)光光碟,其中盤通常磁性的復(fù)制數(shù)據(jù),而碟則用激光來光學(xué)的復(fù)制數(shù)據(jù)。上面的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的保護(hù)范圍之內(nèi)。