朱 龍, 周 旋, 王 凱, 黃 帥
(徐州徐工汽車制造有限公司, 江蘇 徐州 221100)
汽車技術(shù)在朝著電子化發(fā)展的過程中,車載ECU(Electronic Control Unit,電子控制單元) 的數(shù)量必然急劇增加。ECU通信過程中,為防止其他節(jié)點未在線或處于故障狀態(tài)而導(dǎo)致網(wǎng)絡(luò)信號的丟失,專門的網(wǎng)絡(luò)管理機制隨之出現(xiàn)[1]。網(wǎng)絡(luò)管理機制不僅能夠保證ECU間通信的穩(wěn)定,也可以作為休眠喚醒的管理機制,使ECU適時地進入靜態(tài)功耗狀態(tài)[2]。
汽車軟件標準OESK/VDX規(guī)范提供了兩種網(wǎng)絡(luò)管理機制,直接網(wǎng)絡(luò)管理和間接網(wǎng)絡(luò)管理,統(tǒng)稱OSEK網(wǎng)絡(luò)管理。間接網(wǎng)絡(luò)管理基本沒有節(jié)點間的通信控制邏輯,而直接網(wǎng)絡(luò)管理涉及較為復(fù)雜的測試邏輯,因此也是本系統(tǒng)測試的重點。OSEK網(wǎng)絡(luò)管理定義了NM通信報文,以特定ID作為與其他應(yīng)用報文的區(qū)分,并為報文設(shè)定了特定數(shù)據(jù)內(nèi)容。
網(wǎng)絡(luò)管理 (Network Management,簡稱NM) 測試主要關(guān)注NM報文格式、NM時間參數(shù)測試和NM管理邏輯測試。下文將會詳細討論OSEK NM的測試內(nèi)容和方法。
通過分析OSEK網(wǎng)絡(luò)管理的需求規(guī)范,確定NM一致性測試的測試內(nèi)容及方法。
如圖1所示為OSEK網(wǎng)絡(luò)管理狀態(tài)跳轉(zhuǎn)示意圖,網(wǎng)絡(luò)管理狀態(tài)如下:NM Off、NM On、NM ShutDown,其中NM On狀態(tài)下,又分為NM Iinit、NM Awake、NM BusSleep三種子狀 態(tài) , NM Awake 又 包 含 NM Reset、 NM Normal、 NM LimpHome三種狀態(tài)。
圖1 OSEK網(wǎng)絡(luò)管理狀態(tài)跳轉(zhuǎn)示意圖
OSEK通過讓各節(jié)點建環(huán)的形式進行網(wǎng)絡(luò)的管理,如網(wǎng)段上包含A、B、C三個節(jié)點,則邏輯環(huán)為A-B-C-A,如此循環(huán)往復(fù)。為滿足NM通信需求,OSEK定義了3種NMPDU (網(wǎng)絡(luò)管理數(shù)據(jù)幀):Alive、Ring、LimpHome報文,并定義了幾個重要時間參數(shù),見表1。
表1 OSEK網(wǎng)絡(luò)管理參數(shù)
根據(jù)上述,可以設(shè)計一致性測試用例,本系統(tǒng)涵蓋50+條OSEK NM測試用例,覆蓋范圍廣泛,測試用例劃分為以下幾部分。
1) NM報文格式測試,如Alive報文格式、Ring報文格式、Limphome報文格式測試等。
2) NM 時 間 參 數(shù) 測 試 : 如 T_Typ、 T_Max、T_Error、T_WaitBusSleep等時間測試。
3) 邏輯環(huán)測試:如邏輯環(huán)建立、異常Ring報文干擾等測試。
4) 狀態(tài)跳轉(zhuǎn)測試:如Normal狀態(tài)下睡眠響應(yīng)、Limphome狀態(tài)下睡眠響應(yīng)、Limphome復(fù)位、睡眠中斷等測試。
基于以上測試需求,本文設(shè)計了一套車載電控單元網(wǎng)絡(luò)管理自動化測試設(shè)備。設(shè)備以CANoe為軟件平臺,輔以針對測試而開發(fā)的OSEK NM通信模型,實現(xiàn)NM的自動化測試。較手動測試而言,該設(shè)備具有自動化程度高、通用性強、執(zhí)行效率高等優(yōu)點,通過NM通信模型的加入,可以模擬各種NM邏輯,使測試范圍覆蓋度遠遠高于手動測試。
該測試設(shè)備基于測試內(nèi)容設(shè)計,由測試執(zhí)行軟件、硬件系統(tǒng)、NM通信模型、測試腳本4部分組成。
測試執(zhí)行軟件選用Vector公司的CANoe軟件。CANoe具有分布式系統(tǒng)設(shè)計、仿真、測試、評估等功能,支持CAN總線通信仿真模型編寫[3]。本設(shè)備應(yīng)用到CANoe的CAPL編程環(huán)境,進行NM通信模型及測試腳本的開發(fā)。
測試硬件系統(tǒng)包括總線接口卡、測試配置板卡、程控電源等,硬件通過開發(fā)程控包,可在CANoe中直接調(diào)用,例如配置測試終端電阻,通過串口進行供電電源的電壓輸出控制等[4]。測試配置示意如圖2所示,虛線框內(nèi)為通過測試配置板卡控制的可選終端電阻。
圖2 測試配置示意圖
NM通信模型由CAPL開發(fā),因此可以與下位機執(zhí)行軟件無縫銜接。NM通信模型實現(xiàn)OSEK網(wǎng)絡(luò)管理的虛擬節(jié)點在線仿真功能,如可以建立OSEK虛擬邏輯環(huán)、邏輯環(huán)異常干擾等,如圖3所示。虛擬節(jié)點支持對NM報文的信號值、周期等參數(shù)進行設(shè)置,以滿足不同的測試項要求,這些模型參數(shù)的調(diào)整接口在測試腳本中能夠直接調(diào)用。
圖3 OSEK NM通信模型示意圖
測試腳本同樣基于CAPL編寫,因此可與NM通信模型聯(lián)合運行在CANoe平臺上進行NM測試。
假定測試ECU的NM網(wǎng)絡(luò)管理報文ID為0x627,則設(shè)置NM通信模型主要參數(shù)如表2所示。根據(jù)測試需求,可以提煉出幾種模型狀態(tài)定義,如圖4所示。
表2 OSEK NM模型參數(shù)
圖4 OSEK NM通信模型定義
測試用例實現(xiàn)的過程,就是根據(jù)不同測試目的,調(diào)整NM通信模型,實現(xiàn)數(shù)據(jù)驗證。因測試條目較多,因此選擇兩個比較典型的測試用例加以說明。
1) 插入指向ECU的Ring報文測試。
首先,為ECU供電,使ECU喚醒;調(diào)用VirNode建環(huán)模型,使ECU與編號1~3的虛擬節(jié)點建立正常的邏輯環(huán);然后調(diào)用VirNode異常干擾模型,即插入編號4的虛擬節(jié)點,且設(shè)置VirNode4.Byte (0) =0x27,VirNode4.OpCode=0x2,即指向ECU的Ring報文;最后觀察ECU發(fā)送報文狀態(tài)。
2) Normal狀態(tài)進入睡眠時NM喚醒中斷測試。
首先,為ECU供電,使ECU喚醒;調(diào)用VirNode建環(huán)模型,使ECU與編號1~3的虛擬節(jié)點建立正常的邏輯環(huán);然后改變ECU供電狀態(tài),使其滿足睡眠條件,則ECU發(fā)送帶有睡眠請求的Ring報文;之后調(diào)用VirNode睡眠響應(yīng)模型,滿足總線睡眠;在T_WaitBusSleep時間內(nèi),調(diào)用VirNode睡眠中斷模型,即重新使編號1的模擬節(jié)點上線,發(fā)送VirNode1.Byte(0)=0x28,VirNode1.OpCode=0x1的Alive報文;最后觀察ECU發(fā)送報文狀態(tài)。
因OSEK NM的測試條目總和達到了50條以上的規(guī)模,因此本節(jié)也只選取了兩個典型的測試案例進行分析說明。
測試描述:驗證T_WaitBusSleep時間參數(shù)的偏差。
評價標準:T_WaitBusSleep時間應(yīng)滿足在4~6s時間內(nèi)。測試結(jié)果分析如下。
1) 如圖5所示,ECU在時間戳940.396s發(fā)送了睡眠幀,但是在之后又發(fā)送了一幀ID為0x2C9的應(yīng)用幀,不滿足OSEK的要求。
圖5 T_WaitBusSleep時間測試數(shù)據(jù)1
2) 如圖6所示,在時間戳945.397s出現(xiàn)ECU不應(yīng)答的發(fā)送錯誤幀,說明ECU進入睡眠狀態(tài),則T_WaitBusSleep時間為睡眠幀到出現(xiàn)錯誤幀的時間差,即5.001s。
圖6 T_WaitBusSleep時間測試數(shù)據(jù)2
綜合1)、2) 結(jié)果分析,該項測試結(jié)果為錯誤,雖然T_WaitBusSleep時間正確,但是睡眠幀發(fā)出后,ECU應(yīng)停止發(fā)送所有報文,因此狀態(tài)錯誤。
測試用例:Limphome狀態(tài)進入睡眠時NM喚醒中斷測試。
測試描述:驗證在ECU從Limphome狀態(tài)進入睡眠模式過程中,接收到NM報文時的睡眠中斷反應(yīng)。
評價標準:T_WaitBusSleep時間內(nèi),接收到NM報文時,ECU能被喚醒,并重新發(fā)送Limphome報文。
測試結(jié)果分析如下。
1) 如圖7所示,在時間戳1866.971s接收到NM報文,ECU在1867.962s發(fā)出自身NM報文。
圖7 OSEK NM總線數(shù)據(jù)
2) 喚醒后,ECU仍然處于limphome狀態(tài)。喚醒后ECU.OpCode=0x14。
綜合1)、2) 評價,本項測試結(jié)果正確。
基于OSEK/VDX網(wǎng)絡(luò)管理規(guī)范開發(fā)的車載電控單元OSEK網(wǎng)絡(luò)管理測試設(shè)備,通過開發(fā)NM通信模型的設(shè)計理念,使系統(tǒng)對于OSEK網(wǎng)絡(luò)管理的測試更智能、更準確,且能覆蓋更多的測試用例。通過驗證,該設(shè)備能夠準確的完成網(wǎng)絡(luò)管理測試,且比人工測試縮短3倍以上的時間,因此極大提高了OSEK網(wǎng)絡(luò)管理的整體測試效率。