一種汽車控制器自動診斷裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種汽車控制器診斷技術(shù),具體地說,是一種汽車控制器自動診斷裝置及方法。
【背景技術(shù)】
[0002]EQJ(Electronic Control Unit,電子控制單元),又稱“行車電腦”、“車載電腦”等。從用途上講是汽車專用微機控制器,也叫汽車專用單片機。它和普通的單片機一樣,由微處理器(CPU)、存儲器(ROM、RAM)、輸入/輸出接口(1/0)、模數(shù)轉(zhuǎn)換器(A/D)以及整形、驅(qū)動等大規(guī)模集成電路組成。
[0003]隨著汽車技術(shù)的不斷發(fā)展,各種不同功能的控制器被開發(fā)出來,汽車電器網(wǎng)絡(luò)越來越復(fù)雜。控制器數(shù)量的增加,必然會導(dǎo)致與控制器相關(guān)故障的增加。因此為了保證汽車的安全運行,對控制器的功能性、安全性與可靠性要求也越來越高。
[0004]為保證每一個控制器能正常運行,必須在診斷功能方面保證診斷服務(wù)的正確性??刂破髟\斷服務(wù)的測試包括正反饋的測試和負反饋的測試。在測試過程中將診斷工具與控制器連接,針對每個控制器的每條服務(wù)逐項模擬正反饋或者負反饋的條件,發(fā)送相應(yīng)的報文,判斷收到的反饋是否為期望值。
[0005]但是,現(xiàn)有技術(shù)中,不同控制器的工作原理和環(huán)境各不相同,因此針對不同的控制器需要模擬不同的診斷條件。同樣,各診斷服務(wù)的正反饋和負反饋條件各不相同,需要分別模擬。這就需要多個診斷工具分別診斷不同的控制器,使得成本大大增加,操作也更為復(fù)雜O
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題是提供一種汽車控制器自動診斷裝置及方法,可以模擬不同的診斷條件,實現(xiàn)對汽車控制器快速、高效的自動診斷。
[0007]為了解決上述技術(shù)問題,本發(fā)明提供了一種汽車控制器自動診斷裝置,包括:
[0008]存儲模塊,用于存儲以單個診斷服務(wù)為單位的測試用例;
[0009]檢測模塊,用于從所述存儲模塊中調(diào)用測試用例,根據(jù)測試用例發(fā)送測試報文到待測控制器;
[0010]檢測結(jié)果判斷模塊,用于接收從所述待測控制器返回的反饋報文,并判斷反饋報文是否符合標(biāo)準(zhǔn),若符合,輸出測試通過的結(jié)果;若不符合,輸出測試結(jié)果未通過的結(jié)果。
[0011]進一步地,所述檢測模塊從所述存儲模塊中依次調(diào)用多個測試用例進行測試。
[0012]進一步地,還包括:選擇模塊,用于接收用戶的設(shè)置,從所述存儲模塊所存儲的測試用例中選擇出需要測試的測試用例;其中,所述選擇出需要測試的測試用例包括測試服務(wù)的選擇和測試子服務(wù)的選擇。
[0013]所述檢測模塊根據(jù)所述選擇模塊選擇的測試用例進行測試。
[0014]進一步地,所述選擇模塊還將用戶設(shè)置保存,所述檢測模塊調(diào)用存儲的前一次用戶設(shè)置,根據(jù)調(diào)用的用戶設(shè)置從所述存儲模塊所存儲的測試用例中選擇出需要測試的測試用例。
[0015]進一步地,所述檢測模塊依次判斷調(diào)用的測試用例是否適用當(dāng)前待測控制器,若適用,向所述待測控制器發(fā)送測試報文;若不適用,跳過該測試用例,調(diào)用下一測試用例。
[0016]本發(fā)明還提供了一種汽車控制器自動診斷方法,包括:
[0017]A、將測試項目以單個診斷服務(wù)為單位編制測試用例并存儲;
[0018]B、調(diào)用存儲的測試用例,根據(jù)測試用例發(fā)送測試報文到待測控制器;
[0019]C、接收從所述待測控制器返回的反饋報文,并判斷反饋報文是否符合標(biāo)準(zhǔn),若符合,輸出測試通過的結(jié)果;若不符合,輸出測試結(jié)果未通過的結(jié)果。
[0020]進一步地,所述步驟B中,依次調(diào)用多個測試用例進行測試。
[0021]進一步地,所述步驟B之前還包括由用戶選擇測試用例的步驟;所述步驟B中,依次調(diào)用用戶選擇的測試用例,根據(jù)測試用例發(fā)送測試報文到待測控制器。
[0022]進一步地,所述步驟B中,依次調(diào)用存儲的全部測試用例進行測試。
[0023]進一步地,所述步驟B中,依次判斷調(diào)用的測試用例是否適用當(dāng)前待測控制器,若適用,向所述待測控制器發(fā)送測試報文;若不適用,跳過該測試用例,調(diào)用下一測試用例。
[0024]本發(fā)明的汽車控制器自動診斷裝置及方法以單個診斷服務(wù)為單位,在對控制器測試時可以任意選擇所支持的服務(wù)和子服務(wù)進行測試,對于控制器不支持的服務(wù)可以跳過不執(zhí)行。并且測試方式靈活,既可以對單一控制器進行測試,也可以對汽車網(wǎng)絡(luò)中的任意控制器進行測試。本發(fā)明可以在物理尋址和功能尋址兩種尋址方式之間進行切換。本發(fā)明可以實現(xiàn)自動化測試,無需手動發(fā)送報文,并且自動生成測試報告,使工作效率大大優(yōu)化。
【附圖說明】
[0025]圖1是本發(fā)明的汽車控制器自動診斷裝置的測試場景框圖。
[0026]圖2是本發(fā)明的汽車控制器自動診斷裝置的原理框圖。
[0027]圖3是本發(fā)明中用戶的設(shè)置界面的一實施列圖。
[0028]圖4是本發(fā)明的汽車控制器自動診斷方法的流程圖。
[0029]圖5是本發(fā)明中每個測試用例的測試流程。
【具體實施方式】
[0030]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,以使本領(lǐng)域的技術(shù)人員可以更好地理解本發(fā)明并能予以實施,但所舉實施例不作為對本發(fā)明的限定。
[0031]本發(fā)明針對每個服務(wù)的不同正反饋和負反饋的測試以單個服務(wù)為單位編寫為通用型測試用例,將每個服務(wù)的各種測試用例集合為一個測試模塊,再將所有測試模塊整合成為可以適用于各種控制器的自動化測試程序。
[0032]如圖1所示,本發(fā)明將診斷工具與控制器(EQJ)通過CAN(ControIIer AreaNetwork,控制器局域網(wǎng)絡(luò))線和BOB(接線盒)連接,同時連接電源和必要的模擬輸入。診斷工具連接到上位機上??刂破骺蓡为毰c診斷工具連接進行測試,也可以在實車上對單個控制器進行測試。
[0033]本發(fā)明的汽車控制器自動診斷裝置一般可設(shè)置于上位機上,當(dāng)然,根據(jù)需要,也可以開發(fā)出具有足夠處理能力的診斷工具,將診斷工具智能化。例如將診斷工具與平板電腦集成在一起。此時可以將本發(fā)明的汽車控制器自動診斷裝置直接集成于診斷工具中,本發(fā)明對此不作限定。
[0034]如圖2所示,本發(fā)明的汽車控制器自動診斷裝置包括:
[0035]存儲模塊201,用于存儲以單個診斷服務(wù)為單位的測試用例;
[0036]檢測模塊202,用于從存儲模塊201中調(diào)用測試用例,根據(jù)測試用例發(fā)送測試報文到待測控制器;
[0037]檢測結(jié)果判斷模塊203,用于接收從待測控制器返回的反饋報文,并判斷反饋報文是否符合標(biāo)準(zhǔn),若符合,輸出測試通過的結(jié)果;若不符合,輸出測試結(jié)果未通過的結(jié)果。
[0038]由于存儲模塊201中保存有多個測試用例,檢測模塊202根據(jù)需要可以從存儲模塊201中依次調(diào)用多個測試用例進行測試。在調(diào)用多個測試用例的方式上,可以設(shè)置一選擇模塊204,用于接收用戶的設(shè)置,從存儲模塊201所存儲的測試用例中選擇出需要測試的測試用例,然后由檢測模塊202根據(jù)選