国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CANoe的CAN總線網(wǎng)關(guān)測試模型的設(shè)計

2019-05-30 03:46覃華強周志良
汽車電器 2019年5期
關(guān)鍵詞:報文網(wǎng)關(guān)總線

覃華強,蘇 凱,周志良

(1.上汽通用五菱汽車股份有限公司,廣西 柳州 545007;2.中國汽車技術(shù)研究中心有限公司,天津 300300)

隨著汽車電子技術(shù)的發(fā)展,汽車電子電器架構(gòu)日趨復(fù)雜,從而導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,一個網(wǎng)段的車載CAN總線網(wǎng)絡(luò)架構(gòu)已經(jīng)無法滿足目前車輛功能的需求,需要通過網(wǎng)關(guān)連接多個網(wǎng)段的網(wǎng)絡(luò)通信,在車載網(wǎng)絡(luò)中具有非常重要的作用。在汽車量產(chǎn)之前,網(wǎng)關(guān)必須進行嚴格的網(wǎng)絡(luò)性能測試,只有測試驗證沒有問題之后才能認可通過,成為量產(chǎn)件。測試工作的嚴謹性重點體現(xiàn)在測試方式上,所以測試模型在測試中便顯得十分重要。

1 網(wǎng)關(guān)測試模型概述

CANoe是德國Vector公司開發(fā)的系統(tǒng)級總線軟件開發(fā)工具,它能支持總線開發(fā)的整個過程,從最初的設(shè)計、仿真到最終的分析測試。通過Vector的CAN總線硬件接口卡CANcaseXL/CANcardXL可以實現(xiàn)虛擬總線與物理總線的連接。也可以利用CANoe進行基于全部虛擬節(jié)點的全數(shù)字總線仿真和物理節(jié)點與虛擬節(jié)點相結(jié)合的半實物仿真,還可以對真實物理總線的通信進行實時監(jiān)控與分析[2-3]。

基于CANoe的虛擬節(jié)點與實物相結(jié)合的仿真功能,開發(fā)出來的CAN總線網(wǎng)關(guān)測試模型主要包含以下幾個部分:①整車網(wǎng)絡(luò)所有節(jié)點的數(shù)據(jù)庫 (dbc)文件;② 整車網(wǎng)絡(luò)虛擬節(jié)點;③ 控制面板;④ 信號發(fā)生器;⑤ 結(jié)果輸出窗口;⑥ 報文監(jiān)控窗口。測試模型總體界面如圖1所示。

2 方案設(shè)計

車載網(wǎng)絡(luò)中通信報文欲從源網(wǎng)段傳輸?shù)侥繕司W(wǎng)段,那么兩個網(wǎng)段之間必須要有網(wǎng)關(guān)進行轉(zhuǎn)發(fā)。首先,網(wǎng)關(guān)需要對源網(wǎng)段上的報文進行篩選,只有篩選出的有效報文才能從源網(wǎng)段轉(zhuǎn)發(fā)到目標網(wǎng)段。網(wǎng)關(guān)接收到有效報文之后,按照規(guī)定的時間轉(zhuǎn)發(fā)到目標網(wǎng)段。網(wǎng)關(guān)在進行報文轉(zhuǎn)發(fā)的過程中,報文不能出現(xiàn)丟失、周期錯誤和信息改變等情況。

綜上所述,CANoe建立的測試模型,需要實時檢測被網(wǎng)關(guān)轉(zhuǎn)發(fā)報文的ID、信號值、數(shù)據(jù)長度和周期,如果發(fā)生了變化,網(wǎng)關(guān)不應(yīng)該將產(chǎn)生錯誤的報文轉(zhuǎn)發(fā)至目標網(wǎng)段。同時,測試模型還需要實時監(jiān)測需要轉(zhuǎn)發(fā)的ID報文在源網(wǎng)段的數(shù)目與目標網(wǎng)段上的數(shù)目,如果二者數(shù)目不一致,則說明網(wǎng)關(guān)在轉(zhuǎn)發(fā)報文的時候出現(xiàn)丟幀的情況;對于報文路由的延遲時間情況,網(wǎng)關(guān)在源網(wǎng)段接收到需要轉(zhuǎn)發(fā)的報文后,應(yīng)該在規(guī)定時間內(nèi)將此報文無任何改變地轉(zhuǎn)發(fā)到目標網(wǎng)段上。這就要求仿真模型實時對報文路由時間進行檢測,路由延遲時間超過設(shè)定值時,網(wǎng)關(guān)測試模型應(yīng)該在結(jié)果輸出界面打印出超時報文的時間戳。每個測試用例測試結(jié)束之后,測試模型將整個測試記錄數(shù)據(jù)和結(jié)果保存下來。

圖1 測試模型總體界面

3 網(wǎng)關(guān)測試模型搭建

整車網(wǎng)絡(luò)通信網(wǎng)段超過兩個時才需要網(wǎng)關(guān)進行連接。如本文舉出兩個網(wǎng)段的車載網(wǎng)絡(luò)例子,將其中一個網(wǎng)段定義為HS_CAN1,另一個網(wǎng)段定義為HS_CAN2。HS_CAN1網(wǎng)段具有:PCU(動力控制單元)、ABS(防抱死制動系統(tǒng))和HCU(隨動前照燈控制單元)等電子控制單元;HS_CAN2網(wǎng)段具有:BCM (車身控制模塊)、IC(儀表組合)、ACM(自動空調(diào)控制模塊)等電子控制單元。兩個網(wǎng)段的數(shù)據(jù)交互通過Gateway(網(wǎng)關(guān),簡稱GW)實現(xiàn),如圖2所示。

圖2 車載網(wǎng)絡(luò)通信結(jié)構(gòu)

由于采用虛擬節(jié)點相結(jié)合的半實物仿真模型測試網(wǎng)關(guān),需要在CANoe中建立虛擬網(wǎng)絡(luò)節(jié)點。虛擬節(jié)點架構(gòu)如圖3所示。

圖3 虛擬節(jié)點架構(gòu)

通過CAPL ECU和Test Module/TestUnit,CANoe可以往虛擬總線或真實總線上發(fā)送報文,CAPL ECU需要使用CAPL語言進行編程生成.can文件,調(diào)用發(fā)送報文指令output(),使能虛擬節(jié)點往虛擬總線發(fā)送報文或往真實總線發(fā)送報文。在CAPL ECU中也可以使用建立好的dbc文件和內(nèi)置的IL接口,直接將編寫好的整個ECU的報文發(fā)送到總線。Test Module/TestUnit也需要使用CAPL語言進行編程生成.can文件才可以發(fā)送報文。如果要人為手動改變發(fā)送報文內(nèi)的信號值,需要借助Panel(控制面板)直接對CAPL ECU和Test Module/TestUnit內(nèi)的報文信號進行賦值。在CAPL ECU中,如果調(diào)用dbc文件和內(nèi)置IL接口發(fā)送報文,可以在信號發(fā)生界面對報文信號進行賦值[4-6]。

3.1 建立網(wǎng)絡(luò)各個節(jié)點dbc文件

dbc文件作為CANoe的數(shù)據(jù)庫,CANoe在接收來自總線的報文時,可根據(jù)數(shù)據(jù)庫內(nèi)的定義對接收的報文進行解析,CANoe也可以調(diào)用dbc文件內(nèi)的報文信息,進行報文發(fā)送。

標準的dbc文件應(yīng)該包含:節(jié)點名稱、節(jié)點包含的收發(fā)報文、報文ID、報文數(shù)據(jù)長度、報文信號、報文發(fā)送類型和報文發(fā)送周期等。由于是雙網(wǎng)段通信結(jié)構(gòu),建立dbc文件時需要建立兩個dbc文件,建立好的dbc文件如圖4所示。

圖4 dbc文件

3.2 建立控制界面

控制面板操作實質(zhì)上是修改系統(tǒng)變量或是環(huán)境變量信息的一種手段,控制面板上的按鍵或是信息輸入框均是直接關(guān)聯(lián)相關(guān)變量。操作控制面板就是改變環(huán)境變量或信號的數(shù)值,修改的變量或信號會觸發(fā)虛擬節(jié)點設(shè)定的對應(yīng)功能,從而實現(xiàn)控制測試進程的目的。

需要在dbc文件中建立的系統(tǒng)變量有:Message_Lost_Rate;Route_Delay;……

在控制面板界面建立的控制按鈕關(guān)聯(lián)相應(yīng)的環(huán)境變量有:按鍵Route_Delay關(guān)聯(lián)系統(tǒng)變量Route_Delay;按鍵Message_Lost_Rate關(guān)聯(lián)系統(tǒng)變量Message_Lost_Rate。設(shè)計效果如圖5所示。

圖5 控制面板界面

環(huán)境變量實例。觸發(fā)按鍵Route_Delay,會直接觸發(fā)路由延遲時間用例的測試,如下所示:

on sysvar//獲取環(huán)境變量 (按鍵)狀態(tài)

sysvar::Gateway_Tester::Route_Delay

{

if (@sysvar::Gateway_Tester::Route_Delay)

ILControlStart ();//開始測試

else

ILControlStop ();//停止測試

}

3.3 建立虛擬節(jié)點

虛擬節(jié)點的建立包括:網(wǎng)絡(luò)虛擬節(jié)點的建立和測試節(jié)點的建立。網(wǎng)絡(luò)虛擬節(jié)點的建立就是在Simulation網(wǎng)絡(luò)上建立虛擬節(jié)點 (即:節(jié)點BCM、IC、ACM),虛擬節(jié)點可以模擬發(fā)出對應(yīng)真實節(jié)點的報文。測試節(jié)點 (即:節(jié)點CAN1_Test)主要是由.can文件組成,文件中集成了測試網(wǎng)關(guān)的所有算法和策略。建立好的虛擬節(jié)點結(jié)構(gòu)如圖6所示。

圖6 虛擬節(jié)點結(jié)構(gòu)

在對真實網(wǎng)關(guān)模塊進行實際測試時,需要將虛擬的Gateway節(jié)點進行屏蔽處理,通過硬件CANcase接口接入真實的網(wǎng)關(guān)。

3.4 配置信號發(fā)生器

信號發(fā)生器可以直接給即將發(fā)送的報文信號值進行賦值,信號值變化規(guī)律可以根據(jù)信號發(fā)生器內(nèi)設(shè)置的變化類型進行改變,也可以根據(jù)用戶自己定義的變化類型進行信號值設(shè)置。如圖7所示,報文的所有信號值被設(shè)置為隨機數(shù)模式。

圖7 信號發(fā)生器

3.5 監(jiān)控與結(jié)果輸出 (圖8)

監(jiān)控界面 (即:trace界面)能夠?qū)崟r監(jiān)控總線上報文的信息,總線上任意時刻的報文都會顯示在此界面上。監(jiān)控界面的信息會生成trace文件,以便測試完成后,測試人員對測試中出現(xiàn)的問題進行復(fù)查分析。

結(jié)果輸出界面 (即:write界面),在輸出界面中可以打印出測試結(jié)果,輸出的內(nèi)容可以保存為.txt文件。在測試模型節(jié)點的.can文件中,通過write();函數(shù)可以測試結(jié)果或者是其他重要提示信息打印的輸出界面中。

圖8 監(jiān)控與結(jié)果輸出界面

4 結(jié)束語

目前,在一些較為高端的汽車當中,車載網(wǎng)絡(luò)已經(jīng)擴展到了5路網(wǎng)段。為了滿足轉(zhuǎn)發(fā)報文數(shù)目不斷增加的要求,網(wǎng)關(guān)的路由報文能力被不斷提高。后續(xù)車型設(shè)計中,網(wǎng)關(guān)還會加入以太網(wǎng)、MOST總線、FlexRay總線和CANFD等,由此,網(wǎng)關(guān)測試的重要性會提升一個級別,測試模型也會不斷更新與升級。

猜你喜歡
報文網(wǎng)關(guān)總線
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
以太網(wǎng)QoS技術(shù)研究及實踐
智能燃氣表物聯(lián)網(wǎng)運行體系網(wǎng)關(guān)技術(shù)研究
基于FPGA的工業(yè)TSN融合網(wǎng)關(guān)設(shè)計
大規(guī)模低軌衛(wèi)星網(wǎng)絡(luò)移動性管理方案
基于Python的汽車CAN總線報文格式轉(zhuǎn)換系統(tǒng)的設(shè)計與實現(xiàn)
一種主從冗余網(wǎng)關(guān)的故障模式分析與處理
關(guān)于CAN總線的地鐵屏蔽門控制思路論述
基于報文類型的限速值動態(tài)調(diào)整
Q&A熱線