Global Sources
電子工程專輯
 
電子工程專輯 > 測試與測量
 
 
測試與測量  

用TestStand建構通訊產品平行測試平台

上網時間: 2003年11月01日     打印版  Bookmark and Share  字型大小:  

關鍵字:產品測試  測試策略  平行測試  TestStand  PXI 

提高測試效率進而提高測試設備的使用性是目前測試儀器發展和設計研究前端。本文分析了利用測試管理環境TestStand 2.0的內嵌式同步工具用來規劃和管理平行測試系統,因而達到測試量和設備利用率之間的最佳平衡的實現方法,同時利用TestStand API定製平行測試用戶介面,設立了一個平行測試平台,將其運用於通訊產品測試領域。

TestStand是一種可立即執行的測試管理環境,用於組織、控制和執行自動化模型設立、認證和工廠測試。TestStand的功能完全由客戶定義。為滿足特定需求,用戶可自行對其進行功能修改和改進,例如定義作業介面,報告產生格式,或根據需要定義執行順序等。它設立在高速、多執行緒執行引擎基礎上,TestStand的性能可滿足最嚴格的測試吞吐量要求。TestStand的平行測試能力可讓用戶執行批測試(即測量一種PCB)或非同步測試(即同時對一種被測元件測量不同的功能)。執行緒優先功能使處理能力得到最佳化,並且同時執行多種過程。其內建計畫管理工具可使編程人員增加生產率。

通訊產品具有單板數量多,功能測試點也相對較多的特點。利用TestStand多執行緒的特性構築平行測試平台,將明顯提高測試效率。

TestStand的同步機制圖1:系統總體結構框架。

TestStand的本身的同步機制以及TestStand所有變量和屬性是執行緒安全的這一特性使得利用它來實現多執行緒平行測試提供了可能性。

TestStand的同步對象有:1. Lock:保證資源的獨佔。2. Semaphore:保證資源被有限制(有限個執行緒)享用。3. Rendezvous:用來保證多個執行緒互相等待以到達同一個地點。4. Queue:用來將數據從一個執行緒傳遞到下一個要處理該數據的執行緒。5. Notification:用來通知一個或多個執行緒某個特定的事件產生或條件滿足。6. Wait:等待執行緒或執行完成,等待時間消逝。7. Batch:批次。8. Thread Priolity:利用它,開發人員能將正執行的執行緒的優先級設置到共7個不同的等級。

ComapactPCI

CompactPCI是一種基於PCI匯流排的小巧而堅固的高性能匯流排技術。1994年PICMG(PCI產業電腦製造商組織)提出了CompactPCI技術,該技術是嵌入式應用場合的理想選擇。

CompactPCI的三大核心技術是PCI局部匯流排、歐式附加卡機械結構和氣密式針孔接頭。因為CompactPCI具有極高的頻寬,其匯流排特別適用於高速數據通訊的應用。相對於其它通用測試驗平台而言,CompactPCI平台可靠性更高、而且具有熱插拔、熱切換、多處理器能力。因此,為了滿足平行測試資源的需求,我們在系統建構中採用了CompactPCI平台。CPCI平台及其擴展功能卡給被測系統提供測試環境。

目前,我們的擴展功能模組包括:數位IO模組、時脈模組、通訊模組、音訊模組、匯流排介面模組、GPIB介面模組、開關模組等。這些功能模組卡提供了被測系統在電平、時脈、通訊、介面等各方面需要的資源,為TestStand測試平行管理環境的應用奠定了基礎。

系統總體結構

為了充分利用TestStand測試管理環境的靈活性,我們的平行測試平台的總體結構如圖1所示。

測試介面

TestStand自帶了四個Operator Interface。考慮到通訊產品平行測試的特殊性以及TestStand的開放性,我們自己在VC++6.0環境下定製了一個支援多塊單板平行測試的測試介面。

調用TestStand引擎,打開TestStand產生的測試序列文件。序列文件執行時,透過調用相應的TestStandAPI實現對測試序列的控制如開始、中斷、停止等作業。用戶可以透過用戶介面,實現對測試序列中某測試計畫是否測試進行定製。用戶還可以設置平行測試的單板數量。測試過程中,測試介面將單板測試的各測試計畫的測試情況即時報告。測試完成以後,軟體將各單板的測試報告以網頁的形式顯示給用戶。當被測單板測試失敗時,將進行準確的故障定位,以方便對被測單板的維修和處理。

考慮到作業方便等原因,我們透過調用TestStand API,將TestStand的用戶管理模組以及報告文件格式、路徑設置等功能也整合在了測試介面中,如圖2所示。

測試序列文件圖2:通訊產品單板平行測試介面。

測試序列文件是整個系統結構中處於核心地位。它於TestStand的SEQ Editor環境下開發。是實現平行測試策略的關鍵所在,也是聯繫測試介面和測試動態連接庫的橋梁。相對於同一種單板,對應於一個測試序列。我們在單板的測試序列中,用Thread Priolity對象來保證單板測試序列的執行優先等級。在多塊單板共享一種硬體資源的時候,我們採用了LOCK對象來保證同一時刻對資源的獨佔性。這樣,當有存取資源衝突產生時,測試策略保證平行執行的測試序列分時佔用硬體資源。我們用Semaphore對象來同步平行執行的多個測試執行緒。在各個執行緒之間,我們還利用了換各執行執行緒之間的資訊。這樣,即使有多個執行緒實例在執行,仍然可以彼此交換測試資訊。

測試動態鏈接庫

所有單板測試計畫最終測試的實現是由測試序列調用的動態連接庫的導出函數來實現的。事實上,TestStand與所有主流測試編程環境相容,如NI LabVIEW、LabWindows/CVI和Measurement Studio組件,微軟Visual Basic和Visual C++等,TestStand能調用任何編譯過的動態鏈接庫(DLLs)、ActiveX自動化伺服器和.exe執行程式。這樣,可以將測試計畫模組化,多次調用。在我們的通訊產品單板平行測試平台中,我們採用的動態鏈接庫有用CVI下開發出來的,也有在Visual C++平台下開發的。這樣,各模組的開發人員可以自由選擇最熟悉的開發平台而不增加最後整合的難度。

測試流程

整個平行測試系統的測試流程如圖3所示。測試介面即時檢測共有n塊單板在位,並顯示出來。開始測試時,n個執行執行緒同時啟動,獲得相關資源後開始功能測試。當n個執行緒都結束後,系統將測試結果送入資料庫。

本文小結

隨著電腦技術、大規模積體電路技術和通訊技術的飛速發展,測試儀器技術領域產生了巨大的變化,虛擬測試儀器平台也進入了新的發展階段。為了提高測試效率,我們基於TestStand建構了一個平行測試平台,它具有以下優點:(1)開放性:利用通用硬體平台建構虛擬儀器系統具有開放性,便於系統的升級和更新。(2)易用性:豐富的軟體資源和良好的人機交互圖文介面使得測試系統非常易於使用。(3)性能價格比高:相同的性能條件下開發費用和維護升級價格相對比較便宜。(4)測試效率高:基於TestStand 2.0功能強大的內嵌式同步工具,我們可以在資源有限的情況下,能執行一個測試序列的多個執行執行緒實例,成倍地提高了測試效率。

作者:於建林 劉行


軟體工程師


康訊研究所


深圳市中興通訊股份有限公司




投票數:   加入我的最愛
我來評論 - 用TestStand建構通訊產品平行測試平台
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首