東莞市源泰通測試技術有限公司
聯系人:黃先生
手機:13510986065
座機:0769-23225189
傳真:0769-23225189
郵箱:sales@super-ate.com
Q Q:251824780
地址:東莞市寮步鎮西溪鳧西路115號2樓
網址:uqjziuo.cn
用TestStand構建通訊產品并行測試平臺
應用方案:利用NI TestStand 模塊化、易用性的特點,再借助PXI總線的的系統結構來構筑通訊產品單板并行測試平臺使用的產品:Measurement Studio、Teststand2.01
介紹提高測試效率進而提高測試設備的使用性是當前測試儀器發展和設計的研究前沿。本文分析了利用測試管理環境TestStand 2.0功能強大的內嵌式同步工具用來規劃和管理并行測試系統,從而達到測試量和設備利用率之間的最佳平衡的實現方法,同時利用TestStand API定制并行測試用戶界面,建立了一個并行測試平臺,將其運用于通訊產品測試領域。
TestStand
National Instruments公司的TestStand是一種可立即執行的測試管理環境,用于組織、控制和執行自動化模型建立、認證和工廠測試。TestStand的功能完全由客戶定義。為滿足特定需求,用戶可自行對其進行功能修改和改進,例如定義操作界面,報告生成格式,或根據需要定義執行順序等。它建立在高速、多線程執行引擎基礎上,TestStand的性能可滿足最嚴格的測試吞吐量要求。TestStand 的并行測試能力可讓用戶運行批測試(即測量一種PCB)或異步測試(即同時對一種被測器件測量不同的功能)。線程優先功能使處理能力得到優化,
并且同時執行多種過程。其內建項目管理工具可使編程人員增加生產率。
通訊產品具有單板數量多,功能測試點也相對較多的特點。利用TestStand 多線程的特性構筑并行測試平臺,將明顯提高測試效率。TestStand的同步機制TestStand的本身的同步機制以及TestStand 所有變量和屬性是線程安全的這一特性使得利用它來實現多線程并行測試提供了可能性。 TestStand的同步對象有: Lock: 保證資源的獨占; Semaphore:保證資源被有限制(有限個線程)享用; Rendezvous: 用來保證多個線程互相等待以到達同一個地點; Queue:用來將數據從一個線程傳遞到下一個要處理該數據的線程; Notification:用來通知一個或多個線程某個特定的事件發生或條件滿足; Wait:等待線程或執行完成,等待時間消逝; Batch:批次; Thread Priolity:利用它,開發人員能將正在執行的線程的優先級設置到共7個不同的級別。ComapactPCI CompactPCI是一種基于PCI總線的小巧而堅固的高性能總線技術。1994年PICMG(PCI工業計算機制造商組織)提出了CompactPCI技術,該技術是嵌入式應用場合的理想選擇。CompactPCI的三大核心技術:PCI局部總線,歐式插卡機械結構和氣密式針孔接頭。因為CompactPCI具有極高的帶寬,其總線特別適用于高速數據通訊的應用。相對于其它通用測試驗平臺而言,CompactPCI平臺可靠性更高、而且具有熱插拔、熱切換、多處理器能力。因此,為了滿足并行測試資源的需求,我們在系統構建中采用了CompactPCI平臺。CPCI平臺及其擴展功能卡給被測系統提供測試環境。目前,我們的擴展功能模塊包括:數字IO模塊、時鐘模塊、通訊模塊、音頻模塊、總線接口模塊、GPIB接口模塊、開關模塊等。這些功能模塊卡提供了被測系統在電平,時鐘,通訊,接口等各方面需要的資源,為TestStand測試并行管理環境的應用奠定了基礎。
系統總體結構
充分利用TestStand測試管理環境的靈活性,我們并行測試平臺的總體結構如下:
測試界面TestStand 自帶了四個peratorInterface。考慮到通訊產品并行測試的特殊性以及TestStand 的開放性,我們自己在VC++6.0環境下定制了一個支持多塊單板并行測試的測試界面。調用TestStand 引擎,打開TestStand生成的測試序列文件。序列文件執行時,通過調用相應的TestStand API實現對測試序列的控制如開始,中斷,停止等操作。用戶可以通過用戶界面,實現對測
試序列中某測試項目是否測試進行定制。用戶還可以設置并行測試的單板數量。測試過程中,測試界面將單板測試的各測試項目的測試情況實時報告。測試完成以后,軟件將各單板的測試報告以網頁的形式顯示給用戶。當被測單板測試失敗時,將進行準確的故障定位,以方便對被測單板的維修和處理。考慮到操作方便等原因,我們通過調用TestStand API ,將TestStand 的用戶管理模塊以及報告文件格式、路徑設置等功能也集成到了測試界面中。測試序列文件測試序列文件是整個系統結構中處于核心地位。它于TestStand 的SEQEditor環境下開發。是實現并行測試策略的關鍵所在,也是聯系測試界面和測試動態連接庫的橋梁。相對于同一種單板,對應于一個測試序列。我們在單板的測試序列中,用Thread Priolity對象來保證單板測試序列的運行優先級別。在多塊單板共享一種硬件資源的時候,我們采用了LOCK對象來保證同一時刻對資源的獨占性。這樣,當有訪問資源沖突發生時,測試策略保證并行運行的測試序列分時占用硬件資源。我們用Semaphore對象來同步并行運行的多個測試線程。在各個線程之間,我們還利用了換各執行線程之間的信息。這樣,即使有多個線程實例在運行,仍然可以彼此交換測試信息。測試動態鏈接庫所有單板測試項目最終測試的實現是由測試序列調用的動態連接庫的導出函數來實現的。事實上,TestStand與所有主流測試編程環境兼容, 如NILabVIEW,LabWindows/CVI,Measurement Studio組件,微軟Visual Basic和Visual C++等,TestStand能調用任何編譯過的動態鏈接庫(DLLs),ActiveX自動化服務器,.exe運行程序。這樣,可以將測試項目模塊化,多次調用。在我們的通訊產品單板并行測試平臺中,我們采用的動態鏈接庫有用CVI下開發出來的,也有在Visual C++平臺下開發的。這樣,各模塊的開發人員可以自由選擇最熟悉的開發平臺而不增加最后集成的難度。測試流程整個并行測試系統的測試流程如圖三所示。測試界面實時檢測共有n塊單板在位,并顯示出來。開始測試時,n個執行線程同時啟動,獲得相關資源后開始功能測試。當n個線程都結束后,系統將測試結果送入數據庫。
結論隨著計算機技術、大規模集成電路技術和通訊技術的飛速發展,測試儀器技術領域發生了巨大的變化,虛擬測試儀器平臺也進入了新的發展階段。美國國家儀器公司(National Instruments)推出了測試管理環境TestStand。為了提高測試效率,我們基于TestStand構建了一個并行測試平臺,它具有以下優點: 1)開放性:利用通用硬件平臺構建虛擬儀器系統具有開放性,便于系統的升級和更新。 2)易用性:豐富的軟件資源和良好的人機交互圖文界面使得測試系統非常易于使用。 3)性能價格比高:相同的性能條件下開發費用和維護升級價格相對比較便宜。4)測試效率高: 基于TestStand 2.0功能強大的內嵌式同步工具,我們可以在資源有限的情況下,能運行一個測試序列的多個運行線程實例,成倍地提高了測試效率。