浙江省計(jì)量科學(xué)研究院 孫 杰 陳習(xí)權(quán)
隨著電子技術(shù)迅速發(fā)展,出現(xiàn)了大量高精尖電子設(shè)備,高頻信號(hào)發(fā)生器是該領(lǐng)域中基礎(chǔ)的儀器設(shè)備,被廣泛應(yīng)用與電子技術(shù)領(lǐng)域相關(guān)的試驗(yàn)、生產(chǎn)、測試等環(huán)節(jié)。高頻信號(hào)發(fā)生器量值溯源準(zhǔn)確高效對(duì)電子生產(chǎn)科研領(lǐng)域具有重要意義。傳統(tǒng)的人工校準(zhǔn)費(fèi)時(shí)費(fèi)力,不能適應(yīng)計(jì)量校準(zhǔn)需求。因此研制高頻信號(hào)發(fā)生器校準(zhǔn)自動(dòng)化系統(tǒng)非常必要。
高頻信號(hào)發(fā)生器自動(dòng)校準(zhǔn)系統(tǒng)在計(jì)量系統(tǒng)內(nèi)外各個(gè)單位都有在應(yīng)用和開發(fā)。但在實(shí)際工作中存在一些問題。首先,基于GPIB接口開發(fā)的自動(dòng)測量系統(tǒng)基本都是針對(duì)生產(chǎn)上的測量而開發(fā)的,針對(duì)計(jì)量領(lǐng)域的很少。其次,國外開發(fā)的針對(duì)計(jì)量的自動(dòng)測量系統(tǒng)存在著計(jì)量項(xiàng)目和國內(nèi)規(guī)范不符,升級(jí)效率低下,價(jià)格昂貴等問題。同時(shí),國內(nèi)開發(fā)的一些自動(dòng)測量系統(tǒng)存在著測量型號(hào)不全,缺乏對(duì)最新設(shè)備支持和缺乏可持續(xù)升級(jí)能力以及非計(jì)量系統(tǒng)開發(fā)的自動(dòng)測量系統(tǒng)不適用于計(jì)量領(lǐng)域等問題。因此筆者根據(jù)多年從事高頻信號(hào)發(fā)生器校準(zhǔn)工作經(jīng)驗(yàn),研制開發(fā)適合計(jì)量系統(tǒng)使用并符合國家檢定規(guī)程要求的高頻信號(hào)發(fā)生器自動(dòng)校準(zhǔn)系統(tǒng)
高頻信號(hào)發(fā)生器是由振蕩器、頻率合成單元、電平控制單元、調(diào)制單元等組成的綜合性電子儀器,其基本功能是提供正弦波信號(hào)和調(diào)制波信號(hào)。[1]。
該系統(tǒng)主要由硬件平臺(tái)和軟件系統(tǒng)組成,硬件平臺(tái)由計(jì)量標(biāo)準(zhǔn)設(shè)備、GPIB轉(zhuǎn)換器、GPIB電纜和計(jì)算機(jī)組成,如圖1所示。計(jì)量標(biāo)準(zhǔn)設(shè)備包括測量接收機(jī)、銣原子頻率標(biāo)準(zhǔn)和頻譜分析儀。軟件系統(tǒng)是以硬件平臺(tái)為基礎(chǔ),主要分為儀器控制、數(shù)據(jù)采集、數(shù)據(jù)處理和輸入輸出等部分,采用Visual Basic 6.0進(jìn)行設(shè)計(jì)開發(fā),通過GPIB接口對(duì)各個(gè)儀器設(shè)備進(jìn)行控制并完成自動(dòng)校準(zhǔn)功能。
該自動(dòng)校準(zhǔn)系統(tǒng)由通信控制、數(shù)據(jù)采集、數(shù)據(jù)處理、輸入輸出、用戶界面等功能部分組成。通信控制和數(shù)據(jù)采集部分用于實(shí)現(xiàn)測試儀器工作參數(shù)設(shè)置,校準(zhǔn)過程控制,獲取測試數(shù)據(jù);數(shù)據(jù)處理、輸入輸出部分用于實(shí)現(xiàn)從設(shè)備讀取數(shù)據(jù)格式通過算法轉(zhuǎn)換為系統(tǒng)可操作數(shù)值,并采用指令方式實(shí)現(xiàn)對(duì)WORD格式的原始紀(jì)錄調(diào)用并讀取測量點(diǎn)和回寫校準(zhǔn)數(shù)據(jù);用戶界面為操作人員提供較好的人機(jī)交互界面。在實(shí)現(xiàn)過程中,主要有如圖1所示幾部分技術(shù)要點(diǎn)。
選定合適指令集來實(shí)現(xiàn)對(duì)設(shè)備的控制,GPIB轉(zhuǎn)換卡選擇安捷倫公司GPIB轉(zhuǎn)換卡,使用該卡配套的Agilent IO Libraries作為通信接口。該庫帶有三種指令集,分別是SICL、VISA和VISA COM,經(jīng)過實(shí)驗(yàn),三種指令集對(duì)最近幾年新出的設(shè)備支持較好,VISA和VISA COM對(duì)舊型號(hào)的設(shè)備存在兼容性問題,出現(xiàn)一些指令不支持的情況,SICL對(duì)舊型號(hào)設(shè)備兼容性較好,未出現(xiàn)指令不兼容情況,鑒于日常校準(zhǔn)工作中 舊型號(hào)設(shè)備比例較大的情況,選用SICL指令集作為指令集。
實(shí)驗(yàn)過程中發(fā)現(xiàn)高頻信號(hào)發(fā)生器某些參數(shù)校準(zhǔn)時(shí),由于軟件運(yùn)行速度遠(yuǎn)遠(yuǎn)高于儀器測量速度及儀器本身特性,會(huì)造成數(shù)據(jù)讀取出現(xiàn)偏差。為此采取三種方式對(duì)儀器進(jìn)行同步和觸發(fā),保證數(shù)據(jù)讀取穩(wěn)定準(zhǔn)確。先在VB6中采用延時(shí)子程序timedelay,通過實(shí)驗(yàn)為不同校準(zhǔn)參數(shù)分別選取相應(yīng)延時(shí),達(dá)到數(shù)據(jù)穩(wěn)定讀取。在電平等參數(shù)測量中,實(shí)驗(yàn)發(fā)現(xiàn)單純使用延時(shí)子程序timedelay并不能保證數(shù)據(jù)準(zhǔn)確讀取,需要在測量接收機(jī)代碼中插入代碼T1T3即保持觸發(fā)功能和在頻譜分析儀代碼中插入代碼*WAI即等待上條指令執(zhí)行完畢功能來實(shí)現(xiàn)穩(wěn)定讀取數(shù)據(jù)。通過這三種方式互相配合使用,可以保證數(shù)據(jù)讀取準(zhǔn)確可靠。通過實(shí)驗(yàn),電平可以校準(zhǔn)到-120dBm以下。
根據(jù)檢定規(guī)程,需要對(duì)頻率準(zhǔn)確度、絕對(duì)電平準(zhǔn)確度、相對(duì)電平準(zhǔn)確度、幅度調(diào)制、頻率調(diào)制、單邊帶相位噪聲和諧波等參數(shù)進(jìn)行校準(zhǔn)。
將銣原子頻率標(biāo)準(zhǔn)外接至測量接收機(jī)頻率參考輸入端,使用“7.1 SPCL”命令調(diào)節(jié)測量接收機(jī)頻率顯示位數(shù),程序調(diào)整被測高頻信號(hào)發(fā)生器輸出頻率,在測量接收機(jī)端獲取校準(zhǔn)數(shù)據(jù),實(shí)現(xiàn)頻率準(zhǔn)確度測量。
程序控制測量接收機(jī)先進(jìn)行頻率調(diào)諧,然后測量該頻點(diǎn)的絕對(duì)電平值,實(shí)現(xiàn)各頻率點(diǎn)絕對(duì)電平準(zhǔn)確度測量。相對(duì)電平準(zhǔn)確度測量過程中,代碼控制被測高頻信號(hào)發(fā)生器調(diào)整輸出電平值和變換頻率點(diǎn),測量接收機(jī)完成相對(duì)電平準(zhǔn)確度測量,測量接收機(jī)在-40dBm和-80dBm處需進(jìn)行量程校準(zhǔn),等待時(shí)間較長,使用T1指令進(jìn)行保持,然后用T3指令進(jìn)行延遲觸發(fā),保證量程校準(zhǔn)過程順利完成,幅度調(diào)制、頻率調(diào)制由測量接收機(jī)進(jìn)行測量,代碼按照參數(shù)設(shè)置控制測量接收機(jī)和被測高頻信號(hào)發(fā)生器,進(jìn)行這部分參數(shù)測量,通過試驗(yàn)發(fā)現(xiàn),在進(jìn)行解調(diào)失真、伴隨調(diào)頻和伴隨調(diào)幅測量時(shí),須同時(shí)使用T1T3指令和timedelay指令,才能使測量結(jié)果穩(wěn)定準(zhǔn)確。
單邊帶相位噪聲和諧波部分由頻譜儀進(jìn)行測量,諧波測量中如果采用常規(guī)的同一個(gè)屏幕中同時(shí)顯示基波、二次諧波和三次諧波并應(yīng)用峰值搜索指令時(shí),會(huì)出現(xiàn)光標(biāo)不能到達(dá)諧波峰值處而到達(dá)某些毛刺處的情況,因此采用分離測量方法,即在屏幕處分別單獨(dú)顯示基波、二次諧波和三次諧波,設(shè)置SPAN為頻率值的二十分之一,同時(shí)為避免由于程序運(yùn)行速度過快造成無法讀取峰值的情況,使用*WAI等待命令和單次掃描的方法,獲取準(zhǔn)確諧波結(jié)果。
由于被測高頻信號(hào)發(fā)生器種類眾多,不同系列間的指令形式各不相同,為解決這種問題,程序?qū)⑾嗤盗械母哳l信號(hào)發(fā)生器分為一組,使用相同的代碼,不同系列間使用判斷語句進(jìn)行選擇,用戶校準(zhǔn)前在主界面選擇被測高頻信號(hào)發(fā)生器型號(hào),程序會(huì)根據(jù)用戶選擇在執(zhí)行過程中選擇相應(yīng)的代碼運(yùn)行,以實(shí)現(xiàn)對(duì)多種型號(hào)高頻信號(hào)發(fā)生器校準(zhǔn)。
表1 相對(duì)電平準(zhǔn)確度比較
圖1 系統(tǒng)框圖
在設(shè)備測量數(shù)據(jù)處理方面,由于測量接收機(jī)在測量各個(gè)參數(shù)時(shí),測量數(shù)據(jù)在儀器內(nèi)部以“+**********E+**”的格式存放,并不是直接給出測量結(jié)果,頻譜分析儀也存在相同問題,并且不同參數(shù)的測量結(jié)果位數(shù)不同。因此在程序中針對(duì)不同設(shè)備不同測量參數(shù)結(jié)果,分別編寫字符處理子過程,在處理結(jié)果時(shí)調(diào)用子過程,將結(jié)果處理為正常格式。
高頻信號(hào)發(fā)生器種類繁多,要求校準(zhǔn)的點(diǎn)并不相同,存在校準(zhǔn)點(diǎn)識(shí)別及輸入問題。在輸出方面如果測量數(shù)據(jù)人工記錄就會(huì)大大降低效率。筆者在開發(fā)過程中,使用OLE技術(shù)實(shí)現(xiàn)Word讀寫操作和控制,實(shí)現(xiàn)校準(zhǔn)過程中實(shí)時(shí)讀取Word內(nèi)容和校準(zhǔn)數(shù)據(jù)實(shí)時(shí)回寫到Word表格并實(shí)時(shí)顯示。
OLE(Object Linking and Embedding,對(duì)象鏈接與嵌入)是微軟推出的在不同應(yīng)用程序間進(jìn)行互相操控的技術(shù),它允許用戶通過一個(gè)程序控制另一個(gè)程序,被控方為“自動(dòng)化服務(wù)器”,控制方為“自動(dòng)化控制器”[2]。OLE可以被編程語言訪問,編程語言通過OLE技術(shù)編寫程序?qū)ffice軟件進(jìn)行控制,達(dá)到提高操作效率的目的。
VB6將Word中如表格,段落等元素作為對(duì)象,通過操作各個(gè)對(duì)象實(shí)現(xiàn)對(duì)Word操控。本系統(tǒng)中涉及的對(duì)象有Application,Range,Documents,Tables(包括Columns,Rows和Cell)[3]。其中Application表示W(wǎng)ord應(yīng)用程序,Range表示文檔一個(gè)連續(xù)范圍,Documents表示被打開的所有文檔,Tables代表表格,其中Columns,Rows和Cell分別代表列,行和單元格。
筆者為不同型號(hào)高頻信號(hào)發(fā)生器制作不同Word格式原始記錄。
程序運(yùn)行后進(jìn)行Word初始化,使用“Set WordApp=CreateObject("Word.Application")”語句返回Word Application對(duì)象,并將它賦給WordApp,通過使用該變量對(duì)Word進(jìn)行控制。使用“Set Word=WordApp.Documents.Open(file)”語句打開文件名為“file”的原始記錄文件。以第2個(gè)“絕對(duì)電平準(zhǔn)確度”表格為例說明表格讀寫過程。該表格第一列為絕對(duì)電平所在頻率點(diǎn),第二列為電平測量結(jié)果。使用“RowsNumber=ActiveDocument.
Tables(2).Rows.count”語句計(jì)算該表格的行數(shù),用做循環(huán)次數(shù)。從第2行開始使用“tablecontent=ActiveDocument.Tables(2).Cell(RowsID,1).Range.Text”語句讀取第2個(gè)表格第1列第RowsID行所在單元格內(nèi)容,送入系統(tǒng)進(jìn)行參數(shù)設(shè)置和校準(zhǔn),該點(diǎn)計(jì)量完畢后使用“Word.Tables(2).Cell(RowsID,1+1)=RFResult”語句將數(shù)據(jù)實(shí)時(shí)寫入到第2個(gè)表格中第2列第RowsID行所在單元格。然后程序重復(fù)上述步驟,自動(dòng)進(jìn)入下一點(diǎn)測試,直到該表格所有點(diǎn)校準(zhǔn)完畢,然后進(jìn)入下一個(gè)表格,進(jìn)行下一個(gè)參數(shù)校準(zhǔn)。程序編寫了自動(dòng)計(jì)算表格行數(shù)語句,用戶可以任意刪減表格行數(shù)以達(dá)到任意更改絕對(duì)電平測量點(diǎn)數(shù)量,同時(shí)也可以根據(jù)需要任意修改絕對(duì)電平測量點(diǎn)數(shù)據(jù),從而實(shí)現(xiàn)只需修改表格行數(shù)和內(nèi)容而不需修改程序來達(dá)到更改校準(zhǔn)點(diǎn)的目的。
為測試高頻信號(hào)發(fā)生器自動(dòng)校準(zhǔn)系統(tǒng)性能,選取典型指標(biāo)相對(duì)電平準(zhǔn)確度,采用對(duì)人工和自動(dòng)方式測量結(jié)果進(jìn)行比較進(jìn)行驗(yàn)證。在相同條件下,對(duì)同一臺(tái)高頻信號(hào)發(fā)生器測量,測量結(jié)果如表1。從表可以看出最大差異為0.03dB,小于評(píng)定的校準(zhǔn)結(jié)果擴(kuò)展不確定度0.22dB。
本文提出了基于GPIB接口的高頻信號(hào)發(fā)生器自動(dòng)校準(zhǔn)系統(tǒng)實(shí)現(xiàn)方案,實(shí)現(xiàn)過程中充分利用系統(tǒng)資源和指令集,對(duì)程序進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)處理和輸入輸出方面的優(yōu)化,使得該設(shè)備測量效率大幅提高。系統(tǒng)涵蓋了規(guī)程中規(guī)定的高頻信號(hào)發(fā)生器使用中需要進(jìn)行校準(zhǔn)的項(xiàng)目,用戶也可以根據(jù)需要調(diào)整改變測量項(xiàng)目,校準(zhǔn)速度比手動(dòng)快4-5倍以上。系統(tǒng)在校準(zhǔn)時(shí)可以實(shí)時(shí)打開原始記錄,用戶可以監(jiān)看校準(zhǔn)結(jié)果,校準(zhǔn)完成后生成WORD格式的記錄報(bào)告。
[1]國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.JJG 173-2003信號(hào)發(fā)生器檢定規(guī)程.
[2]徐國平,郭力平.VBA中文版程序設(shè)計(jì)與應(yīng)用[M].清華大學(xué)出版社,1998,10.
[3]何振林,胡綠慧.MS Office與VBA高級(jí)應(yīng)用案例教程[M].中國水利水電出版社,2010,09.