基于GPIB的自動測試系統是計算機技術和自動測試技術相結合的產物,目前廣泛應用于眾多領域。本文在介紹基于GPIB的自動測試系統組成和GPIB技術原理和特點的基礎上,著重介紹了已在工程實際應用中使用的車載音響測試系統,該系統大大提高了測試的自動化程度,使測試人員從繁重的測試任務中解脫出來,只需將精力集中于測試方案的設計和測試序列編寫上,從而凸顯了自動化測試系統的優越性。
1 自動測試系統
??? 一個測試項目就是計算機向若干臺測試儀表發送消息,計算機和測試儀表之間通過GPIB線來連接,這就要求所用的測試儀表必須支持CPIB所發送的消息實際上就是SCPI(Standard Command for Program—ming Instrument)語言。近年來,新型的測試儀表上具備了GPIB接口,從而可以把它與計算機連接起來,組成一個自動測試系統。該系統不但提高了儀器的測量精度,而且具有數據處理能力,并能用軟件來取代硬件甚至完成硬件無法完成的功能。一般來說,一個完整的測試系統由控制器、測試儀表、測試軟件和接口總線組成,如圖1所示。
2 GPIB技術特點及工作原理
2.1 GPIB的特點
??? (1)GPIB接口板置于設備內部,設計者不用考慮設計接口的問題,此接口適用于該設備所能參與構成的任何系統。其通用性是不言而喻的。
??? (2)GPIB具有高級特性,進行操作時僅需搬動設備和插拔電纜插頭,并不涉及接頭的具體硬件設計,這是因為GPIB引入了一些高級接口的概念,而且功能、電氣和機構上的規定制定的相當完善,保證了充分的兼容性。GPIB的這種特性表現在編程上,就是減輕了軟件設計的負擔,可使用高級語言編程。
??? (3)GPIB系統組建和拆散靈活,使用方便,用具有GPIB接口設備組建的系統是真正的“積散型”系統,它們“積”成為自動測試系統,“散”可以各自單獨使用,表現出無以倫比的靈活性。
??? (4)GPIB接口比一般接口的價格約貴10%,但考慮到組建測試系統連接多個外設,GPIB接口比一般接口要便宜。因此,從通用性、兼容性、靈活性及經濟性等方面來看,GPIB接口是其他接口所無法比擬的。
2.2 GPIB母線
??? GPIB系統為了進行有效的信息傳輸,一般要求3種不同的元素:講者、聽者和控者。其數據傳輸采用位并行,字節串行,雙向掛鉤和雙向異步的方式進行。總線共24條,可分為3類:16條信號線,1條屏蔽線,7條地線。信號線又分為3組:第一組是8位的數據總線,用于傳輸數據,命令或狀態字。第二組是接口管理總線,由5條信號線組成:ATN,IFC,REN,SRQ,EOI用于控制總線進程,起總線指揮作用。最后一組是3條掛鉤線(DAV,NRFD,NDAC),用于數據的通訊聯絡,保證異步傳送順利進行。
2.3 三線掛鉤過程
??? 數據傳送在講者和聽者間以三線掛鉤方式進行。其基本過程是:
??? (1)發送者向數據母線上發送數據,但并不宣布數據有效,即令DAV=0;
??? (2)接收者相繼準備接收數據,共同用NRFD=0向發送者表示已準備好接收數據;
??? (3)當發送者確認所有接收者均已做好接收數據的準備,就發出DAV=1的信息,示意接收者放在數據母線上的數據可以接收;
??? (4)當接收者確認數據可以接收時,信號NRFD=O已不必再保留下去,因而恢復NRFD=1的狀態,為下一次循環做準備;
??? (5)接收者開始接收數據;
??? (6)由于接收數據速度不同,接收者相繼收到數據,當接收速度最慢的那一段設備接收完畢時,使母線NDVC=0,表示所有接收者均已接收完畢;
??? (7)當發送者確認各接收者都已接收數據完畢,原來發的“數據有效”信息DAV=1已不必保留了,故發DAV=0,同時將數據母線上的數據撤掉;
??? (8)各接收者根據收到的DAV=1信息而恢復NDVC=l,到此DAV,NRFD,NDAC三線均已恢復原狀態,表示一次互鎖聯絡循環的結束,并為下一次循環做好了準備。
3 基于GPIB的車載音響測試系統
3.1 硬件系統
3.1.1 測試系統介紹
??? 本項目為車載音響集成機架式測試自動化系統??紤]到系統將來的擴充性,將全面采用測試自動化系統的統一平臺結構,在此結構上,實現音響部分的功能。車載音響測試系統,主要分為5個部分:雙通道音頻信號發生器與雙通道音頻信號分析儀,標準信號發生器,音頻切換開關,控制器、標準直流電源和軟件體系。共同承擔起完整的系統功能。其中音頻分析儀、信號發生器、直流電源均采用德國的高性能測試儀表,能夠完成精準的測試要求。音頻分析儀包含雙通道的音頻信號產生和信號分析,具有極高的靈敏度和豐富的聲學測試專用功能,其并行工作模式完全符合立體聲等測試的要求。信號發生器 射頻信號發生器配合UPV可以產生FM信號和立體聲信號,并且可以作為接收測試的干擾源來用。
??? 音頻切換開關 音頻切換開關由兩部分組成:開關箱和開關箱主機。開關箱用于音頻信號通路間的矩陣切換,比如:立體聲與其他測試項目間的切換;開關箱主機通過PCI板卡來控制開關箱,確保任何測試項目不需要人工介入音頻線路連接。
??? 控制器控制器采用普通的PC機,主要完成控制各個儀表及運行相關軟件。
??? 直流電源 標準直流供電電源,主要用來給被測的音響設備供電,它可以滿足車載音響的供電需求。
??? 軟件體系 軟件是使用微軟公司的Visual C++來完成的,運行在Windows XP環境下。測試人員所有的測試工作均是在該軟件下來完成,包括測試項目的選擇、測試序列的控制、測試結果的顯示(包括圖表的顯示等)、測試結果的保存、輸出報告等。測試人員的工作僅僅是選擇相應的測試項目啟動測試,儀表的控制、最后結果的顯示和保存均由軟件來進行。
3.1.2 測試原理
??? 標準信號發生器SML模擬電臺產生射頻信號,音頻分析儀UPV產生調制信號通過SML的Modulation口對SML產生的射頻信號進行調制,調制后的信號通過SML的RF口輸出給被測音響,被測音響通過一系列變換產生音頻信號后再輸出到UPV,音頻分析儀UPV對被測音響產生的音頻信號進行分析,產生出測試需求的結果。
3.1.3 系統拓撲結構
??? 系統的拓撲結構是整個系統的連接示意圖,如圖2所示??刂破髋c測試用儀表之間通過GPIB線連接,音頻分析儀與開關箱之間通過音頻連接線進行連接,標準信號發生器與開關箱之間通過射頻連接線進行連接,收音機與開關箱之間通過音頻連接線進行連接,開關箱主機與控制器之間通過網線連接,開關箱與開關箱主機之間通過PCI進行連接。
3.2 軟件系統
??? 系統選用Windows XP操作系統為系統的運行環境,用微軟公司的Visual C++作為系統軟件開發平臺,開發了應用程序界面。根據測試用儀表的SCPI命令來使用Visual C++。來編寫硬件驅動庫。
??? 軟件采用模塊化程序設計方法,劃分為不同的功能模塊:硬件驅動程序部分、系統界面部分和數據管理部分。
3.2.1 軟件設計思想
??? 系統軟件的設計主要采用面向對象的設計思想,基于面向對象技術的應用軟件結構容易理解、修改和重用,能明顯提高軟件開發和維護的效率。
??? 軟件設計中根據各種不同的設備及其功能將各個測試儀表封裝成類,即信號源類、信號分析類、電源類等,將對各儀表操作的函數及變量作為類的方法和屬性封裝到各個類中。這些類描述了具有公共方法和一般特性的一組相同對象,如信號源類表征了信號源的共有性質,如波形種類選擇、波形參數設定等。并采用CObject類來派生一個測量數據類,將采樣數據作為測量數據類的主要屬性,將各種測量采樣方法、數據處理方法、數據表現方法都作為測量數據類的接口方法。使用這種方法并結合設計模式和多態性有助于接口的規范化和自由擴展。
??? 構造測量數據類,采用直接封裝結構和數組,由于測量的數據量一般都比較大,全局對象和共享內存文件也是常用的辦法。也可以使用模板類,如CArray類、CList類等。它們都支持復雜類的動態添加。
??? 軟件使用COM組件技術封裝各種數據處理算法,如快速傅里葉變換、濾波等,對數據進行處理,再供用戶界面使用。組件對象模型(Component Object Model,COM)定義了各種不同的對象如何利用一種公共約定的協議相互之間進行通信,是一種獨立于語言和平臺的標準。COM組件最重要的特點是具有面向對象的特性。通過面向對象技術,用戶界面不需理會它現在操作的是什么樣的硬件,它只需通過公共接口使用約定的協議,向組件收發數據和命令,而具體操作由組件去完成,從而實現設備無關性。在用戶界面中,界面元素之間的制約關系可以用Win32API函數LoadCurroe調用等待光標來暫時封鎖其他交互操作,也可以用CWnd::EnableWindow,CWnd::ShowWindow設置相應界面控件來屏蔽部分交互操作。這樣可以容易地實現進行某項操作時屏蔽
其他操作的功能。
??? 軟件設計使用了VC++多線程編程技術,多線程是為了使多個線程并行工作,以完成多項任務,提高系統的效率。本測試系統中,由于數據采集和數據處理并行,因此需要在軟件中設計2個線程:一個線程進行測試及讀取測試結果的工作;另一個線程進行測試結果的界面顯示工作。并行任務可用CWinThread類線程來實現。線程之間是通過消息來通信,用全局變量來傳遞數據的。此外,還要解決兩線程間的協調同步,從而實現測試與顯示的同步,并及時響應用戶對實驗進程的控制。
??? 而且,為了測試的需要,有時需要從某個類別的類發送自定義消息。消息發送有兩種形式:SendMessage和PostMessage,還可以用系統注冊消息RegisteWin—dowMessage供多個儀表協作。事件響應技術是消息驅動的,通過響應用戶界面上的交互事件可以形成控制指令,測量控制動作則放在消息響應函數中來實現。以消息機制觸發測量數據對象的采樣方法,去操作儀表驅動程序來獲取測量數據;測量數據到達后,經過數據處理、表達,最后呈現給用戶,這就是系統軟件的工作流程。它是通過用戶界面、測量數據兩個中心對象以消息作為媒介來實現的。軟件測試流程圖如圖3所示。
3.2.2 硬件驅動程序
??? 亦即接口板的驅動程序,是系統控制軟件的最低層,它直接對GPIB接口板進行控制,實現對信號的I/O操作。按照功能設計接口庫函數,并將接口庫函數包裝在動態連接庫DLL中(動態鏈接庫是包含函數集和數據的一些模塊,它提供了一種模塊化應用方式)。硬件驅動的編寫是根據測試儀表提供的SCPI命令來完成的,使用Visual C++進行編寫。用VC++編譯產生的.exe文件,直接放人到應用程序中。通過應用軟件產生XML文件,該文件中包含了所寫的硬件驅動庫信息,用戶可以從該文件中查找有關的驅動信息。
3.2.3 系統界面
??? 軟件部分的核心,它直接面向用戶,是系統控制軟件的最上層。系統具有良好的人機界面,一方面,可以使用戶靈活地選擇所要進行的測試項目,并通過適時的對話框提示告訴用戶應該完成的操作,而且能夠實時顯示目前的測試狀態,如:測試開始,測試正在進行,測試完成。另一方面,用戶可以通過界面來完成各種功能,如:選擇要測試的項目,包括幅度調制(AM),頻率調制(FM),立體聲調制(STEREO)以及CD的測試等。每個測試項目都會有若干個子測試項目,例如:AM中就包括限噪靈敏度測試,干擾頻率測試,自動放大器測試等。當用戶選中測試項目后,它相應的子測試項目會全部羅列出來,供用戶進行靈活選擇。此外,測試的結果可以在測試完成之后,馬上在界面中顯示出來。在顯示結果的同時所有的結果也被保存下來,用戶可以通過界面上的操作按鈕來查看保存的結果。這種方式使用戶可以實時地監測測試指標是否符合要求,也可以使用戶在事后對結果進行分析,為用戶提供了極大的方便。同時,還可以根據用戶的需求產生輸出報告,報告是以Word的方式給出。
3.2.4 數據管理
??? 數據的管理可以是實時的也可以是非實時的。實時是指在測試完成后,測試的結果會馬上在界面上顯示出來,非實時是指所有的測試結果都能夠保存下來,供用戶事后使用。對于數據的管理提供了兩種方式:一種是以數字方式給出的結果,另一種是以圖表方式給出的結果。數字形式的結果會自動保存在文本文檔中,圖表方式的結果可以由用戶自己選擇保存的路徑,這種方式更加靈活。所有的操作都可以通過界面上的操作來完成。
3.3 測試方法舉例
3.3.1 基于GPIB的FM的限噪靈敏度測試(1)首先將被測收音機調諧到94.1 MHz;
??? (2)用計算機控制將標準信號發生器提供FM調制、94.1 MHz、頻偏75 kHz、高頻電平設為4 dBμV的信號收音機的天線接口,調制頻率1 kHz由音頻分析儀產生。
??? (3)軟件選擇的FM的限噪靈敏度測試項目就可以開始測試了。
??? 測試的結果依據TL972標準進行判斷,TL972標準規定FM的限噪靈敏度應在4~8 dBμV。
3.3.2 基于GPIB的CD的頻率響應測試
??? (1)首先播放測試曲目(通常是掃頻的曲目,播放20 Hz~20 kHz的掃頻曲目)。
??? (2)每變換一次頻率就通過計算機讀取音頻分析儀的輸出,也即相應頻率下的輸出電平(單位為dBμV)。將每一次的頻率和相應的輸出記錄下來,待所有頻率播放完畢,軟件界面上會自動畫出頻響圖,并將相應的頻率和輸出同時以列表方式給出。
??? (3)保存頻響圖和列表方式的數據,以便日后查用。
??? 用計算機通過GPIB控制測試儀表來完成測試比,通過手動測試大大提高了測試人員的工作量,使測試工作完全自動化,減少人工干預,大大增加了測試速度和準確度。
4 結 語
??? 基于GPIB的自動測試系統,充分發揮了虛擬儀器的優越性,測試結果準確,實時性好,同時軟件采用面向對象的設計思想,有利于進一步擴展或修改。本系統已成功應用于汽車音響測試,經實踐檢驗可靠性高,測試結果準確度高,系統穩定,軟件升級方便快捷,可移植性好。
評論
查看更多