作者:
沙 文瀚 -
劉 琳 -
一、引言
隨著汽車電子化快速發(fā)展,汽車電子產(chǎn)品的可靠性驗證成了重要的課題被一再的優(yōu)化和推進(jìn),電子產(chǎn)品的測試平臺也成了加速電子產(chǎn)品研發(fā)進(jìn)度的重要工具和載體。本文通過搭建測試平臺,針對不同的車載電子模塊進(jìn)行測試,提高車載電子產(chǎn)品的開發(fā)進(jìn)度。
二、背景
傳統(tǒng)的測試儀器是采用單片機(jī)作為控制電路,以 LED 作為指示燈,以各種按鈕作為開關(guān)量輸入的形式,以汽車車身電子控制系統(tǒng)為例,該系統(tǒng)主要包括:燈光控制、電動車窗控制、中央門鎖控制、防盜報警控制、安全氣囊控制、雨刮器控制等,并擁有CAN總線及診斷功能。
如圖一所示,汽車車身電子控制系統(tǒng)需要進(jìn)行功能測試以保證產(chǎn)品質(zhì)量,測試人員需要按照模塊的各種功能通過手動方式一步一步進(jìn)行測試,測試效率低,可靠性差。

圖一 傳統(tǒng)汽車電子產(chǎn)品測試儀
三、趨勢
自動測試系統(tǒng)(ATS, Automatic Test System)是指以計算機(jī)為控制核心,在程序控制下完成某種測試任務(wù)而組合起來的測試儀器和其他設(shè)備的有機(jī)整體的總稱。目前的第三代自動測試系統(tǒng)是以虛擬儀器技術(shù)的出現(xiàn)為標(biāo)志。20 世紀(jì) 80 年代 NI 公司首先提出這一概念。虛擬儀器技術(shù)的出現(xiàn)使得軟件在整個測試系統(tǒng)中成為重點,虛擬儀器技術(shù)在自動測試領(lǐng)域的應(yīng)用使得測試系統(tǒng)的通用性問題得以解決。
虛擬儀器通常由硬件設(shè)備與應(yīng)用軟件兩大部分構(gòu)成,其結(jié)構(gòu)體系框圖如圖二所示:

圖二 基于虛擬儀器的結(jié)構(gòu)體系
四、構(gòu)成及特點
- 虛擬儀器基本由三大部分構(gòu)成,每部分在其中都起到必不可少的作用,互相關(guān)聯(lián)、互相支持,組成一個完整的系統(tǒng):
1.1 模塊化的I/O 硬件:分析測試系統(tǒng)的要求和系統(tǒng)的功能,根據(jù)系統(tǒng)功能的要求,在軟件和硬件之間進(jìn)行優(yōu)化選擇,從而確定儀器所必需的硬件模塊,以便用最少的模塊實現(xiàn)儀器的最佳功能。根據(jù)應(yīng)用情況與實際的條件,選擇基于計算機(jī)的虛擬儀器的儀器模塊以及傳感器、信號調(diào)理電路、DAQ 數(shù)據(jù)采集、信號源等模塊;
1.2 高效的軟件:硬件確定以后,主要確定軟件功能模塊,哪些儀器功能由軟件實現(xiàn),將軟件功能劃分為相對獨立的模塊。然后選擇易于編寫的圖形化的軟件平臺。LabVIEW 平臺是一種圖形化編程環(huán)境,提供了虛擬儀器的控件、豐富的數(shù)據(jù)處理分析函數(shù)、儀器驅(qū)動程序及數(shù)據(jù)庫工具軟件包,LabVIEW 提供的SQL、DataSocket 軟件都是容易建立網(wǎng)絡(luò)化測試環(huán)境的軟件包。采用LabVIEW 編寫虛擬儀器軟件簡化了程序設(shè)計,提高了效率。我們利用LabVIEW 和NI 的數(shù)據(jù)采集卡實現(xiàn)了數(shù)據(jù)采集、虛擬示波器、虛擬信號發(fā)生器;
1.3 用于集成的軟硬件平臺:NI 首先提出的專為測試任務(wù)設(shè)計的PXI 硬件平臺,已經(jīng)成為當(dāng)今測試、測量和自動化應(yīng)用的標(biāo)準(zhǔn)平臺,它的開放式構(gòu)架、靈活性和PC 技術(shù)的成本優(yōu)勢為測量和自動化行業(yè)帶來了一場翻天覆地的改革。PXI 作為一種專為工業(yè)數(shù)據(jù)采集與自動化應(yīng)用度身定制的模塊化儀器平臺,內(nèi)建有高端的定時和觸發(fā)總線,再配以各類模塊化的I/O 硬件和相應(yīng)的測試測量開發(fā)軟件,就可以建立完全自定義的測試測量解決方案。
2. 系統(tǒng)特點如下:
2.1 電壓可調(diào):可自動進(jìn)行9~16V電壓輸出遍歷測試,高、低電壓模擬(0~30V)測試及發(fā)動機(jī)啟動電壓模擬測試;
2.2 可進(jìn)行手動、自動功能測試?赏ㄟ^手工操作按鍵模擬各種開關(guān)和變量進(jìn)行測試;也可通過計算機(jī)控制各采集卡模擬各種開關(guān)和變量進(jìn)行自動測試,不需人為干預(yù);
2.3 加載模擬負(fù)載、實際負(fù)載進(jìn)行測試;一般狀態(tài)下為加載模擬負(fù)載進(jìn)行測試,并可模擬大電流、過壓保護(hù)測試等;也可通過變更接線加載實車負(fù)載進(jìn)行測試;
2.4 每一個子功能測試項均可在各點火狀態(tài)(OFF、ACC、ON、START)下進(jìn)行測試,增加遍歷性,減少測試盲點;
2.5 測試過程中,可通過CAN與被測模塊進(jìn)行通訊,檢測對被測模塊的診斷、刷新數(shù)據(jù)(Boot loader)等功能;
2.6 進(jìn)行測試數(shù)據(jù)記錄、處理、存儲并自動生成測試報表,包括測試電壓、時間、各測試項測試狀態(tài)、故障狀態(tài)等;
五、測試平臺總體設(shè)計
系統(tǒng)目的及目標(biāo):
在項目不同階段需要進(jìn)行不同眾多的測試內(nèi)容,針對不同的測試目的,采取不同的測試、觀察、 記錄方法,如果針對每種情況編寫一個獨立的測試程序,則提高程序代碼量,降低程序的通用性,移植性,更不方便整個測試系統(tǒng)的管理與測試用戶選擇應(yīng)用,不利于提高工作效率。為了滿足更多的要求,更方便的應(yīng)用,更人性化的人機(jī)交互界面,建立此系統(tǒng)測試平臺。系統(tǒng)結(jié)構(gòu)圖,如圖三所示。

圖三 系統(tǒng)結(jié)構(gòu)圖
六、測試界面及方法
測試配置:通過相應(yīng)的配置界面,進(jìn)行測試模式、測試層面和測試單元的配置選擇;圖四、圖五為測試配置圖。

圖四 測試配置圖

圖五 測試配置圖
手動測試:根據(jù)圖形界面完全采取人工控制的方法輸入數(shù)據(jù)?梢葬槍μ囟ǖ妮斎胼敵龇磸(fù)測試,觀察分析特定的測試結(jié)果,方便發(fā)現(xiàn)細(xì)節(jié)問題;但是時間難以控制,對有精確時序要求的測試基本無能為力,結(jié)果完全靠人工自己判斷是否符合要求,而且測試速度慢,工作效率低。這種方法基本用于測試早期,針對特定要求的測試,或者在自動測試過程中發(fā)現(xiàn)的問題,而不方便觀察分析的情況。
半自動測試:指由測試程序讀取一定格式的文件、數(shù)據(jù)庫等測試輸入數(shù)據(jù)的方式自動讀取測試輸入信號,通過界面顯示一些過程中信號的變化情況,與結(jié)果輸出信號,并將結(jié)果存放在特定的文件或數(shù)據(jù)庫中,以便觀察分析。此種方法在測試過程中基本不需要人為干預(yù),測試的激勵信號由程序自動產(chǎn)生,但是不能判斷測試結(jié)果的正確性,只是記錄下測試結(jié)果的詳細(xì)數(shù)據(jù),需要用戶對數(shù)據(jù)進(jìn)行分析判別,所以稱之為半自動測試。
全自動測試:系統(tǒng)中測試的最高階段,整個測試過程不需要測試人員干預(yù),自動讀取一定格式的文件、數(shù)據(jù)庫等測試輸入數(shù)據(jù),自動測試、自動與標(biāo)準(zhǔn)結(jié)果相比較智能判斷測試的通過性,并記錄于特定文件中。用戶開始測試后只需在測試完成后檢查結(jié)果文件,就可以很方便的了解測試的結(jié)果通過性。測試效率高,結(jié)果簡潔有效,能快速反應(yīng)問題。測試軟件本身編寫難度大,以及輸入數(shù)據(jù)文件的編寫。整個測試系統(tǒng)提供不同的測試方法,便于不同階段,不同問題,不同目的,不同速度的測試,方便用戶根據(jù)實際情況靈活選擇應(yīng)用,做到一個測試系統(tǒng)滿足測試人員的所有測試要求。
測試執(zhí)行如圖六、圖七所示:

圖六 測試執(zhí)行圖

圖七 測試執(zhí)行圖
按照前述選擇的手動測試、半自動或者全自動測試,選擇測試配置,通過點選開關(guān)組合或者讀取輸入信號文件等方式,開始功能測試,并給出測試結(jié)論。
七、測試輸入信號的產(chǎn)生
數(shù)字系統(tǒng)得測試一般比較復(fù)雜,需要復(fù)雜的測試信號,信號由多位不同的邏輯值組成,成為測試圖形,它必須覆蓋所有測試要求中可能出現(xiàn)的情況,產(chǎn)生較復(fù)雜的測試圖形的一種重要方法就是存儲響應(yīng)(Stored Response)法,它把需要的標(biāo)準(zhǔn)圖形存入大容量的存儲器中,測試時先調(diào)入告訴緩沖存儲器,然后按要求的條件取出以供測試。
針對該系統(tǒng),源信號設(shè)定為每10ms一組信號,每個測試文件的測試信號序列是依照一條或多條需求分析,在方便觀察的基礎(chǔ)上編寫而成,信號序列沒有必然的聯(lián)系,必須采取存儲響應(yīng)法產(chǎn)生激勵信號,但是對每10ms一組數(shù)據(jù),則源信號數(shù)據(jù)文件龐大,而且人為編寫麻煩、耗時、效率低、容易出錯,并讀進(jìn)高速緩沖時占用空間大影響程序運(yùn)行速度。為了解決這種問題,結(jié)合信號的特點:為了驗證功能而且讓人工測試能看清,并且程序有一些時間參數(shù),每組信號一般持續(xù)一段時間,采用以下方法處理,如圖八所示:

圖八 信號處理
程序首先讀取數(shù)據(jù)文件進(jìn)內(nèi)存,分開時間序號與信號數(shù)據(jù),利用時間序號數(shù)組實現(xiàn)對產(chǎn)生激勵信號的控制:后一個時間序號值減去前一個值即為前面信號保持的時間跨度,為了保證結(jié)束信號的正確產(chǎn)生并值產(chǎn)生一次,利用結(jié)束信號序列值加1相減可得。
利用兩個循環(huán)實現(xiàn)自動產(chǎn)生的功能,外部循環(huán)是信號變化的情況,每變化一次循環(huán)加一,只有在此條件下,才會更改送進(jìn)循環(huán)的信號值——array2;內(nèi)部循環(huán)即為在信號保持時間內(nèi),利用序列差值控制產(chǎn)生相同信號的次數(shù),即控制持續(xù)時間?梢岳脜(shù)millseconds to wait控制每組信號的間隔時間,在本系統(tǒng)中設(shè)默認(rèn)值為10(ms)。通過此程序即可以實現(xiàn)每10ms產(chǎn)生一組信號給array3,利用此信號序列時,即可從array3引出。
程序通過軟件的方法在保證產(chǎn)生正確激勵信號的基礎(chǔ)上,讓程序員從龐大的數(shù)據(jù)文件中解放出來,并且比原來數(shù)據(jù)更容易觀察、理解;提高了文檔的可讀性;大大減少了存取空間的利用,提高了程序運(yùn)行速度,提高工作效率。
八、測試輸出結(jié)果的處理
測試結(jié)果的要求分析:測試的基礎(chǔ)是需求分析,為了驗證程序的正確性,必須達(dá)到需求分析的功能要求與精度要求;測試數(shù)據(jù)的設(shè)計基礎(chǔ)是需求分析文檔,達(dá)到的效果為智能判斷需求的通過性顯示給用戶并存檔以供查詢分析。
測試結(jié)果的記錄方式:在實際的結(jié)果數(shù)據(jù)產(chǎn)生并記錄過程中,由于是循環(huán)的測試,會產(chǎn)生大量的相同的測試結(jié)果數(shù)據(jù),在測試的結(jié)果中,需要自動處理相應(yīng)的結(jié)果數(shù)據(jù),并標(biāo)記重復(fù)出現(xiàn)和偶爾出現(xiàn)的結(jié)果。在前述中(測試界面及方法:半自動測試與自動測試),輸入信號是測試程序讀取一定格式的文件、數(shù)據(jù)庫等方式自動讀取,測試輸出數(shù)據(jù)是由每周期產(chǎn)生的一組的詳細(xì)結(jié)果數(shù)據(jù)轉(zhuǎn)化為輸入信號同樣格式的數(shù)據(jù),主要是對輸出數(shù)據(jù)不發(fā)生變化的時間段內(nèi)進(jìn)行簡化。如圖九所示。

圖九 數(shù)據(jù)簡化過程圖
程序采用順序結(jié)構(gòu),保證程序運(yùn)行的時序性,避免結(jié)果混亂。程序采用有效數(shù)組追加方式組建轉(zhuǎn)換后的結(jié)果數(shù)組testresult,先初始化一個空的二維數(shù)字?jǐn)?shù)組,將原數(shù)組2ddata的起始數(shù)據(jù)第一個加到數(shù)組中,在中間階段采取循環(huán)處理原數(shù)組中的每組數(shù)據(jù)。由于中間階段只記錄改變的信號,所以結(jié)果數(shù)組只能記錄到信號最后一次變化時的時刻與信號。但不能明確知道最后信號的持續(xù)時間、整個信號的結(jié)束時刻。當(dāng)信號發(fā)生突變,此處即為信號改變點。此時記錄的信號就已經(jīng)完整,但這種情況比較少。通過對中間階段最后記錄的信號序號與原數(shù)組2ddata的最大序號相比較即可判斷中間階段的數(shù)據(jù)是否完整。不完整的情況下,直接通過原數(shù)組獲得最后時刻的數(shù)據(jù)與序號加入到新的結(jié)果數(shù)組中。
至此完成了對每10ms一組數(shù)據(jù)的龐大數(shù)據(jù)量轉(zhuǎn)化為以時序表征的結(jié)果數(shù)組。達(dá)到與輸入數(shù)組的格式統(tǒng)一,方便后期的智能化處理以及節(jié)約存取空間的效果。圖十為數(shù)據(jù)處理后存取空間圖。

圖十 數(shù)據(jù)簡化及存取圖
根據(jù)測試的結(jié)果,可以看出以下規(guī)律,即結(jié)果數(shù)據(jù)程序處理方式為:
- 記錄開始信號以及相對時間零點;
- 過程中信號每次變化的時間與變化后的信號;
- 結(jié)束信號的時間及信號值。
- 、總結(jié)
通過該測試平臺,可以方便地修改配置程序及信號輸入文件,針對不同的車載電子模塊進(jìn)行手動、半自動乃至全自動測試,且通過內(nèi)置的算法,將龐大的測試結(jié)果加以處理及簡化,便于測試人員實際使用,能大大提升車載電子產(chǎn)品的開發(fā)進(jìn)度,滿足電子技術(shù)在汽車領(lǐng)域特殊的時效性、可靠性要求,有著較強(qiáng)的通用性和使用性。
|