李璐 張明路 劉歡 張改萍 張小俊
(1.河北工業(yè)大學(xué),天津 300130;2.中國汽車技術(shù)研究中心,天津 300000)
主題詞:汽車網(wǎng)關(guān) 自動(dòng)化測試 仿真模型
隨著消費(fèi)者對(duì)汽車的動(dòng)力性、經(jīng)濟(jì)性、舒適性和安全性的要求越來越高[1-2],導(dǎo)致汽車中的控制模塊逐漸增多,控制的復(fù)雜性也不斷提高,傳輸?shù)臄?shù)據(jù)量增大,使得各模塊的信息交換更加密集。網(wǎng)關(guān)模塊作為不同CAN網(wǎng)段之間的交互通道,是保證整車正常運(yùn)行的關(guān)鍵,因此必須對(duì)其通信行為進(jìn)行測試和驗(yàn)證。
傳統(tǒng)的網(wǎng)關(guān)測試多為手動(dòng)測試,隨著傳感器數(shù)量的增多,手動(dòng)測試系統(tǒng)因連線困難[3],且測試時(shí)間長、誤差大,已不能滿足網(wǎng)關(guān)的測試需求?;诖?,設(shè)計(jì)了一種網(wǎng)關(guān)自動(dòng)化測試系統(tǒng),該測試系統(tǒng)采用仿真模型(Simulation Model)模擬被測樣件(DUT)所在網(wǎng)段的報(bào)文發(fā)送,可以最大限度地還原實(shí)車狀態(tài),使得測試結(jié)果更準(zhǔn)確可靠,實(shí)時(shí)性更好。
網(wǎng)關(guān)自動(dòng)化測試系統(tǒng)由測試平臺(tái)軟件CANoe和基于Labview軟件開發(fā)的測試管理系統(tǒng)組成。系統(tǒng)軟件邏輯架構(gòu)如圖1所示。
圖1 自動(dòng)測試系統(tǒng)軟件邏輯架構(gòu)
測試平臺(tái)軟件CANoe具有分布式系統(tǒng)設(shè)計(jì)、仿真、測試、評(píng)估等功能,且其自帶的數(shù)據(jù)管理工具CANdb++可創(chuàng)建和修改數(shù)據(jù)庫[4-5],其建模語言CAPL用于編寫測試腳本和Simulation Model。
測試管理系統(tǒng)具有控制程控電源等硬件的程控接口[5-8],用于人員管理測試、任務(wù)配置測試、數(shù)據(jù)統(tǒng)計(jì)、測試報(bào)告輸出等。
網(wǎng)關(guān)自動(dòng)化測試系統(tǒng)主要針對(duì)網(wǎng)關(guān)模塊(GW)的測試開發(fā),典型網(wǎng)關(guān)模塊GW一般包含動(dòng)力網(wǎng)段PCAN和車身網(wǎng)段BCAN,典型網(wǎng)關(guān)系統(tǒng)[4-7]如圖2所示。網(wǎng)關(guān)測試的主要任務(wù)是檢測PCAN與BCAN之間的信息交換,即網(wǎng)關(guān)路由。網(wǎng)關(guān)路由類型可細(xì)分為報(bào)文路由和信號(hào)路由[6]。實(shí)際測試時(shí),接入測試樣件網(wǎng)關(guān),利用CAPL編寫的Simulation Model對(duì)全網(wǎng)段節(jié)點(diǎn)總線通信進(jìn)行仿真,模擬網(wǎng)關(guān)實(shí)車網(wǎng)絡(luò)工作環(huán)境。
圖2 某廠家網(wǎng)關(guān)系統(tǒng)示意
網(wǎng)關(guān)自動(dòng)化測試系統(tǒng)測試流程為:
a. 導(dǎo)入測試所需各類文件,如DUT配置表、網(wǎng)關(guān)路由表、車載網(wǎng)絡(luò)通信數(shù)據(jù)庫(DBC)等;
b.配置測試任務(wù),點(diǎn)擊運(yùn)行按鈕開始測試;
c.系統(tǒng)按照測試腳本進(jìn)行電源控制、配置盒控制、總線仿真及監(jiān)控等工作;
d. 測試完成,自動(dòng)生成測試報(bào)告。
測試過程中會(huì)記錄包含總線信息的asc文件,根據(jù)asc文件中的報(bào)文或信號(hào)值及發(fā)送時(shí)間可對(duì)測試結(jié)果進(jìn)行驗(yàn)證。驗(yàn)證結(jié)束后,測試管理系統(tǒng)對(duì)測試數(shù)據(jù)進(jìn)行分析,為網(wǎng)關(guān)整改升級(jí)提供依據(jù)。
該測試系統(tǒng)硬件主要由機(jī)柜和臺(tái)架組成,機(jī)柜集成了Vector工具鏈、工控機(jī)、供電電源、示波器及配置盒等,臺(tái)架用于安裝被測樣件和負(fù)載,如圖3所示。
圖3中,Vector工具鏈包括總線測試設(shè)備VN1640A和總線干擾設(shè)備CANstressDR,VN1640A搭載的4路總線通道支持總線分析、總線仿真等工作,CANstressDR負(fù)責(zé)對(duì)總線進(jìn)行干擾從而產(chǎn)生錯(cuò)誤幀,在BusOff相關(guān)測試中使用,VN1640A與CANstressDR之間采用同步線連接,確保時(shí)間的一致性;示波器用于波形顯示、記錄及數(shù)據(jù)評(píng)價(jià);程控電源用于DUT及負(fù)載的供電,具備RS232或以太網(wǎng)接口,通過該接口控制電源輸出電壓的大小;配置盒具有總線終端電阻配置、制造和恢復(fù)線故障等功能。
圖3 系統(tǒng)硬件組成
CAN總線電阻配置通過繼電器控制,保證總線終端電阻的阻值為60 Ω。線故障包括CAN總線對(duì)電源和對(duì)地短路、CANH與CANL短路等。CAN總線采用實(shí)車雙絞線束,以提高總線抗干擾能力[9]。
測試系統(tǒng)程序主要包括信息交互程序、測試腳本和Simulation Model三部分。信息交互程序承擔(dān)測試管理系統(tǒng)與測試平臺(tái)軟件CANoe之間的交互、測試管理系統(tǒng)與被控硬件的交互[10-11]、網(wǎng)關(guān)路由表信息提取等工作。
網(wǎng)關(guān)測試前需要填寫網(wǎng)關(guān)路由表,填寫示例見表1。表1中“路由屬性”列的0、1、2、3分別對(duì)應(yīng)無關(guān)報(bào)文路由、相關(guān)報(bào)文路由、無關(guān)信號(hào)路由和相關(guān)信號(hào)路由。通過測試管理系統(tǒng)可將表中的信息提取為ANeT_WG_ROUTinfo.cin文件,便于測試系統(tǒng)的測試調(diào)用。
表1 網(wǎng)關(guān)路由表(示例)
測試腳本為測試系統(tǒng)程序的核心部分,其作用是控制硬件配置測試環(huán)境、控制測試邏輯、規(guī)定評(píng)價(jià)標(biāo)準(zhǔn)、記錄測試數(shù)據(jù)等。其中測試邏輯根據(jù)測試用例編寫,應(yīng)符合測試廠家《網(wǎng)關(guān)自動(dòng)化測試規(guī)范》的要求。
Simulation Model用于模擬網(wǎng)段節(jié)點(diǎn)報(bào)文的發(fā)送與停止,其仿真數(shù)據(jù)來源于網(wǎng)關(guān)所包含的網(wǎng)段DBC。DBC包含節(jié)點(diǎn)報(bào)文的ID、周期等信息。Simulation Model不僅可以控制節(jié)點(diǎn)及報(bào)文的發(fā)送與停止,還可以實(shí)時(shí)改變信號(hào)值。由于網(wǎng)關(guān)路由對(duì)時(shí)間要求較嚴(yán)格,因此,在報(bào)文或信號(hào)的信息采集時(shí),得到源網(wǎng)段與目標(biāo)網(wǎng)段之間信號(hào)轉(zhuǎn)發(fā)時(shí)間的差值是測試難點(diǎn),而Simulation Model中信號(hào)值的不斷變化,再加上恰當(dāng)?shù)乃惴▽?duì)數(shù)據(jù)進(jìn)行處理,可以較容易得到該時(shí)間差值。
網(wǎng)關(guān)測試用例主要分為相關(guān)路由報(bào)文測試、無關(guān)路由報(bào)文測試、相關(guān)路由信號(hào)測試、無關(guān)路由信號(hào)測試4類。對(duì)于報(bào)文路由,需要檢測整幀報(bào)文值,而對(duì)于信號(hào)路由,則需要從記錄的報(bào)文值中提取信號(hào)值。
CAN總線編碼格式分為Motorola(大結(jié)尾格式)及Intel(小結(jié)尾格式)兩種[6-7],提取時(shí)需要不同的提取策略。報(bào)文編碼格式如圖4所示。
圖4 報(bào)文編碼格式
a.相關(guān)報(bào)文正常路由行為。該測試用例的測試流程為:提取相關(guān)路由報(bào)文的信息,包括源網(wǎng)段、目標(biāo)網(wǎng)段、報(bào)文ID、報(bào)文周期等;控制供電電源輸出14.5V電壓為DUT供電;模擬相關(guān)路由報(bào)文及其他非路由報(bào)文的發(fā)送,并每發(fā)送一幀相關(guān)路由報(bào)文就改變其報(bào)文值;同時(shí)監(jiān)測源網(wǎng)段和目標(biāo)網(wǎng)段,記錄轉(zhuǎn)發(fā)是否正確,若正常轉(zhuǎn)發(fā),則檢測其轉(zhuǎn)發(fā)報(bào)文值是否正確;檢測完成后停止模擬報(bào)文的發(fā)送。相關(guān)報(bào)文正常路由行為測試流程如圖5所示。
測試過程中進(jìn)行源網(wǎng)段與目標(biāo)網(wǎng)段的報(bào)文ID及qword(0)值對(duì)比,若路由間隔時(shí)間Δt后所記錄目標(biāo)的ID與源ID一致,則結(jié)果正確。
圖5 相關(guān)報(bào)文正常路由行為測試流程圖
b.源網(wǎng)段總線對(duì)電源短路時(shí)的相關(guān)報(bào)文路由行為。該測試用例的測試流程為:提取相關(guān)路由報(bào)文信息;控制供電電源輸出14.5 V電壓為DUT供電;模擬相關(guān)路由報(bào)文及其它非路由報(bào)文的發(fā)送,并每發(fā)送一幀相關(guān)路由報(bào)文就改變其報(bào)文值;控制配置盒制造CANH對(duì)電短路故障,一定時(shí)間后再制造CANL對(duì)電源短路的故障,記錄網(wǎng)關(guān)所包含網(wǎng)段的報(bào)文發(fā)送;控制配置盒恢復(fù)CANH對(duì)電源短路故障,一定時(shí)間后再制造CANL對(duì)電源短路故障,記錄網(wǎng)關(guān)所包含網(wǎng)段的報(bào)文發(fā)送;控制配置盒恢復(fù)CANL對(duì)電源短路故障,一定時(shí)間后再制造CANH與CANL同時(shí)對(duì)電源短路故障,記錄網(wǎng)關(guān)所包含網(wǎng)段的報(bào)文發(fā)送;控制配置盒清除故障。源網(wǎng)段總線對(duì)電源短路時(shí)的相關(guān)報(bào)文路由行為測試流程如圖6所示。
圖6 源網(wǎng)段總線對(duì)電源短路時(shí)的相關(guān)報(bào)文路由行為測試流程
在源網(wǎng)段總線故障下,目標(biāo)網(wǎng)段不發(fā)送Error Frame,且故障消除后恢復(fù)正常路由的時(shí)間應(yīng)滿足Trecover≤300 ms。
利用該測試系統(tǒng)對(duì)某廠家的網(wǎng)關(guān)樣件進(jìn)行了測試,3次不同故障恢復(fù)時(shí)間分別為T1=20.23 ms、T2=190.85 ms、T3=202.52 ms。標(biāo)準(zhǔn)恢復(fù)時(shí)間為ST=300 ms,考慮繼電器動(dòng)作時(shí)間,則偏差時(shí)間為Δt=3 ms,則誤差a為:
將各值帶入式(1),得測試誤差為1%左右,廠家要求的誤差范圍為±10%,則該測試精度滿足要求。
c.無關(guān)信號(hào)路由丟幀率。該測試用例的測試流程為:提取無關(guān)路由信號(hào)信息;控制供電電源輸出14.5 V電壓為DUT供電;在其它報(bào)文正常模擬發(fā)送情況下,模擬源網(wǎng)段發(fā)送無關(guān)路由信號(hào)5 000幀;記錄目標(biāo)網(wǎng)段的相應(yīng)報(bào)文轉(zhuǎn)發(fā)數(shù)量RoutCount。無關(guān)信號(hào)路由丟幀率測試流程見圖7。
丟幀率rate計(jì)算式為:
式中,R為源網(wǎng)段報(bào)文周期與目標(biāo)網(wǎng)段相應(yīng)報(bào)文周期的比值;SC為源網(wǎng)段報(bào)文周期;TC為目標(biāo)網(wǎng)段報(bào)文周期;TN為目標(biāo)網(wǎng)段報(bào)文轉(zhuǎn)發(fā)數(shù)量。
測試過程中記錄源網(wǎng)段與目標(biāo)網(wǎng)段的報(bào)文數(shù)量,通過式(2)計(jì)算丟幀率,其應(yīng)滿足rate≤0.1%。利用該測試系統(tǒng)對(duì)某廠家的網(wǎng)關(guān)樣件進(jìn)行了測試,通過與手動(dòng)測試對(duì)比表明,該網(wǎng)關(guān)自動(dòng)化測試系統(tǒng)的測試結(jié)果無關(guān)信號(hào)丟幀率為0%,即轉(zhuǎn)發(fā)未丟失。
為提高汽車網(wǎng)關(guān)模塊測試效率,設(shè)計(jì)了聯(lián)合Simulation Model的網(wǎng)關(guān)自動(dòng)化測試系統(tǒng)。該測試系統(tǒng)以CANoe和LabVIEW作為基礎(chǔ)軟件,使用CAPL語言進(jìn)行測試程序編寫,執(zhí)行效率高且便于進(jìn)行二次開發(fā)。經(jīng)過實(shí)際使用和測試驗(yàn)證表明,與手動(dòng)測試相比,該系統(tǒng)操作簡便,測試內(nèi)容比更加全面,且測試結(jié)果無關(guān)信號(hào)丟幀率為0%,較好地完成了汽車網(wǎng)關(guān)模塊的測試。本系統(tǒng)擴(kuò)展性較強(qiáng),可實(shí)現(xiàn)諸如CAN單節(jié)點(diǎn)、CAN系統(tǒng)集成、網(wǎng)絡(luò)管理等測試。