本發(fā)明涉及通信技術領域,具體涉及一種報文傳輸方法、裝置、系統(tǒng)及診斷平臺。
背景技術:
隨著技術的發(fā)展,當今的汽車都擁有幾十個甚至上百個ECU(Electronic Control Unit,電子控制單元),為了維持車輛的正常運轉(zhuǎn),ECU與ECU之間需要進行通信,同時,為了對ECU進行診斷測試,ECU與外界也需要進行通信。例如:ECU可以與診斷平臺進行通信,診斷平臺可以從ECU中獲取CAN(Controller Area Network,控制器局域網(wǎng)總線)報文,通過CAN報文中的數(shù)據(jù)對ECU進行診斷測試,同時,診斷平臺還可以與上位機進行通信,將從ECU中獲取的CAN傳輸?shù)缴衔粰C,上位機依據(jù)CAN報文中的數(shù)據(jù)來對ECU進行通信控制。
由此可知,若實現(xiàn)上位機與ECU之間的通信交互,需要診斷平臺與上位機之間進行頻繁的CAN報文形式的數(shù)據(jù)交互,這樣增加了診斷平臺與上位機之間的數(shù)據(jù)交互,占用了上位機的過多資源,導致上位機的資源開銷增加。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種報文傳輸方法、裝置、系統(tǒng)及診斷平臺,能夠減少診斷平臺與上位機之間的數(shù)據(jù)交互,從而減少上位機的資源開銷。
為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術方案:
一種報文傳輸方法,包括:
從電子控制單元ECU中獲取多條控制器局域網(wǎng)總線CAN報文;
將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文,其中,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于所述多條CAN報文的條數(shù);
將所述至少一條通信協(xié)議報文傳輸至上位機。
優(yōu)選的,所述將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文的過程包括:
按照一條通信協(xié)議報文的預設通信協(xié)議報文容量大小,將所述多條CAN報文進行分組,得到至少一個CAN報文集合,一CAN報文集合中所包含的CAN報文的總?cè)萘恐禎M足一條通信協(xié)議報文的預設通信協(xié)議報文容量大?。?/p>
將每一CAN報文集合分別轉(zhuǎn)化成一條通信協(xié)議報文,得到至少一條通信協(xié)議報文。
優(yōu)選的,所述將每一CAN報文集合分別轉(zhuǎn)化成一條通信協(xié)議報文,得到至少一條通信協(xié)議報文的過程包括:
將每一CAN報文集合中的每條CAN報文按照所述CAN報文格式進行拆分,獲取每一CAN報文集合中每條所述CAN報文中的內(nèi)容;
依據(jù)所述通信協(xié)議報文的格式,將每一CAN報文集合中每條所述CAN報文中的內(nèi)容轉(zhuǎn)化成符合通信協(xié)議報文格式的內(nèi)容,得到至少一條通信協(xié)議報文。
優(yōu)選的,在將所述至少一條通信協(xié)議報文傳輸至上位機之后,還包括:
從上位機接收通信協(xié)議報文;
將所述通信協(xié)議報文轉(zhuǎn)化成CAN報文,其中,轉(zhuǎn)化成的CAN報文的條數(shù)多于所述通信協(xié)議報文的條數(shù);
將所述CAN報文發(fā)送至ECU。
一種報文傳輸裝置,包括:
CAN報文獲取模塊,用于從ECU中獲取多條CAN報文;
通信協(xié)議報文轉(zhuǎn)化模塊,用于將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文,每條所述通信協(xié)議報文能夠容納至少一條所述CAN報文中的內(nèi)容;
通信協(xié)議報文傳輸模塊,用于將所述至少一條通信協(xié)議報文傳輸至上位機。
優(yōu)選的,所述通信協(xié)議報文轉(zhuǎn)化模塊包括:
CAN報文內(nèi)容獲取模塊,用于將每條CAN報文按照所述CAN報文格式進行拆分,獲取每條所述CAN報文中的內(nèi)容;
CAN報文內(nèi)容轉(zhuǎn)化模塊,用于依據(jù)所述通信協(xié)議報文的格式,將每條所述CAN報文中的內(nèi)容轉(zhuǎn)化成符合通信協(xié)議報文格式的內(nèi)容;
內(nèi)容組合模塊,用于依據(jù)所述通信協(xié)議報文的格式,將所述符合通信協(xié)議報文格式的內(nèi)容進行組合,得到至少一條通信協(xié)議報文。
優(yōu)選的,還包括:
通信協(xié)議報文接收模塊,用于從上位機接收通信協(xié)議報文;
CAN報文轉(zhuǎn)化模塊,用于將所述通信協(xié)議報文轉(zhuǎn)化成CAN報文;
CAN報文發(fā)送模塊,用于將所述CAN報文發(fā)送至ECU。
優(yōu)選的,所述通信協(xié)議報文傳輸模塊包括:
通信協(xié)議報文傳輸子模塊,用于將所述至少一條通信協(xié)議報文通過有線和/或無線的方式傳輸至上位機。
一種診斷平臺,包括如上所述的報文傳輸裝置。
一種報文傳輸系統(tǒng),包括:ECU、診斷平臺以及上位機;
所述診斷平臺用于從ECU中獲取多條控制器局域網(wǎng)總線CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文,其中,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于所述多條CAN報文的條數(shù);將所述至少一條通信協(xié)議報文傳輸至所述上位機。
基于上述技術方案,本發(fā)明實施例中公開了一種報文傳輸方法、裝置、系統(tǒng)及診斷平臺,通過從ECU中獲取多條CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;將所述至少一條通信協(xié)議報文傳輸至上位機,由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種報文傳輸系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的一種報文傳輸方法的信令流程圖;
圖3為本發(fā)明實施例提供的一種報文傳輸方法的流程圖;
圖4為本發(fā)明實施例提供的一種在ECU、診斷平臺與上位機之間的報文傳輸過程示意圖;
圖5為本發(fā)明實施例提供的一種在診斷平臺與上位機之間的報文傳輸過程示意圖;
圖6為本發(fā)明實施例提供的另一種報文傳輸方法的流程圖;
圖7為本發(fā)明實施例提供的另一種報文傳輸方法的流程圖;
圖8為本發(fā)明實施例提供的一種報文傳輸裝置的結(jié)構(gòu)框圖;
圖9為本發(fā)明實施例提供的一種通信協(xié)議報文轉(zhuǎn)化模塊結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明實施例公開的報文傳輸方法應用于對車載ECU的診斷測試中,車載ECU的診斷測試過程是診斷平臺基于CAN總線、LIN總線或K總線等與車載ECU進行通信,從ECU中獲取CAN報文,通過CAN報文中的數(shù)據(jù)對ECU進行診斷測試,同時,診斷平臺還可以與上位機進行通信,將從ECU中獲取的CAN傳輸?shù)缴衔粰C,上位機依據(jù)CAN報文中的數(shù)據(jù)來對ECU進行通信控制,實現(xiàn)對車載ECU進行故障診斷、數(shù)據(jù)標定、程序下載或通信控制等操作。
在對車載ECU進行診斷測試的過程中,需要診斷平臺將CAN、LIN、K形式的總線接口轉(zhuǎn)換成上位機端能夠通信的USB接口,從而在上位機上能夠?qū)@些總線報文進行處理。這樣的處理方式,通信協(xié)議的應用層和網(wǎng)絡層都放在了上位機,每一條CAN報文都要經(jīng)過診斷平臺傳送到上位機,或者由上位機下發(fā)到診斷平臺傳送給ECU,增加了診斷平臺與上位機之間的數(shù)據(jù)交互,占用了上位機的過多資源,導致上位機的資源開銷增加。
基于此,如何減少診斷平臺與上位機之間的數(shù)據(jù)交互,從而減少上位機的資源開銷成為目前亟待解決的技術問題。
為了解決上述技術問題,本發(fā)明實施例中公開了一種報文傳輸方法,通過從ECU中獲取多條CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;將所述至少一條通信協(xié)議報文傳輸至上位機,由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
本發(fā)明實施例中的報文傳輸方法應用于報文傳輸系統(tǒng),如圖1所示的報文傳輸系統(tǒng)結(jié)構(gòu)示意圖,所述報文傳輸系統(tǒng)包括:ECU10、診斷平臺20以及上位機30,圖2示出了一種報文傳輸方法的信令流程圖,該方法可由報文傳輸系統(tǒng)實現(xiàn),參照圖2,所述方法可以包括:
步驟S10、診斷平臺從ECU中獲取多條控制器局域網(wǎng)總線CAN報文;
步驟S20、診斷平臺將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;
其中,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于所述多條CAN報文的條數(shù)。
步驟S30、診斷平臺將所述至少一條通信協(xié)議報文傳輸至上位機;
步驟S40、診斷平臺從上位機接收通信協(xié)議報文;
步驟S50、診斷平臺將所述通信協(xié)議報文轉(zhuǎn)化成CAN報文;
其中,轉(zhuǎn)化成的CAN報文的條數(shù)多于所述通信協(xié)議報文的條數(shù)。
步驟S60、診斷平臺將所述CAN報文發(fā)送至ECU。
本發(fā)明實施例中公開的一種報文傳輸方法,通過從ECU中獲取多條CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;將所述至少一條通信協(xié)議報文傳輸至上位機,由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
圖3示出了一種報文傳輸方法的流程圖,該方法可由診斷平臺實現(xiàn),下面結(jié)合圖4所示的在ECU、診斷平臺與上位機之間的報文傳輸過程示意圖,詳細說明本發(fā)明實施例公開的報文傳輸方法,所述方法可以包括:
步驟S100、診斷平臺從ECU中獲取多條控制器局域網(wǎng)總線CAN報文;
需要說明的是,本發(fā)明實施例中的診斷平臺可以基于CAN總線、LIN總線或K總線等與車載ECU進行通信,從ECU中獲取多條CAN報文。
步驟S110、診斷平臺將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;
需要說明的是,由于一條CAN報文只能承載8個字節(jié)的數(shù)據(jù),而一條通信協(xié)議報文能夠承載上千個字節(jié)的數(shù)據(jù),因此,一條通信協(xié)議報文能夠容納多條CAN報文的內(nèi)容,多條CAN報文可以轉(zhuǎn)化成一條通信協(xié)議報文,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù)。
步驟S120、診斷平臺將所述至少一條通信協(xié)議報文傳輸至上位機。
可選的,本發(fā)明實施例中的診斷平臺與上位機之間可以進行有線或無線的方式進行通信,例如:診斷平臺可以通過無線wifi將通信協(xié)議報文傳輸至上位機,在做整車下線檢測的過程中,工作人員可以通過手持上位機設備移動,不再受線約束,不再需要工作人員手持上位機設備繞到車前或者車后去進行整車下線檢測,節(jié)約了人力。
結(jié)合圖5所示的在診斷平臺與上位機之間的報文傳輸過程示意圖,本發(fā)明實施例中由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,而不是CAN報文的交互,避免了CAN報文形式的短幀數(shù)據(jù)在診斷平臺和上位機之間的頻繁交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
同時,由于本發(fā)明實施例中是在診斷平臺中將CAN報文轉(zhuǎn)換成通信協(xié)議報文,并將轉(zhuǎn)化成的通信協(xié)議報文傳輸給上位機,上位機側(cè)只需要對通信協(xié)議報文進行調(diào)用即可,無需在關注報文的轉(zhuǎn)換過程,減少了上位機軟件開發(fā)人員的工作量,節(jié)省了開發(fā)時間。
可選的,診斷平臺與上位機之間進行的是通信協(xié)議的交互,而不是CAN報文的交互,避免了CAN報文形式的短幀數(shù)據(jù)在診斷平臺和上位機之間的頻繁交互,從而避免了上位機頻繁做出響應,對于有大量的報文傳輸?shù)那闆r(例如程序下載過程等),極大的減少了報文在傳輸過程中浪費的上位機響應時間,提高了報文傳輸效率,同時,提高了報文傳輸?shù)姆€(wěn)定性。本發(fā)明實施例中的報文傳輸方法應用在多個整車廠商的下線檢測過程中,能夠縮短單個車輛下線檢測的時間,極大的提高了整車下線檢測的時間節(jié)拍。
下面,本發(fā)明實例中具體介紹另一種報文傳輸方法,請參照圖6公開的報文傳輸方法流程圖,該方法可以包括:
步驟S200、診斷平臺從ECU中獲取多條控制器局域網(wǎng)總線CAN報文;
步驟S210、診斷平臺按照一條通信協(xié)議報文的預設通信協(xié)議報文容量大小,將所述多條CAN報文進行分組,得到至少一個CAN報文集合;
由于一條CAN報文只能承載8個字節(jié)的數(shù)據(jù),而一條通信協(xié)議報文能夠承載上千個字節(jié)的數(shù)據(jù),本發(fā)明實施例中診斷平臺按照一條通信協(xié)議報文的預設通信協(xié)議報文容量大小,將所述多條CAN報文進行分組,得到至少一個CAN報文集合,其中,一CAN報文集合中所包含的CAN報文的總?cè)萘恐禎M足一條通信協(xié)議報文的預設通信協(xié)議報文容量大小。
步驟S220、將每一CAN報文集合分別轉(zhuǎn)化成一條通信協(xié)議報文,得到至少一條通信協(xié)議報文;
需要說明的是,本發(fā)明實施例中可以按照通信協(xié)議報文格式,將每一CAN報文集合中的內(nèi)容轉(zhuǎn)化成符合通信協(xié)議報文格式的通信協(xié)議報文。
步驟S230、診斷平臺將所述至少一條通信協(xié)議報文傳輸至上位機。
本發(fā)明實施例中由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,而不是CAN報文的交互,避免了CAN報文形式的短幀數(shù)據(jù)在診斷平臺和上位機之間的頻繁交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
下面,本發(fā)明實例中具體介紹另一種報文傳輸方法,請參照圖7公開的報文傳輸方法流程圖,該方法可以包括:
步驟S300、診斷平臺從ECU中獲取多條控制器局域網(wǎng)總線CAN報文;
步驟S310、診斷平臺按照一條通信協(xié)議報文的預設通信協(xié)議報文容量大小,將所述多條CAN報文進行分組,得到至少一個CAN報文集合;
步驟S320、將每一CAN報文集合中的每條CAN報文按照所述CAN報文格式進行拆分,獲取每一CAN報文集合中每條所述CAN報文中的內(nèi)容;
步驟S330、依據(jù)所述通信協(xié)議報文的格式,將每一CAN報文集合中每條所述CAN報文中的內(nèi)容轉(zhuǎn)化成符合通信協(xié)議報文格式的內(nèi)容,得到至少一條通信協(xié)議報文;
步驟S340、診斷平臺將所述至少一條通信協(xié)議報文傳輸至上位機。
本發(fā)明實施例中由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,而不是CAN報文的交互,避免了CAN報文形式的短幀數(shù)據(jù)在診斷平臺和上位機之間的頻繁交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
下面對本發(fā)明實施例提供的報文傳輸裝置進行介紹,下文描述的報文傳輸裝置可與上文報文傳輸方法相互對應參照。
圖8為本發(fā)明實施例提供的報文傳輸裝置的結(jié)構(gòu)框圖,該報文傳輸裝置具體可以為診斷平臺,參照圖8,該報文傳輸裝置可以包括:
CAN報文獲取模塊100,用于從ECU中獲取多條CAN報文;
通信協(xié)議報文轉(zhuǎn)化模塊110,用于將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文,每條所述通信協(xié)議報文能夠容納至少一條所述CAN報文中的內(nèi)容;
通信協(xié)議報文傳輸模塊120,用于將所述至少一條通信協(xié)議報文傳輸至上位機。
請參照圖9所示的通信協(xié)議報文轉(zhuǎn)化模塊結(jié)構(gòu)示意圖,所述通信協(xié)議報文轉(zhuǎn)化模塊的一種可選結(jié)構(gòu)包括:
CAN報文內(nèi)容獲取模塊200,用于將每條CAN報文按照所述CAN報文格式進行拆分,獲取每條所述CAN報文中的內(nèi)容;
CAN報文內(nèi)容轉(zhuǎn)化模塊210,用于依據(jù)所述通信協(xié)議報文的格式,將每條所述CAN報文中的內(nèi)容轉(zhuǎn)化成符合通信協(xié)議報文格式的內(nèi)容;
內(nèi)容組合模塊220,用于依據(jù)所述通信協(xié)議報文的格式,將所述符合通信協(xié)議報文格式的內(nèi)容進行組合,得到至少一條通信協(xié)議報文。
所述報文傳輸裝置還包括:
通信協(xié)議報文接收模塊,用于從上位機接收通信協(xié)議報文;
CAN報文轉(zhuǎn)化模塊,用于將所述通信協(xié)議報文轉(zhuǎn)化成CAN報文;
CAN報文發(fā)送模塊,用于將所述CAN報文發(fā)送至ECU。
所述通信協(xié)議報文傳輸模塊的一種可選結(jié)構(gòu)包括:
通信協(xié)議報文傳輸子模塊,用于將所述至少一條通信協(xié)議報文通過有線和/或無線的方式傳輸至上位機。
可選的,本發(fā)明實施例中還公開了一種診斷平臺,包括如上所述的報文傳輸裝置。
可選的,如圖1所示,本發(fā)明實施例中還公開了一種報文傳輸系統(tǒng),所述報文傳輸系統(tǒng)包括:ECU10、診斷平臺20以及上位機30;
所述診斷平臺20用于從ECU10中獲取多條控制器局域網(wǎng)總線CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文,其中,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于所述多條CAN報文的條數(shù);將所述至少一條通信協(xié)議報文傳輸至所述上位機30。
綜上所述:
本發(fā)明實施例中公開了一種報文傳輸方法、裝置、系統(tǒng)及診斷平臺,通過從ECU中獲取多條CAN報文;將所述多條CAN報文轉(zhuǎn)化成至少一條通信協(xié)議報文;將所述至少一條通信協(xié)議報文傳輸至上位機,由于一條通信協(xié)議可以承載多條CAN報文中的內(nèi)容,因此,轉(zhuǎn)化成的通信協(xié)議報文的條數(shù)少于CAN報文的條數(shù),診斷平臺與上位機之間進行的是通信協(xié)議的交互,從而減少了診斷平臺與上位機之間的交互次數(shù),減少上位機的資源開銷。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。