李慧明
摘 要:GPIB自動(dòng)測試系統(tǒng)是當(dāng)前廣泛采用的一種測試方式,它能夠?qū)⑻摂M技術(shù)、計(jì)算機(jī)技術(shù)與測試設(shè)備進(jìn)行整合,具有測試速度快、準(zhǔn)確性高以及功能強(qiáng)大的特點(diǎn),從對自動(dòng)測試系統(tǒng)需求的角度出發(fā),對GPIB自動(dòng)測試系統(tǒng)進(jìn)行了系統(tǒng)的研究與分析,以此設(shè)計(jì)出系統(tǒng)完善的自動(dòng)測試系統(tǒng)。
關(guān)鍵詞:GPIB測試系統(tǒng);虛擬儀器
中圖分類號:TB
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1672-3198(2015)15-0191-02
自動(dòng)測量系統(tǒng)就是指采用計(jì)算機(jī)對各個(gè)儀器進(jìn)行控制,并且實(shí)現(xiàn)測試過程自動(dòng)化的系統(tǒng)。而計(jì)算機(jī)控制測試系統(tǒng)的自動(dòng)化必須依靠儀器總線而實(shí)現(xiàn),而GPIB則是目前廣泛采用的一種測試儀器總線。其主要功能就是利用GPIB接口卡將若干個(gè)GPIB儀器連接起來,以此增強(qiáng)測試儀器設(shè)備的功能,進(jìn)而實(shí)現(xiàn)高效靈活完成各種測量任務(wù)的要求。
1 測試系統(tǒng)的需求分析與總體設(shè)計(jì)
1.1 系統(tǒng)的功能與要求
該測試系統(tǒng)主要是對各種信息進(jìn)行自動(dòng)接收的設(shè)備,因此該自動(dòng)測試系統(tǒng)主要就是利用GPIB總線將多臺(tái)測量儀器與控制計(jì)算機(jī)進(jìn)行連接,然后通過計(jì)算機(jī)控制系統(tǒng)實(shí)現(xiàn)與各個(gè)系統(tǒng)的連接,組建一個(gè)完整的自動(dòng)測試系統(tǒng)。目前自動(dòng)測試系統(tǒng)的功能主要包括:一是計(jì)算機(jī)通過網(wǎng)絡(luò)向各個(gè)接收機(jī)發(fā)送工作指令,實(shí)現(xiàn)對測試設(shè)備的控制;二是計(jì)算機(jī)通過GPIB接口,實(shí)現(xiàn)信號源、示波器以及網(wǎng)絡(luò)分析器等儀表的自動(dòng)控制與測試;三是具有計(jì)算與補(bǔ)充功能,系統(tǒng)可以根據(jù)幅度,計(jì)算出相應(yīng)的幅度因子,進(jìn)而存入到數(shù)據(jù)庫中。
測試系統(tǒng)的測試參數(shù)要求:控制信號輸出的頻率范圍、測量輸出信號的幅度以及相位、能夠?qū)崟r(shí)顯示各種測量的數(shù)值,并且能夠及時(shí)存入數(shù)據(jù)庫中。
1.2 系統(tǒng)總線選擇
測試總線的目的就是要求系統(tǒng)設(shè)計(jì)者要根據(jù)總線的使用規(guī)則去設(shè)計(jì),將各個(gè)測試設(shè)備的接口與總線的接口實(shí)現(xiàn)一致,避免設(shè)備的單獨(dú)設(shè)計(jì)連接,這樣設(shè)計(jì)的最終目的就是實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)的簡化程度,提高了系統(tǒng)的穩(wěn)定性,促進(jìn)系統(tǒng)的擴(kuò)充與升級。傳統(tǒng)的電子設(shè)備都是建立在獨(dú)立的平臺(tái)中,這種設(shè)計(jì)所使用的端口為RS—232,這種設(shè)計(jì)是不適合現(xiàn)代測試技術(shù)發(fā)展的,尤其是GPIB總線的出現(xiàn)使得測試總線技術(shù)得到發(fā)展,GPIB是一種字節(jié)串行的位平行總線,其主要采取三線控制信號握手協(xié)議,能夠?qū)⒍嗯_(tái)設(shè)備進(jìn)行連接。但是由于GPIB系統(tǒng)所存在的某些缺陷,在實(shí)際應(yīng)用中,往往單獨(dú)利用GPIB系統(tǒng)是缺乏實(shí)用性的,因此我們可以進(jìn)行總線的組合應(yīng)用,具體就是通過GPIB將各種總線進(jìn)行連接,比如將GPIB或以太網(wǎng)用作系統(tǒng)的I/O骨干,其可以很容易把大型主機(jī)的儀器集成到獨(dú)立的PC中。
2 GPIB自動(dòng)測試系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)
2.1 自動(dòng)測試系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的測試操作比較復(fù)雜,因此我們應(yīng)該選擇具有多任務(wù)處理能力的操作系統(tǒng)。并且利用VISUAL C++開發(fā)軟件,以此實(shí)現(xiàn)源碼級的多個(gè)級別的重用。自動(dòng)測試系統(tǒng)軟件是整個(gè)系統(tǒng)的核心,因此軟件的設(shè)計(jì)應(yīng)該以數(shù)據(jù)的采集、傳輸以及處理等為核心,實(shí)現(xiàn)多個(gè)模塊之間的連接。分析整個(gè)自動(dòng)測試軟件系統(tǒng)模塊主要包括:GPIB通信模塊、數(shù)據(jù)庫管理模塊、數(shù)據(jù)處理模塊以及UDP通信模塊。本系統(tǒng)中的軟件主要是通過GPIB接口進(jìn)行通信,因此其需要相應(yīng)的硬件驅(qū)動(dòng)程序支持即提供標(biāo)準(zhǔn)的I/O函數(shù)庫——VISA。
VISA函數(shù)庫具有:一是資源管理類。資源管理類主要是函數(shù)通過查找GPIB設(shè)備、與設(shè)備建立邏輯連接實(shí)現(xiàn)對硬件設(shè)備的操作,避免了人工操作的局限;二是基本輸入類,其主要是與GPIB設(shè)備進(jìn)行基本的讀寫操作,并且實(shí)現(xiàn)了讀寫數(shù)據(jù)過程的不轉(zhuǎn)換性,實(shí)現(xiàn)了讀寫數(shù)據(jù)的實(shí)時(shí)顯示;三是格式化輸入/輸出,該功能主要是與設(shè)備進(jìn)行格式化的讀寫操作轉(zhuǎn)換,實(shí)現(xiàn)程序的自動(dòng)轉(zhuǎn)換;四是GPIB接口功能類,其主要是對GPIB設(shè)備進(jìn)行操作指令的操作,比如利用該功能可以將GPIB接口命令發(fā)送到GPIB接口總線設(shè)備中;五是VISA控制管理類。此類函數(shù)完成對GPIB接口或設(shè)備的屬性進(jìn)行讀取和設(shè)置操作,同時(shí)可以得到設(shè)備的狀態(tài)字,可為使用者了解函數(shù)的執(zhí)行狀態(tài)提供便利。
2.2 儀器功能的設(shè)計(jì)
儀器功能設(shè)計(jì)是對整體測試系統(tǒng)的總體設(shè)計(jì),GPIB測試系統(tǒng)的完成必須要借助各種儀器設(shè)備,并且要保證這些儀器要完全發(fā)揮他們的功能,以便實(shí)現(xiàn)測試系統(tǒng)功能的正常發(fā)揮,所以我們需要采取基于類庫的面向?qū)ο笤O(shè)計(jì)技術(shù),保證系統(tǒng)能夠不斷地適應(yīng)系統(tǒng)功能變化的需求。儀器抽象類的設(shè)計(jì)主要就是利用各種儀器所存在的共同點(diǎn),實(shí)現(xiàn)對儀器操作的模塊化操作,減少代碼的重復(fù)性。示波器是實(shí)現(xiàn)設(shè)備抽象類的工具,因此在設(shè)計(jì)示波器類時(shí)一定要考慮操作的可能性以及通用性,實(shí)現(xiàn)系統(tǒng)具有擴(kuò)展性。示波器的操作程序就是計(jì)算機(jī)向示波器發(fā)送一個(gè)查詢信息,然后示波器在向計(jì)算機(jī)發(fā)送相應(yīng)消息,而消息的發(fā)送是以SOPI命令的形式實(shí)現(xiàn)的。
2.3 測試系統(tǒng)的同步技術(shù)
測試系統(tǒng)的同步技術(shù)是建立在計(jì)算機(jī)的統(tǒng)一控制下,將各種測試設(shè)備進(jìn)行合理的規(guī)劃與運(yùn)作,以此實(shí)現(xiàn)自動(dòng)測量、數(shù)據(jù)處理以及結(jié)果顯示等工作,在某種意義上測試設(shè)備的同步操作關(guān)系到系統(tǒng)的穩(wěn)定性以及測試系統(tǒng)的效率,因此GPIB系統(tǒng)要進(jìn)行測試系統(tǒng)的同步技術(shù):一是延時(shí)方法。延時(shí)方法就是利用時(shí)間差,將不同的系統(tǒng)反映時(shí)間間隔起來,上一個(gè)系統(tǒng)執(zhí)行命令的時(shí)間比較長時(shí),我們就可以在下一個(gè)系統(tǒng)進(jìn)行操作時(shí)進(jìn)行一定的延時(shí),以此壓縮短期命令集中給測試系統(tǒng)造成堵塞。比如對設(shè)備初始化速度比較慢的現(xiàn)實(shí)考慮,可以將程序?qū)Τ跏蓟蟮闹噶畈扇⊙訒r(shí)操作,直到儀器完成初始化操作。延時(shí)主要采取軟件延時(shí)和定時(shí)器延時(shí)??傮w看,延時(shí)方法不會(huì)給GPIB總線造成擁堵;二是狀態(tài)查詢方法。在測試系統(tǒng)進(jìn)行測試的過程中,如果系統(tǒng)對某個(gè)命令執(zhí)行反映的時(shí)間比較長之后,我們就可以選擇利用查詢的方法,確定執(zhí)行系統(tǒng)設(shè)備的運(yùn)行情況,從而進(jìn)行系統(tǒng)的操作。
3 自動(dòng)測試系統(tǒng)的實(shí)現(xiàn)
自動(dòng)測試系統(tǒng)的實(shí)現(xiàn)必須要依靠終端設(shè)備的集合,因此人機(jī)接口的設(shè)計(jì)是實(shí)現(xiàn)GPIB自動(dòng)測試系統(tǒng)性能的關(guān)鍵,因此人機(jī)接口設(shè)計(jì)的優(yōu)化與否直接影響到用戶對系統(tǒng)的使用,尤其是要對計(jì)算機(jī)的信息輸入與指令等信息操作進(jìn)行熟練的控制與操作。系統(tǒng)在進(jìn)行測試時(shí),由于其測試任務(wù)需要使用一定數(shù)量的頻率點(diǎn),而且每次循環(huán)中儀器的指令執(zhí)行需要較長的時(shí)間,因此需要設(shè)計(jì)與用戶界面形成相互獨(dú)立的線程,以此避免因?yàn)閱尉€線程設(shè)計(jì)造成系統(tǒng)出現(xiàn)“假死”的現(xiàn)象。一般啟用輔助線程之前,必須要為輔助線程的主程序?qū)懸粋€(gè)全局函數(shù),這樣單獨(dú)線程在進(jìn)行計(jì)算工作時(shí),當(dāng)全局函數(shù)返回時(shí),線程就結(jié)束了。
本文以某測試系統(tǒng)的測試過程為例,說明測試過程的測試操作流程,見圖1,該系統(tǒng)是一次基于GPIB的自動(dòng)測試系統(tǒng)的具體流程:
(1)初始化網(wǎng)址。初始化網(wǎng)站主要是設(shè)置相關(guān)的數(shù)據(jù)IP地址和接口,以此實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的完成。
(2)初始化接口儀器。初始化接口儀器的主要功能就是實(shí)現(xiàn)對系統(tǒng)運(yùn)行相關(guān)的運(yùn)作。
(3)初始化測試流程。該模塊主要是對系統(tǒng)的操作系統(tǒng)進(jìn)行設(shè)置,比如設(shè)計(jì)測試系統(tǒng)的測試頻率等等。
(4)自動(dòng)測試線程。自動(dòng)測試線程是示波器控制的關(guān)鍵系統(tǒng),同時(shí)也是對示波器測試系統(tǒng)進(jìn)行相位計(jì)算的主要手段與技術(shù),以此將結(jié)果在人機(jī)界面上顯現(xiàn)出來,并且完成下一個(gè)頻率點(diǎn)的測試任務(wù)。
4 結(jié)束語
基于GPIB的自動(dòng)測試系統(tǒng)能夠滿足現(xiàn)代測試技術(shù)發(fā)展的要求,通過運(yùn)用該技術(shù)不僅能夠提高測試系統(tǒng)的測試速度,而且還能為實(shí)現(xiàn)測試技術(shù)的模塊化、網(wǎng)絡(luò)化提供重要的技術(shù)參數(shù),因此本文提出的針對GPIB自動(dòng)測試系統(tǒng)的設(shè)備,是將各個(gè)方面的技術(shù)綜合應(yīng)用的具體體現(xiàn)。
參考文獻(xiàn)
[1]張毅,周紹磊,楊秀霞.虛擬儀器技術(shù)分析與應(yīng)用[J].北京:機(jī)械工業(yè)出版社,2004.
[2]鄭敬華,劉晨,高超.一種基于GPIB的自動(dòng)測試系統(tǒng)實(shí)現(xiàn)方法研究[J].信息通信,2012,(1).