宋磊鋒,陳姿霖,張龍崗
(陜西重型汽車有限公司汽車工程研究院,陜西 西安 710200)
基于示波器的實車網(wǎng)絡自動化測試系統(tǒng)開發(fā)
宋磊鋒,陳姿霖,張龍崗
(陜西重型汽車有限公司汽車工程研究院,陜西 西安 710200)
介紹利用示波器實現(xiàn)CAN網(wǎng)絡自動化測試的思路和方法,比較不同方案的優(yōu)缺點,系統(tǒng)地闡述整個開發(fā)過程。
測試;自動化測試;示波器;測試軟件
隨著汽車控制器數(shù)量增多,為了各控制器間協(xié)同工作,大部分控制器(如BCM、DCM、IC、VCU等)都具有CAN、LIN通信功能。在使用CAN、LIN這種數(shù)據(jù)高速公路進行數(shù)據(jù)高速、可靠交換時,必須保證這條高速公路的穩(wěn)定、安全;通常,這些控制器開發(fā)完成后會進行單節(jié)點的CAN網(wǎng)絡測試,包括了物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、應用層等各方面完整測試,此階段可以用自動化測試機柜或手動測試的方法進行測試;在樣車試制階段,會將所有控制器裝配在實車上,驗證功能的同時,需要進行整車網(wǎng)絡測試,此時大多數(shù)進行物理層測試,由于無法接入自動化測試機柜,此階段基本上只能以手動測試的方法進行測試。
在實車上進行手動網(wǎng)絡測試時,使用的工具為示波器、萬用表、CANoe、電腦。測試項為CANH,CANL,CANdiff的隱性輸出電壓、顯性輸出電壓、差分電壓、上升時間、下降時間、位時間、網(wǎng)絡負載率、上電后第1幀報文發(fā)送時間、掉電后網(wǎng)絡關閉時間、終端電阻值。筆者對這些測試項進行分析后,確認可以在不增加任何工具的情況下開發(fā)出自動化測試系統(tǒng),用自動化測試系統(tǒng)進行實車測試,不僅操作簡單,不會使用示波器的人都可以進行一鍵測試,還有準確度高、速度快、有傳承性等優(yōu)點。本文將介紹這種實車網(wǎng)絡自動化測試系統(tǒng)的設計方法。
根據(jù)實際掌握的知識制定了以下3種方案。接下來對3個方案一一列舉說明。
方案1:使用Vb.net編寫管理界面、測試用例,調用示波器進行自動抓波形,自動測量,自動輸出最終報告。
方案2:使用CAPL編寫管理代碼、測試用例,CANoe調用示波器進行自動抓波形,自動化測量,輸出測試結果。
方案3:使用Vb.net編寫管理界面,調用方案2中的CANoe工程,獲取測試結果,自動生成最終報告。
方案1不需要CANcase、CANoe軟件,可以方便地生成定制的報告,但是測試用例等都是固化到程序中的,不便進行測試用例的維護。
方案2和方案3都需要CANoe和CANcase,測試用例都是寫在CAPL中的,方便維護。方案2的不足是不能生成定制的報告,方案3彌補了所有不足,但是考慮到本系統(tǒng)測試項數(shù)量少,方向單一,沒有必要使用方案3這種復雜的架構,最終我們選擇了方案2。
支持SCPI標準的示波器1臺,CANcase 1個,筆記本電腦。
電腦安裝VISA驅動,與示波器通過USB連接,示波器通道1接待測整車網(wǎng)絡CANH、通道2接CANL,外部觸發(fā)通道接15電。CANoe通道1接待測整車網(wǎng)絡CAN總線。
4.1 編寫示波器讀寫驅動
根據(jù)VISA協(xié)議編寫示波器的寫命令,讀取,查詢,截圖等接口函數(shù),編譯為動態(tài)鏈接庫,供隨后CANoe調用。
4.2 程序框架
程序包括CAPL_Set.can、HSCAN_Vehicle.can、Scope.cin、ParaStd.cin、SaveData.cin、CaseSelect.cin這6個模塊。
1)CAPL_Set.can是設置模塊,作用是啟動測試時選擇被測總線的速率,當CANoe的Start按鈕按下時調用。
2)HSCAN_Vehicle.can是測試主模塊,所有測試用例在此模塊中,當Test Module的Start按鈕按下時調用。
3)Scope.cin是示波器自動測量模塊,里面存放了一些通用的示波器自動測量函數(shù),如示波器初始化、顯性電壓、隱性電壓、位時間等測量函數(shù)。
4)ParaStd.cin是測試標準模塊,其中設置保存了測試結果的評判標準,需要修改時可在此修改。
5)SaveData.cin是測試報告模塊,其中存放了用于生成測試結果文件的函數(shù)。測試結束后,所有測試結果被輸出到一個Ini文件中。
6)CaseSelect.cin是測試用例管理模塊,其中存放了要執(zhí)行的測試用例,不需要執(zhí)行的測試用例注釋掉再運行即可。
4.3 設置模塊
通過CANoe的命令行輸出的提示,選擇設置選項,選擇的參數(shù)通過環(huán)境變量傳入系統(tǒng)。如果需要設置參數(shù)較多,也可以用CANoe制作一個面板進行設置,這種方式操作更方便,如設置被測系統(tǒng)電壓、要執(zhí)行的測試用例等。如圖1所示,按下按鍵1將會調用250 K通信速率下的測試程序及參數(shù)。
4.4 示波器自動測量模塊
通過給示波器發(fā)送SCPI指令,實現(xiàn)示波器初始化、自動抓有效波形、時間測量、電壓測量等操作。編制時需要參考示波器廠家提供的編程手冊,里面提供了該示波器所有支持的SCPI指令以及自定義指令,根據(jù)這些指令確定算法以及評估。例如本文中使用的示波器不支持讀取某一時刻電壓值,導致上電第1幀報文的發(fā)送時間無法采用自動測量的方式測量,如果使用的示波器支持這個指令,則可以將外部觸發(fā)通道與15電連接,示波器采集觸發(fā)設置為外部觸發(fā)。圖2展示的是示波器初始化的過程,“:AUTosetup”命令會清除上一次的波形以及一些比率設置,“:MEASure:CLEar”命令用來清除上一次的測量結果,“:channel1:PROBE 1”、“:channel1:scale 0.5”、“:channel1:OFFSET -1.93”命令是用來調整波形在示波器上顯示的位置、大小等。以上命令的參數(shù)值的確定,是根據(jù)在示波器上手動調節(jié)波形到最佳位置,記錄相關參數(shù)得到的。

圖1 設置模塊
4.5 測試標準模塊
所有測試標準在此模塊中定義為一個全局變量,新增、修改、刪除測試在此模塊中皆可方便操作。測試標準模塊如圖3所示。
4.6 測試報告模塊
由于本測試系統(tǒng)測試結果數(shù)量少,同時為了縮短開發(fā)周期,未開發(fā)直接生成Excel版報告的接口,而是將測試結果寫入到一個Ini文件中,同時將測試的波形及示波器測量結果截圖保存在指定文件夾中。
4.7 測試用例管理模塊
將要執(zhí)行的測試用例放在此模塊中,不需要執(zhí)行的測試用例屏蔽即可,相關測試用例的參數(shù)也可通過此處設置。如圖4所示。4.8 測試主模塊

圖4 測試用例管理模塊
負責調用以上介紹的所有模塊,具體測試用例的實現(xiàn)也在此模塊中編制,測試用例編制過程中要注意發(fā)送的命令示波器是否支持、是否進入死循環(huán)以及輸出結果與測量結果的一致性。其中上電后第1幀報文發(fā)送時間由于示波器不支持部分指令,無法進行自動測量,只能人為讀取。終端電阻值也是通過萬用表人為測量,要實現(xiàn)電阻自動測量不僅需要購置支持編程接口的萬用表,還需要開發(fā)驅動接口,相比人為測量代價太大。
5.1 測試界面
圖5為測試程序運行時的界面。窗口1中列出整個測試過程中的報文;窗口2為測試進度窗口,可以查看測試運行的狀態(tài);窗口3是Write窗口,輸出了系統(tǒng)以及程序運行的Log;窗口4可以設置是否將Trace記錄下來;窗口5可以設置測試端口、數(shù)據(jù)庫等。5.2 測試結果

圖5 測試界面
測試完成后,程序自動在TestData文件夾中生成測試過程中示波器截圖(bmp文件)、測試報告文件(ini文件)。測試結果見圖6。

圖6 測試結果
本系統(tǒng)只使用電腦、示波器和CANoe,實現(xiàn)了CANH,CANL,CANdiff的隱性輸出電壓、顯性輸出電壓、差分電壓、上升時間、下降時間、位時間、網(wǎng)絡負載率、掉電后網(wǎng)絡關閉時間、自動化測試;為脫離測試機柜基于示波器的CAN、LIN網(wǎng)絡測試提供了參考案例。
[1] 廣州致遠電子股份有限公司. ZDS2000系列示波器編程手冊[Z].
(編輯 凌 波)
Vehicle CAN-bus Automatic Testing System Development Based on Oscilloscope
SONG Lei-feng,CHEN Zi-lin,ZHANG Long-gang
(Automobile Engineering Research Institute,Shanxi Heavy Duty Automobile Co.,Ltd.,Xi′an 710200,China)
This article introduces design idea and method of the authentic vehicle CAN-bus automatic test system based on oscilloscope,compares pros and cons of different strategies,and systematically demonstrates the whole design process.
test; automatic test; oscilloscope; testing software
U463.6
A
1003-8639(2017)03-0054-03
2016-08-29;
2016-10-20
宋磊鋒(1989-),男,陜西人,工程師,主要從事整車CAN、LIN系統(tǒng)設計研發(fā)及自動化測試工作;陳姿霖(1984-),女,陜西人,工程師,主要從事整車CAN總線系統(tǒng)和診斷系統(tǒng)設計研發(fā)及自動化測試工作;張龍崗(1984-),男,陜西人,工程師,主要從事計量設計工作。