本發(fā)明涉及整車數(shù)據(jù)傳輸領(lǐng)域,尤其是一種網(wǎng)關(guān)控制器、數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
為了對新開發(fā)車型的發(fā)動機(jī)系統(tǒng)性能進(jìn)行測試,通常會對標(biāo)桿車型進(jìn)行改裝,并在改裝后的標(biāo)桿車型上安裝新開發(fā)車型發(fā)動機(jī)系統(tǒng)部件以形成驗證騾車,用于發(fā)動機(jī)系統(tǒng)零件空間的裝配檢查和最初性能數(shù)據(jù)采集及數(shù)據(jù)標(biāo)定。由于新設(shè)計的發(fā)動機(jī)系統(tǒng)電控單元與標(biāo)桿車型的發(fā)動機(jī)系統(tǒng)電控單元的網(wǎng)絡(luò)數(shù)據(jù)接口差異較大,新開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型上的各個控制系統(tǒng)之間的接口難以對接通信,進(jìn)而導(dǎo)致難以實現(xiàn)對新開發(fā)車型的發(fā)動機(jī)和標(biāo)桿車型的各個控制系統(tǒng)之間的數(shù)據(jù)交互。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例要解決的技術(shù)問題是提供一種網(wǎng)關(guān)控制器、數(shù)據(jù)傳輸方法及裝置,用以實現(xiàn)對待開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型的各個控制系統(tǒng)之間的網(wǎng)絡(luò)數(shù)據(jù)交互,實現(xiàn)對待開發(fā)車型發(fā)動機(jī)的性能測試。
為解決上述技術(shù)問題,本發(fā)明實施例提供的數(shù)據(jù)傳輸方法,應(yīng)用于網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述網(wǎng)關(guān)控制器包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊,包括:
數(shù)據(jù)接收模塊從所述總線上接收第一報文,并判斷所述第一報文是否為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文;
在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,數(shù)據(jù)接收模塊對所述第一報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中;
數(shù)據(jù)發(fā)送模塊以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位;
在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,數(shù)據(jù)發(fā)送模塊確定所述第一報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文;
數(shù)據(jù)發(fā)送模塊將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
優(yōu)選地,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,所述數(shù)據(jù)轉(zhuǎn)發(fā)方法還包括:
數(shù)據(jù)接收模塊控制所述總線停止傳輸所述第一報文。
優(yōu)選地,在將所述待轉(zhuǎn)發(fā)報文發(fā)送至目標(biāo)地址后,所述數(shù)據(jù)傳輸方法還包括:
數(shù)據(jù)發(fā)送模塊將所述第一報文對應(yīng)的所述預(yù)設(shè)報文標(biāo)志位進(jìn)行復(fù)位。
優(yōu)選地,數(shù)據(jù)接收模塊判斷所述第一報文是否為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文的步驟,包括:
判斷所述第一報文的ID值與預(yù)設(shè)ID值是否相同;
在所述第一報文的ID值與預(yù)設(shè)ID值相同時,確定所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文;
在所述第一報文的ID值與預(yù)設(shè)ID值不相同時,確定所述第一報文不為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文。
優(yōu)選地,數(shù)據(jù)發(fā)送模塊將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文的步驟,包括:
確定所述目標(biāo)地址對所述第一數(shù)據(jù)變量的變量值的數(shù)據(jù)要求;
根據(jù)所述數(shù)據(jù)要求,將所述第一數(shù)據(jù)變量的數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)數(shù)據(jù)值;
將所述第一數(shù)據(jù)變量及其轉(zhuǎn)換后的目標(biāo)數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文。
根據(jù)本發(fā)明實施例的另一方面,本發(fā)明實施例還提供了一種數(shù)據(jù)傳輸裝置,應(yīng)用于網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述數(shù)據(jù)傳輸裝置包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊;
數(shù)據(jù)接收模塊,用于從所述總線上接收第一報文,并判斷所述第一報文是否為待轉(zhuǎn)發(fā)數(shù)據(jù)報文;以及,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,對所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中;
數(shù)據(jù)發(fā)送模塊,用于以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位;以及,在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,確定所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文,并將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
優(yōu)選地,所述數(shù)據(jù)接收模塊還用于:在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,控制所述總線停止傳輸所述第一報文。
優(yōu)選地,所述數(shù)據(jù)發(fā)送模塊還用于在將所述待轉(zhuǎn)發(fā)報文發(fā)送至目標(biāo)地址后,將所述第一報文對應(yīng)的所述預(yù)設(shè)報文標(biāo)志位進(jìn)行復(fù)位。
優(yōu)選地,所述數(shù)據(jù)接收模塊包括:
判斷單元,用于判斷所述第一報文的ID值與預(yù)設(shè)ID值是否相同;
第一確定單元,用于在所述第一報文的ID值與預(yù)設(shè)ID值相同時,確定所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文;
第二確定單元,用于在所述第一報文的ID值與預(yù)設(shè)ID值不相同時,確定所述第一報文不為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文。
優(yōu)選地,所述數(shù)據(jù)發(fā)送模塊包括:
第三確定單元,用戶確定所述目標(biāo)地址對所述第一數(shù)據(jù)變量的變量值的數(shù)據(jù)要求;
第一轉(zhuǎn)換單元,用于根據(jù)所述數(shù)據(jù)要求,將所述第一數(shù)據(jù)變量的數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)數(shù)據(jù)值;
第二轉(zhuǎn)換單元,用于將所述第一數(shù)據(jù)變量及其轉(zhuǎn)換后的目標(biāo)數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文。
根據(jù)本發(fā)明的另一方面,本發(fā)明實施例還提供了一種網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述網(wǎng)關(guān)控制器包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊;
數(shù)據(jù)接收模塊,用于從所述總線上接收第一報文,并判斷所述第一報文是否為待轉(zhuǎn)發(fā)數(shù)據(jù)報文;以及,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,對所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中;
數(shù)據(jù)發(fā)送模塊,用于以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位;以及,在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,確定所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文,并將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的網(wǎng)關(guān)控制器、數(shù)據(jù)傳輸方法及裝置,至少具有以下有益效果:
能夠?qū)崿F(xiàn)對待開發(fā)車型發(fā)動機(jī)和標(biāo)桿車型之間的數(shù)據(jù)交互,降低整車開發(fā)成本。數(shù)據(jù)接收模塊根據(jù)預(yù)設(shè)信息確定總線上傳輸?shù)牡谝粓笪氖欠駷闃?biāo)桿車型的控制系統(tǒng)所需要的報文,在確定出該第一報文為待轉(zhuǎn)發(fā)報文后,通過對第一報文對應(yīng)的報文標(biāo)志位進(jìn)行置位,數(shù)據(jù)根據(jù)對報文標(biāo)志位進(jìn)行檢測,確定出已進(jìn)行置位的報文標(biāo)志位,并將數(shù)據(jù)接收模塊接收到的第一報文按照預(yù)設(shè)方式發(fā)送至需要的目標(biāo)地址上,實現(xiàn)待開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型的各個控制系統(tǒng)之間的數(shù)據(jù)交互,進(jìn)而實現(xiàn)對待開發(fā)車型發(fā)動機(jī)的性能測試。
附圖說明
圖1為本發(fā)明實施例所述的數(shù)據(jù)傳輸方法的流程示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進(jìn)行詳細(xì)描述。在下面的描述中,提供諸如具體的配置和組件的特定細(xì)節(jié)僅僅是為了幫助全面理解本發(fā)明的實施例。因此,本領(lǐng)域技術(shù)人員應(yīng)該清楚,可以對這里描述的實施例進(jìn)行各種改變和修改而不脫離本發(fā)明的范圍和精神。另外,為了清楚和簡潔,省略了對已知功能和構(gòu)造的描述。
參照圖1,本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法,應(yīng)用于網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述網(wǎng)關(guān)控制器包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊,包括:
步驟1,數(shù)據(jù)接收模塊從所述總線上接收第一報文,并判斷所述第一報文是否為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文。
步驟2,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,數(shù)據(jù)接收模塊對所述第一報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中。
步驟3,數(shù)據(jù)發(fā)送模塊以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位。
步驟4,在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,數(shù)據(jù)發(fā)送模塊確定所述第一報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文。
步驟5,數(shù)據(jù)發(fā)送模塊將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
在上述步驟1中,數(shù)據(jù)接收模塊判斷第一報文是否為待轉(zhuǎn)發(fā)報文時通過第一報文的ID值進(jìn)行判斷的,在數(shù)據(jù)接收模塊中預(yù)設(shè)存儲有每一種報文的ID值,通過接收到的第一報文的ID值與預(yù)設(shè)報文ID值進(jìn)行比較,在所述第一報文的ID值與預(yù)設(shè)ID值相同時,確定所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文;在所述第一報文的ID值與預(yù)設(shè)ID值不相同時,確定所述第一報文不為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文。
在步驟2中,數(shù)據(jù)接收模塊對第一報文對應(yīng)的預(yù)設(shè)標(biāo)志位進(jìn)行置位的意思是指將第一報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位更改為1,在未接收到該第一報文時,與第一報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位為0。與第一報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位時存儲在報文接收標(biāo)志變量中的,每一預(yù)設(shè)報文標(biāo)志位的初始狀態(tài)均是為0。
在步驟3中,預(yù)設(shè)時間間隔為5s。數(shù)據(jù)發(fā)送模塊每隔5s對報文接收標(biāo)志變量中的所有預(yù)設(shè)報文標(biāo)志位進(jìn)行一次檢測。當(dāng)檢測到存在已進(jìn)行置位的報文標(biāo)志位時,數(shù)據(jù)發(fā)送模塊從數(shù)據(jù)接收數(shù)據(jù)變量中讀取出該第一數(shù)據(jù)變量及其變量值,并根據(jù)預(yù)先設(shè)定的數(shù)據(jù)轉(zhuǎn)換關(guān)系對第一數(shù)據(jù)變量的變量值進(jìn)行轉(zhuǎn)換,進(jìn)而將第一數(shù)據(jù)變量的變量值轉(zhuǎn)換成滿足標(biāo)桿車型的控制系統(tǒng)要求的數(shù)據(jù)要求,保證標(biāo)桿車型的各個控制系統(tǒng)在接收到第一數(shù)據(jù)變量的變量值后能夠進(jìn)行正常工作。
在步驟4中,目標(biāo)地址是指將第一數(shù)據(jù)變量待發(fā)送的目標(biāo)總線,待發(fā)送報文與前述的第一報文的不同體現(xiàn)在報文ID、報文周期和報文校驗碼的不同。例如,待開發(fā)車型發(fā)動機(jī)轉(zhuǎn)速需要發(fā)送至標(biāo)桿車型的變速箱系統(tǒng)上,變速箱系統(tǒng)與網(wǎng)關(guān)控制器之間的總線即為此處的目標(biāo)地址;標(biāo)桿車型的車速需要發(fā)送給待開發(fā)車型發(fā)動機(jī)時,待開發(fā)車型發(fā)動機(jī)與網(wǎng)關(guān)控制器之間的總線即為此處的目標(biāo)地址。
在本發(fā)明實施例中的報文為CAN(控制器局域網(wǎng)絡(luò))報文。
通過上述的數(shù)據(jù)傳輸方法,能夠?qū)崿F(xiàn)對待開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型之間的數(shù)據(jù)交換,使得待開發(fā)車型發(fā)動機(jī)能夠滿足標(biāo)桿車型多個控制系統(tǒng)的驗證需求。
在本發(fā)明實施例中,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,所述數(shù)據(jù)轉(zhuǎn)發(fā)方法還包括:
數(shù)據(jù)接收模塊控制所述總線停止傳輸所述第一報文。
在本發(fā)明實施例中,對于CAN報文的接收是采用中斷處理的方式,以滿足數(shù)據(jù)更新的實時性。在數(shù)據(jù)接收模塊確定總線上傳輸?shù)牡谝粓笪臑榇D(zhuǎn)發(fā)報文后,數(shù)據(jù)接收模塊將該第一報文截取,使得總線上不再對發(fā)動機(jī)某次采集到的數(shù)據(jù)變量的變量值進(jìn)行傳輸。只有當(dāng)發(fā)動機(jī)再次采集到該種類型的數(shù)據(jù)變量的變量值時,總線上才會再次傳送該第一報文。
在本發(fā)明實施例中,第一報文是指發(fā)動機(jī)采集的同一種類型的數(shù)據(jù)變量在不同時刻的變量值。不同類型的數(shù)據(jù)變量以不同的報文形式進(jìn)行表示,不同類型的報文主要是通過報文字段形式體現(xiàn)出不同之處的。
在本發(fā)明實施例中,在將所述待轉(zhuǎn)發(fā)報文發(fā)送至目標(biāo)地址后,所述數(shù)據(jù)傳輸方法還包括:
數(shù)據(jù)發(fā)送模塊將所述第一報文對應(yīng)的所述預(yù)設(shè)報文標(biāo)志位進(jìn)行復(fù)位。
此處,對預(yù)設(shè)報文標(biāo)志位進(jìn)行置位是指將預(yù)設(shè)報文標(biāo)志位從1復(fù)位為0。由于數(shù)據(jù)發(fā)送模塊去檢測是否存在已進(jìn)行置位的報文標(biāo)志位是以“報文標(biāo)志位為1”為條件進(jìn)行檢測的,將進(jìn)行已經(jīng)轉(zhuǎn)發(fā)后的報文對應(yīng)的報文標(biāo)志位進(jìn)行復(fù)位,可以防止數(shù)據(jù)發(fā)送模塊在下一次循環(huán)檢測后,不會重復(fù)對之前已經(jīng)轉(zhuǎn)發(fā)過的數(shù)據(jù)變量及其變量值進(jìn)行再次轉(zhuǎn)發(fā)。
在本發(fā)明實施例中,步驟4,包括:
步驟401,確定所述目標(biāo)地址對所述第一數(shù)據(jù)變量的變量值的數(shù)據(jù)要求;
步驟402,根據(jù)所述數(shù)據(jù)要求,將所述第一數(shù)據(jù)變量的數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)數(shù)據(jù)值;
步驟403,將所述第一數(shù)據(jù)變量及其轉(zhuǎn)換后的目標(biāo)數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文。
在步驟401和步驟402中,目標(biāo)地址對于第一數(shù)據(jù)變量的變量值的數(shù)據(jù)要求包括:單位、偏差度、精度等。由于標(biāo)桿車型的控制系統(tǒng)對待開發(fā)車型對于同一數(shù)據(jù)變量的數(shù)據(jù)要求可能不相一致,因此,數(shù)據(jù)發(fā)送模塊在將第一數(shù)據(jù)變量的變量值向目標(biāo)地址發(fā)送之前,必須將第一數(shù)據(jù)變量的變量值進(jìn)行轉(zhuǎn)換,保證后續(xù)接收到該第一數(shù)據(jù)變量及其變量值的控制系統(tǒng)能夠識別出該參數(shù)的數(shù)值,保證后續(xù)的正常工作。
下面,以一事例,對本發(fā)明的數(shù)據(jù)傳輸方法進(jìn)行解釋說明,本發(fā)明實施例中,假設(shè)待開發(fā)車型發(fā)動機(jī)的扭矩需要傳輸給標(biāo)桿車型的變速箱系統(tǒng),在待開發(fā)車型發(fā)動機(jī)一側(cè),扭矩是以單位為牛每米(N.m)的力矩直接進(jìn)行輸出的;而在變速箱系統(tǒng)一側(cè),則是通過百分比的形式進(jìn)行輸出。此處,可以確定發(fā)動機(jī)扭矩及其數(shù)值即為需要網(wǎng)關(guān)控制器進(jìn)行轉(zhuǎn)發(fā)的數(shù)據(jù),扭矩的數(shù)據(jù)轉(zhuǎn)換關(guān)系為:
其中,x為變速箱系統(tǒng)一側(cè)扭矩的所占比值,A為扭矩在發(fā)動機(jī)系統(tǒng)一側(cè)的數(shù)值,B為一基準(zhǔn)扭矩,即一常數(shù)值。數(shù)據(jù)接收模塊通過報文的ID值進(jìn)行實時分析待開發(fā)車型發(fā)動機(jī)與網(wǎng)關(guān)控制器之間的總線上傳輸?shù)牡谝粓笪氖欠駷榘性摪l(fā)動機(jī)扭矩及其數(shù)值的待轉(zhuǎn)發(fā)報文。
在確定出第一報文為待轉(zhuǎn)發(fā)數(shù)據(jù)報文后,數(shù)據(jù)接收模塊將該第一報文中包含的發(fā)動機(jī)扭矩及其數(shù)值讀取出,并儲存至接收信號數(shù)據(jù)變量中;同時,將報文接收標(biāo)志位變量中的與第一報文對應(yīng)的報文標(biāo)志位由0置位為1。
數(shù)據(jù)發(fā)送模塊以5s為周期采集報文接收標(biāo)志位變量中是否有標(biāo)志位為1的報文標(biāo)志位,當(dāng)數(shù)據(jù)發(fā)送模塊檢測到存在標(biāo)志位為1的報文標(biāo)志位時(假設(shè)此處檢測到的已進(jìn)行置位的報文標(biāo)志位僅為發(fā)動機(jī)扭矩對應(yīng)的報文標(biāo)志位),數(shù)據(jù)發(fā)送模塊讀取模型數(shù)據(jù)轉(zhuǎn)換的中間數(shù)據(jù)變量中存儲的發(fā)動機(jī)數(shù)據(jù)轉(zhuǎn)換關(guān)系(即為上述的公式中記載的內(nèi)容),對發(fā)動機(jī)扭矩的數(shù)值變換為滿足變速箱系統(tǒng)的要求的數(shù)值和單位,最后,將進(jìn)行轉(zhuǎn)換后的發(fā)動機(jī)扭矩及其數(shù)值存儲至第二報文中,并將該第二報文發(fā)送至網(wǎng)關(guān)控制器與變速箱系統(tǒng)之間的總線上。
此處的第二報文與前述的第一報文的ID值、報文周期和報文校驗碼均不相同。
在需要將標(biāo)桿車型的各個控制系統(tǒng)一側(cè)的數(shù)據(jù)變量值傳輸給待開發(fā)車型發(fā)動機(jī)時,此時,數(shù)據(jù)發(fā)送模塊可以執(zhí)行上述數(shù)據(jù)接收模塊執(zhí)行的動作,而數(shù)據(jù)接收模塊則可以接收數(shù)據(jù)發(fā)送模塊執(zhí)行的上述動作。
通過對待開發(fā)車型發(fā)動機(jī)根據(jù)接收到的數(shù)據(jù)變量信息執(zhí)行的響應(yīng)動作和待開發(fā)車型發(fā)動機(jī)向標(biāo)桿車型的各個控制系統(tǒng)傳輸?shù)臄?shù)據(jù)變量信息來實現(xiàn)對發(fā)動機(jī)的性能測試。通過本發(fā)明實施例提供的數(shù)據(jù)傳輸方法,能夠?qū)崿F(xiàn)待開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型的各個控制系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)發(fā)與交換,實現(xiàn)對新開發(fā)車型發(fā)動機(jī)的性能測試。
應(yīng)當(dāng)指出的是,本發(fā)明提供的數(shù)據(jù)傳輸方法,還可以適用于新開發(fā)設(shè)計的汽車上的其他控制系統(tǒng)與標(biāo)桿車型上的各個控制系統(tǒng)之間的數(shù)據(jù)交互。
本發(fā)明第二實施例還提供了一種數(shù)據(jù)傳輸裝置,應(yīng)用于網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述數(shù)據(jù)傳輸裝置包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊;
數(shù)據(jù)接收模塊,用于從所述總線上接收第一報文,并判斷所述第一報文是否為待轉(zhuǎn)發(fā)數(shù)據(jù)報文;以及,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,對所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中;
數(shù)據(jù)發(fā)送模塊,用于以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位;以及,在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,確定所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文,并將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
優(yōu)選地,所述數(shù)據(jù)接收模塊還用于:在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,控制所述總線停止傳輸所述第一報文。
優(yōu)選地,所述數(shù)據(jù)發(fā)送模塊還用于在將所述待轉(zhuǎn)發(fā)報文發(fā)送至目標(biāo)地址后,將所述第一報文對應(yīng)的所述預(yù)設(shè)報文標(biāo)志位進(jìn)行復(fù)位。
參照圖,優(yōu)選地,所述數(shù)據(jù)接收模塊包括:
判斷單元,用于判斷所述第一報文的ID值與預(yù)設(shè)ID值是否相同;
第一確定單元,用于在所述第一報文的ID值與預(yù)設(shè)ID值相同時,確定所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文;
第二確定單元,用于在所述第一報文的ID值與預(yù)設(shè)ID值不相同時,確定所述第一報文不為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文。
優(yōu)選地,所述數(shù)據(jù)發(fā)送模塊包括:
第三確定單元,用戶確定所述目標(biāo)地址對所述第一數(shù)據(jù)變量的變量值的數(shù)據(jù)要求;
第一轉(zhuǎn)換單元,用于根據(jù)所述數(shù)據(jù)要求,將所述第一數(shù)據(jù)變量的數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)數(shù)據(jù)值;
第二轉(zhuǎn)換單元,用于將所述第一數(shù)據(jù)變量及其轉(zhuǎn)換后的目標(biāo)數(shù)據(jù)值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文。
本發(fā)明實施例所述的數(shù)據(jù)傳輸裝置,是與上述方法對應(yīng)的裝置,上述方法中的所有實現(xiàn)方式均適用于該裝置的實施例中,也能達(dá)到相同的技術(shù)效果。能夠?qū)崿F(xiàn)對待開發(fā)車型發(fā)動機(jī)與標(biāo)桿車型的各個控制系統(tǒng)之間的數(shù)據(jù)交互,實現(xiàn)對發(fā)動機(jī)的性能測試。
在本發(fā)明第三實施例中,提供了一種網(wǎng)關(guān)控制器,所述網(wǎng)關(guān)控制器通過總線,分別與待開發(fā)車型發(fā)動機(jī)以及標(biāo)桿車各個控制系統(tǒng)連接,所述網(wǎng)關(guān)控制器包括數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊;
數(shù)據(jù)接收模塊,用于從所述總線上接收第一報文,并判斷所述第一報文是否為待轉(zhuǎn)發(fā)數(shù)據(jù)報文;以及,在所述第一報文為預(yù)定義的待轉(zhuǎn)發(fā)數(shù)據(jù)報文時,對所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的預(yù)設(shè)報文標(biāo)志位進(jìn)行置位,并將所述第一報文中攜帶的第一數(shù)據(jù)變量及其變量值存儲至接收信號數(shù)據(jù)變量中;
數(shù)據(jù)發(fā)送模塊,用于以預(yù)設(shè)時間間隔檢測是否存在已進(jìn)行置位的報文標(biāo)志位;以及,在檢測到存在已進(jìn)行置位的報文標(biāo)志位時,確定所述待轉(zhuǎn)發(fā)數(shù)據(jù)報文對應(yīng)的目標(biāo)地址,并將所述第一數(shù)據(jù)變量及其變量值轉(zhuǎn)換為目標(biāo)地址對應(yīng)的待發(fā)送報文,并將所述待發(fā)送報文發(fā)送至所述目標(biāo)地址。
在本發(fā)明第三實施例中,網(wǎng)關(guān)控制器是基于Matlab/Simulink模型搭建完成的虛擬模型,通過計算機(jī)內(nèi)部程序搭建完成,經(jīng)過計算機(jī)內(nèi)部程序搭建完成的網(wǎng)關(guān)控制器的模型,下載至硬件平臺控制器中,待開發(fā)車型發(fā)動機(jī)和標(biāo)桿車型的各個控制系統(tǒng)的接口均與該硬件平臺控制器連接。在進(jìn)行數(shù)據(jù)傳輸之前,需要對網(wǎng)關(guān)控制器的虛擬模型進(jìn)行搭建。首先,需要確定出需要網(wǎng)關(guān)控制器進(jìn)行轉(zhuǎn)發(fā)的數(shù)據(jù)變量,以及該數(shù)據(jù)變量的傳輸途徑,例如,待開發(fā)車型發(fā)動機(jī)的扭矩需要轉(zhuǎn)送給標(biāo)桿車型的變速箱系統(tǒng),則確定扭矩的傳送途徑為發(fā)動機(jī)至變速箱系統(tǒng)。
不同的控制系統(tǒng)對于不同數(shù)據(jù)變量的數(shù)據(jù)形式要求不一樣,該數(shù)據(jù)形式可以為單位、偏差度、精度和網(wǎng)段信號長度等,需要預(yù)先確定好需要數(shù)據(jù)交互的系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換關(guān)系。仍以上述的發(fā)動機(jī)的扭矩的變量值需要轉(zhuǎn)發(fā)給變速箱系統(tǒng)舉例,假設(shè),發(fā)動機(jī)對扭矩以力矩的形式進(jìn)行輸出,而變速箱系統(tǒng)對于扭矩則是以百分比的形式進(jìn)行輸出,此處,發(fā)動機(jī)和變速箱系統(tǒng)對于扭矩的表現(xiàn)形式不相同,在網(wǎng)關(guān)控制器將其轉(zhuǎn)發(fā)給變速箱系統(tǒng)之前,需要對扭矩進(jìn)行換算。因此,需要預(yù)先設(shè)計出各個系統(tǒng)對不同數(shù)據(jù)變量的數(shù)據(jù)要求,確定好各個變量之間的換算方法,并將其預(yù)設(shè)在網(wǎng)關(guān)控制器中。
在完成上述工作后,則開始對網(wǎng)關(guān)控制器的模型環(huán)境進(jìn)行搭建,具體地,通常來說,網(wǎng)關(guān)控制器包括以下模塊:搭建硬件平臺配置模塊、模型編譯器配置模塊、執(zhí)行文件刷寫協(xié)議配置模塊,觸發(fā)模式配置模塊和CAN通道配置模塊。這些模塊的搭建配置是網(wǎng)關(guān)控制器模型功能實現(xiàn)的基礎(chǔ)環(huán)境。
當(dāng)對網(wǎng)關(guān)控制器的基礎(chǔ)運行環(huán)境搭建完畢后,需要對各個數(shù)據(jù)變量的存儲數(shù)據(jù)庫進(jìn)行搭建,需要對數(shù)據(jù)傳輸過程中的多個數(shù)據(jù)變量進(jìn)行定義,此處的數(shù)據(jù)變量起著與存儲器相同的作用,其包括:報文接收標(biāo)志變量、數(shù)據(jù)轉(zhuǎn)換的中間數(shù)據(jù)變量、接收信號數(shù)據(jù)變量和發(fā)送信號數(shù)據(jù)變量。數(shù)據(jù)庫模型中的數(shù)據(jù)變量是網(wǎng)關(guān)控制器模型中數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)傳遞的中間介質(zhì)。例如,數(shù)據(jù)接收模塊接收到的第一報文對應(yīng)的數(shù)據(jù)變量及其數(shù)據(jù)值存儲在接收報文數(shù)據(jù)變量中。
騾車網(wǎng)關(guān)控制器模型搭建完成后經(jīng)代碼生成工具和編譯軟件轉(zhuǎn)換成可執(zhí)行文件,下載到硬件平臺控制器中體現(xiàn)騾車網(wǎng)關(guān)控制器功能實現(xiàn)。
通過網(wǎng)關(guān)控制器的數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊執(zhí)行上述的一系列的動作,實現(xiàn)將待開發(fā)車型發(fā)動機(jī)和標(biāo)桿車型的各個控制系統(tǒng)之間的數(shù)據(jù)交互。并且,本發(fā)明第三實施例中的網(wǎng)關(guān)控制器,由于是通過模型進(jìn)行搭建的,可以根據(jù)具體的待測試部件對網(wǎng)關(guān)控制器中的參數(shù)進(jìn)行部分調(diào)節(jié),無需新設(shè)計對應(yīng)的網(wǎng)關(guān)控制器便可以滿足測試需求,能夠降低整車開發(fā)周期以及開發(fā)成本。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。