本發(fā)明涉及汽車電子技術(shù)領(lǐng)域,特別涉及一種CAN總線開發(fā)與測試方法及系統(tǒng)。
背景技術(shù):
在汽車電子系統(tǒng)的開發(fā)過程中,通常需要對控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)總線報(bào)文進(jìn)行監(jiān)聽與分析、注入測試報(bào)文進(jìn)行測試以及實(shí)時(shí)顯示CAN總線上的數(shù)據(jù)。為了完成這些任務(wù),現(xiàn)行的方法是將多個(gè)應(yīng)用軟件聯(lián)合多個(gè)USB轉(zhuǎn)CAN接口卡(以下簡稱USB-CAN)連接到CAN總線的物理層,如圖1示出了現(xiàn)行的一個(gè)典型的連接圖,這種連接方式需要在一臺計(jì)算機(jī)上連接多個(gè)USB-CAN,每個(gè)軟件需要通過一個(gè)相應(yīng)的USB-CAN與CAN總線上連接的其他設(shè)備進(jìn)行通信。其中,應(yīng)用軟件為需要開發(fā)調(diào)試的軟件,抓包工具用于抓取CAN總線的所有數(shù)據(jù)并將抓取的數(shù)據(jù)保存成文件供后期分析,實(shí)時(shí)數(shù)據(jù)分析工具對抓包工具抓取的數(shù)據(jù)進(jìn)行抓取并進(jìn)行報(bào)文解析和實(shí)時(shí)解析得到的CAN總線的相關(guān)物理量,數(shù)據(jù)注入工具注入與應(yīng)用軟件相關(guān)的測試數(shù)據(jù)。
但是,這種現(xiàn)行的方法存在如下缺陷:一是,需要使用多個(gè)USB-CAN,提高了測試成本;二是,將多個(gè)USB-CAN連接在同一個(gè)計(jì)算機(jī)上時(shí),導(dǎo)致系統(tǒng)比較復(fù)雜,系統(tǒng)的驅(qū)動可能會相互影響而引起系統(tǒng)的不穩(wěn)定;三是,在接入新的工具時(shí),必須接入相應(yīng)的USB-CAN,導(dǎo)致上述現(xiàn)行的方法的擴(kuò)展性較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種CAN總線開發(fā)與測試方法及系統(tǒng),以降低CAN總線開發(fā)與測試過程的復(fù)雜度。
為實(shí)現(xiàn)以上目的,本發(fā)明采用的技術(shù)方案為:第一方面,提供一種CAN總線開發(fā)與測試方法,該方法包括:
實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件向虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)發(fā)送數(shù)據(jù);
所述網(wǎng)絡(luò)服務(wù)將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)至與其連接的其他CAN總線調(diào)試分析所需的應(yīng)用軟件,以及將接收的數(shù)據(jù)轉(zhuǎn)發(fā)至實(shí)際CAN總線;
利用與所述網(wǎng)絡(luò)服務(wù)連接的CAN總線調(diào)試分析所需的應(yīng)用軟件對所述網(wǎng)絡(luò)服務(wù)轉(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行調(diào)試分析。
第二方面,提供一種CAN總線開發(fā)與測試系統(tǒng),該系統(tǒng)包括:
運(yùn)行在第一PC端的由虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)以及實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件;
實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件通過網(wǎng)絡(luò)連接的形式接入所述網(wǎng)絡(luò)服務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明存在以下技術(shù)效果:本發(fā)明通過創(chuàng)建一個(gè)網(wǎng)絡(luò)服務(wù),在網(wǎng)絡(luò)服務(wù)內(nèi)同時(shí)掛接多個(gè)應(yīng)用軟件,多個(gè)應(yīng)用軟件可以向網(wǎng)絡(luò)服務(wù)內(nèi)發(fā)送數(shù)據(jù),并由網(wǎng)絡(luò)服務(wù)將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給所連接的其他的應(yīng)用軟件。而不需要對每個(gè)應(yīng)用軟件設(shè)置相應(yīng)的USB-CAN,降低了測試成本和系統(tǒng)的復(fù)雜度,進(jìn)一步地提高了系統(tǒng)的穩(wěn)定性。
附圖說明
圖1是本發(fā)明背景技術(shù)部分述及的現(xiàn)行測試系統(tǒng)的一個(gè)典型的連接示意圖;
圖2是本發(fā)明一實(shí)施例提供的一種CAN總線開發(fā)與測試方法的流程示意圖;
圖3是本發(fā)明一實(shí)施例提供的一種CAN總線開發(fā)與測試系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合圖1至圖3所示,對本發(fā)明做進(jìn)一步詳細(xì)敘述。
如圖2所示,本實(shí)施例公開了一種CAN總線開發(fā)與測試方法,該方法包括如下步驟S1至S3:
S1、實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件向虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)發(fā)送數(shù)據(jù);
其中,實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件包括需要開發(fā)調(diào)試的應(yīng)用軟件、抓包工具、實(shí)時(shí)數(shù)據(jù)分析工具以及數(shù)據(jù)注入工具等應(yīng)用軟件。需要說明的是,本實(shí)施例中不限定應(yīng)用軟件的種類和數(shù)量,本領(lǐng)域技術(shù)可以根據(jù)實(shí)際情況的需要,選擇不同的應(yīng)用軟件。
S2、所述網(wǎng)絡(luò)服務(wù)將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)至與其連接的其他CAN總線調(diào)試分析所需的應(yīng)用軟件,以及將接收的數(shù)據(jù)轉(zhuǎn)發(fā)至實(shí)際CAN總線;
S3、利用與所述網(wǎng)絡(luò)服務(wù)連接的CAN總線調(diào)試分析所需的應(yīng)用軟件對所述網(wǎng)絡(luò)服務(wù)轉(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行調(diào)試分析。
在實(shí)際應(yīng)用中,通過數(shù)據(jù)注入工具注入干擾包來干擾實(shí)際CAN總線的數(shù)據(jù),在干擾過程中,抓取工具抓取對個(gè)應(yīng)用軟件與實(shí)際CAN總線之間的通信數(shù)據(jù),并由其他的應(yīng)用軟件對抓取的通信數(shù)據(jù)進(jìn)行調(diào)試分析。本實(shí)施例中應(yīng)用軟件與實(shí)際CAN總線之間的通信過程為:由虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)將某一應(yīng)用軟件的數(shù)據(jù)直接轉(zhuǎn)發(fā)至其連接的其他應(yīng)用軟件,多個(gè)應(yīng)用軟件通過網(wǎng)絡(luò)服務(wù)即可與使用一個(gè)實(shí)際CAN總線實(shí)現(xiàn)數(shù)據(jù)收發(fā)。而傳統(tǒng)的通信方式是每個(gè)應(yīng)用軟件需要通過相應(yīng)的USB-CAN來與實(shí)際CAN總線上的設(shè)備進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)收發(fā),即需要在一臺計(jì)算機(jī)上連接多個(gè)USB-CAN。因此,本發(fā)明與傳統(tǒng)的通信方式相比,僅需要一個(gè)甚至可以不需要USB-CAN,大大減少了USB-CAN的數(shù)量,降低了整個(gè)系統(tǒng)的復(fù)雜度和使用成本。
另外,還需說明的是,本實(shí)施例中對抓取的實(shí)際CAN總線的數(shù)據(jù)進(jìn)行調(diào)試分析的過程與現(xiàn)有的調(diào)試分析過程相同,本實(shí)施例中不再贅述。
進(jìn)一步地,需要說明的是,網(wǎng)絡(luò)服務(wù)將接收的應(yīng)用軟件發(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā)至實(shí)際CAN總線后,實(shí)際CAN總線將數(shù)據(jù)發(fā)送到與其連接的設(shè)備中,設(shè)備根據(jù)接收到的數(shù)據(jù)執(zhí)行相應(yīng)動作或者返回相應(yīng)的報(bào)文數(shù)據(jù)。在設(shè)備返回相應(yīng)的報(bào)文數(shù)據(jù)時(shí),本實(shí)施例中公開的CAN總線數(shù)據(jù)調(diào)試方法還包括如下步驟:
所述網(wǎng)絡(luò)服務(wù)將接收到的數(shù)據(jù)通過USB-CAN轉(zhuǎn)發(fā)至實(shí)際CAN總線,并接收實(shí)際CAN總線返回的報(bào)文數(shù)據(jù);
所述網(wǎng)絡(luò)服務(wù)將實(shí)際CAN總線返回的報(bào)文數(shù)據(jù)轉(zhuǎn)發(fā)至與所述網(wǎng)絡(luò)服務(wù)連接的CAN總線調(diào)試分析所需的應(yīng)用軟件中;
其中,所述的實(shí)際CAN總線返回的報(bào)文數(shù)據(jù)為與實(shí)際CAN總線連接的設(shè)備產(chǎn)生的報(bào)文數(shù)據(jù)。
需要說明的是,本實(shí)施例中的抓取工具還對設(shè)備返回的報(bào)文數(shù)據(jù)進(jìn)行抓取以進(jìn)行分析。
進(jìn)一步地,本實(shí)施例公開的方法還包括:
將運(yùn)行在第二PC端的相應(yīng)的應(yīng)用軟件通過網(wǎng)絡(luò)方式連接到所述虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)中,其中,所述虛擬CAN總線運(yùn)行在第一PC端;
所述第二PC端通過第一PC端對實(shí)際CAN總線進(jìn)行遠(yuǎn)程調(diào)試。
需要說明的是,因?yàn)楸緦?shí)施例中的虛擬CAN總線是運(yùn)行在第一PC端上的并且通過網(wǎng)絡(luò)的形式來實(shí)現(xiàn)的,使得應(yīng)用軟件也可以運(yùn)行在其他的計(jì)算機(jī)上,如本實(shí)施例中的第二PC端。第二PC端通過網(wǎng)絡(luò)連接的形式接入第一PC端,即可通過第一PC端來對實(shí)際CAN總線進(jìn)行遠(yuǎn)程調(diào)試開發(fā)。
如圖3所示,本實(shí)施例公開了一種CAN總線開發(fā)與測試系統(tǒng),該系統(tǒng)包括:運(yùn)行在第一PC端的由虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)以及實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件;
實(shí)際CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件通過網(wǎng)絡(luò)連接的形式接入所述網(wǎng)絡(luò)服務(wù)。
進(jìn)一步地,本實(shí)施例中的系統(tǒng)還包括通過連接線與所述的網(wǎng)絡(luò)服務(wù)接口連接的USB-CAN,USB-CAN還與實(shí)際CAN總線連接。
需要說明的是,所述的網(wǎng)絡(luò)服務(wù)可以但不限于通過USB-CAN的形式與實(shí)際CAN總線連接。在網(wǎng)絡(luò)服務(wù)的接口與USB-CAN連接時(shí),網(wǎng)絡(luò)服務(wù)還把接收到的應(yīng)用軟件發(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā)至實(shí)際CAN總線,并且把通過USB-CAN從實(shí)際CAN總線上接收到的報(bào)文數(shù)據(jù)轉(zhuǎn)發(fā)至其連接的所有應(yīng)用軟件。
進(jìn)一步地,如圖3所示,本實(shí)施例的系統(tǒng)還包括通過網(wǎng)絡(luò)連接的形式接入所述網(wǎng)絡(luò)服務(wù)中的第二PC端,第二PC端上運(yùn)行所述CAN總線數(shù)據(jù)調(diào)試分析所需的應(yīng)用軟件。
具體地,根據(jù)實(shí)際測試情況的需要,第二PC端上運(yùn)行的應(yīng)用軟件也包括需要開發(fā)調(diào)試的應(yīng)用軟件、抓包工具、實(shí)時(shí)數(shù)據(jù)分析工具以及數(shù)據(jù)注入工具等應(yīng)用軟件,第二PC端上運(yùn)行上述應(yīng)用軟件時(shí),即可通過第一PC端對實(shí)際CAN總線數(shù)據(jù)進(jìn)行調(diào)試分析。
還需要說明的是,在不涉及與設(shè)備的數(shù)據(jù)收發(fā)時(shí),本實(shí)施例中由虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)可以不與實(shí)際CAN總線連接,在脫離實(shí)際CAN總線的情況下,完成實(shí)際CAN總線數(shù)據(jù)的收發(fā),實(shí)現(xiàn)了純虛擬CAN總線的調(diào)試分析,易于擴(kuò)展。
需要說明的是,在實(shí)際應(yīng)用中,對于已經(jīng)存在的基于USB-CAN開發(fā)的軟件,需要開發(fā)一套與USB-CAN操作相同的應(yīng)用程序編程接口(Application Programming Interface,API)的動態(tài)鏈接庫(Dynamic Link Library,DLL),將USB操作的API相關(guān)函數(shù)的功能替換為對虛擬CAN總線創(chuàng)建的網(wǎng)絡(luò)服務(wù)的操作,包括連接、數(shù)據(jù)收發(fā)以及斷開等操作,然后直接替換原有軟件的DLL即可完成原有軟件的配適。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。