浙江省計量科學研究院 孫 杰 陳習權
隨著電子技術迅速發展,出現了大量高精尖電子設備,高頻信號發生器是該領域中基礎的儀器設備,被廣泛應用與電子技術領域相關的試驗、生產、測試等環節。高頻信號發生器量值溯源準確高效對電子生產科研領域具有重要意義。傳統的人工校準費時費力,不能適應計量校準需求。因此研制高頻信號發生器校準自動化系統非常必要。
高頻信號發生器自動校準系統在計量系統內外各個單位都有在應用和開發。但在實際工作中存在一些問題。首先,基于GPIB接口開發的自動測量系統基本都是針對生產上的測量而開發的,針對計量領域的很少。其次,國外開發的針對計量的自動測量系統存在著計量項目和國內規范不符,升級效率低下,價格昂貴等問題。同時,國內開發的一些自動測量系統存在著測量型號不全,缺乏對最新設備支持和缺乏可持續升級能力以及非計量系統開發的自動測量系統不適用于計量領域等問題。因此筆者根據多年從事高頻信號發生器校準工作經驗,研制開發適合計量系統使用并符合國家檢定規程要求的高頻信號發生器自動校準系統
高頻信號發生器是由振蕩器、頻率合成單元、電平控制單元、調制單元等組成的綜合性電子儀器,其基本功能是提供正弦波信號和調制波信號。[1]。
該系統主要由硬件平臺和軟件系統組成,硬件平臺由計量標準設備、GPIB轉換器、GPIB電纜和計算機組成,如圖1所示。計量標準設備包括測量接收機、銣原子頻率標準和頻譜分析儀。軟件系統是以硬件平臺為基礎,主要分為儀器控制、數據采集、數據處理和輸入輸出等部分,采用Visual Basic 6.0進行設計開發,通過GPIB接口對各個儀器設備進行控制并完成自動校準功能。
該自動校準系統由通信控制、數據采集、數據處理、輸入輸出、用戶界面等功能部分組成。通信控制和數據采集部分用于實現測試儀器工作參數設置,校準過程控制,獲取測試數據;數據處理、輸入輸出部分用于實現從設備讀取數據格式通過算法轉換為系統可操作數值,并采用指令方式實現對WORD格式的原始紀錄調用并讀取測量點和回寫校準數據;用戶界面為操作人員提供較好的人機交互界面。在實現過程中,主要有如圖1所示幾部分技術要點。
選定合適指令集來實現對設備的控制,GPIB轉換卡選擇安捷倫公司GPIB轉換卡,使用該卡配套的Agilent IO Libraries作為通信接口。該庫帶有三種指令集,分別是SICL、VISA和VISA COM,經過實驗,三種指令集對最近幾年新出的設備支持較好,VISA和VISA COM對舊型號的設備存在兼容性問題,出現一些指令不支持的情況,SICL對舊型號設備兼容性較好,未出現指令不兼容情況,鑒于日常校準工作中 舊型號設備比例較大的情況,選用SICL指令集作為指令集。
實驗過程中發現高頻信號發生器某些參數校準時,由于軟件運行速度遠遠高于儀器測量速度及儀器本身特性,會造成數據讀取出現偏差。為此采取三種方式對儀器進行同步和觸發,保證數據讀取穩定準確。先在VB6中采用延時子程序timedelay,通過實驗為不同校準參數分別選取相應延時,達到數據穩定讀取。在電平等參數測量中,實驗發現單純使用延時子程序timedelay并不能保證數據準確讀取,需要在測量接收機代碼中插入代碼T1T3即保持觸發功能和在頻譜分析儀代碼中插入代碼*WAI即等待上條指令執行完畢功能來實現穩定讀取數據。通過這三種方式互相配合使用,可以保證數據讀取準確可靠。通過實驗,電平可以校準到-120dBm以下。
根據檢定規程,需要對頻率準確度、絕對電平準確度、相對電平準確度、幅度調制、頻率調制、單邊帶相位噪聲和諧波等參數進行校準。
將銣原子頻率標準外接至測量接收機頻率參考輸入端,使用“7.1 SPCL”命令調節測量接收機頻率顯示位數,程序調整被測高頻信號發生器輸出頻率,在測量接收機端獲取校準數據,實現頻率準確度測量。
程序控制測量接收機先進行頻率調諧,然后測量該頻點的絕對電平值,實現各頻率點絕對電平準確度測量。相對電平準確度測量過程中,代碼控制被測高頻信號發生器調整輸出電平值和變換頻率點,測量接收機完成相對電平準確度測量,測量接收機在-40dBm和-80dBm處需進行量程校準,等待時間較長,使用T1指令進行保持,然后用T3指令進行延遲觸發,保證量程校準過程順利完成,幅度調制、頻率調制由測量接收機進行測量,代碼按照參數設置控制測量接收機和被測高頻信號發生器,進行這部分參數測量,通過試驗發現,在進行解調失真、伴隨調頻和伴隨調幅測量時,須同時使用T1T3指令和timedelay指令,才能使測量結果穩定準確。
單邊帶相位噪聲和諧波部分由頻譜儀進行測量,諧波測量中如果采用常規的同一個屏幕中同時顯示基波、二次諧波和三次諧波并應用峰值搜索指令時,會出現光標不能到達諧波峰值處而到達某些毛刺處的情況,因此采用分離測量方法,即在屏幕處分別單獨顯示基波、二次諧波和三次諧波,設置SPAN為頻率值的二十分之一,同時為避免由于程序運行速度過快造成無法讀取峰值的情況,使用*WAI等待命令和單次掃描的方法,獲取準確諧波結果。
由于被測高頻信號發生器種類眾多,不同系列間的指令形式各不相同,為解決這種問題,程序將相同系列的高頻信號發生器分為一組,使用相同的代碼,不同系列間使用判斷語句進行選擇,用戶校準前在主界面選擇被測高頻信號發生器型號,程序會根據用戶選擇在執行過程中選擇相應的代碼運行,以實現對多種型號高頻信號發生器校準。

表1 相對電平準確度比較

圖1 系統框圖
在設備測量數據處理方面,由于測量接收機在測量各個參數時,測量數據在儀器內部以“+**********E+**”的格式存放,并不是直接給出測量結果,頻譜分析儀也存在相同問題,并且不同參數的測量結果位數不同。因此在程序中針對不同設備不同測量參數結果,分別編寫字符處理子過程,在處理結果時調用子過程,將結果處理為正常格式。
高頻信號發生器種類繁多,要求校準的點并不相同,存在校準點識別及輸入問題。在輸出方面如果測量數據人工記錄就會大大降低效率。筆者在開發過程中,使用OLE技術實現Word讀寫操作和控制,實現校準過程中實時讀取Word內容和校準數據實時回寫到Word表格并實時顯示。
OLE(Object Linking and Embedding,對象鏈接與嵌入)是微軟推出的在不同應用程序間進行互相操控的技術,它允許用戶通過一個程序控制另一個程序,被控方為“自動化服務器”,控制方為“自動化控制器”[2]。OLE可以被編程語言訪問,編程語言通過OLE技術編寫程序對Office軟件進行控制,達到提高操作效率的目的。
VB6將Word中如表格,段落等元素作為對象,通過操作各個對象實現對Word操控。本系統中涉及的對象有Application,Range,Documents,Tables(包括Columns,Rows和Cell)[3]。其中Application表示Word應用程序,Range表示文檔一個連續范圍,Documents表示被打開的所有文檔,Tables代表表格,其中Columns,Rows和Cell分別代表列,行和單元格。
筆者為不同型號高頻信號發生器制作不同Word格式原始記錄。
程序運行后進行Word初始化,使用“Set WordApp=CreateObject("Word.Application")”語句返回Word Application對象,并將它賦給WordApp,通過使用該變量對Word進行控制。使用“Set Word=WordApp.Documents.Open(file)”語句打開文件名為“file”的原始記錄文件。以第2個“絕對電平準確度”表格為例說明表格讀寫過程。該表格第一列為絕對電平所在頻率點,第二列為電平測量結果。使用“RowsNumber=ActiveDocument.
Tables(2).Rows.count”語句計算該表格的行數,用做循環次數。從第2行開始使用“tablecontent=ActiveDocument.Tables(2).Cell(RowsID,1).Range.Text”語句讀取第2個表格第1列第RowsID行所在單元格內容,送入系統進行參數設置和校準,該點計量完畢后使用“Word.Tables(2).Cell(RowsID,1+1)=RFResult”語句將數據實時寫入到第2個表格中第2列第RowsID行所在單元格。然后程序重復上述步驟,自動進入下一點測試,直到該表格所有點校準完畢,然后進入下一個表格,進行下一個參數校準。程序編寫了自動計算表格行數語句,用戶可以任意刪減表格行數以達到任意更改絕對電平測量點數量,同時也可以根據需要任意修改絕對電平測量點數據,從而實現只需修改表格行數和內容而不需修改程序來達到更改校準點的目的。
為測試高頻信號發生器自動校準系統性能,選取典型指標相對電平準確度,采用對人工和自動方式測量結果進行比較進行驗證。在相同條件下,對同一臺高頻信號發生器測量,測量結果如表1。從表可以看出最大差異為0.03dB,小于評定的校準結果擴展不確定度0.22dB。
本文提出了基于GPIB接口的高頻信號發生器自動校準系統實現方案,實現過程中充分利用系統資源和指令集,對程序進行數據采集、數據處理和輸入輸出方面的優化,使得該設備測量效率大幅提高。系統涵蓋了規程中規定的高頻信號發生器使用中需要進行校準的項目,用戶也可以根據需要調整改變測量項目,校準速度比手動快4-5倍以上。系統在校準時可以實時打開原始記錄,用戶可以監看校準結果,校準完成后生成WORD格式的記錄報告。
[1]國家質量監督檢驗檢疫總局.JJG 173-2003信號發生器檢定規程.
[2]徐國平,郭力平.VBA中文版程序設計與應用[M].清華大學出版社,1998,10.
[3]何振林,胡綠慧.MS Office與VBA高級應用案例教程[M].中國水利水電出版社,2010,09.