馬帥帥 鄧嘉輝 雷 潔 肖苗苗
(航天科工防御技術(shù)研究試驗(yàn)中心 北京 100854)
恒溫晶振通過溫控電路對(duì)器件內(nèi)部的溫度進(jìn)行控制,從而讓其內(nèi)部石英諧振器的頻率溫度系數(shù)最小,以實(shí)現(xiàn)較高的頻率穩(wěn)定度,恒溫晶振是目前頻率穩(wěn)定度和精確度最高的晶體振蕩器。在對(duì)恒溫晶振的性能進(jìn)行評(píng)判時(shí),頻率穩(wěn)定度指標(biāo)是最重要的考量指標(biāo)[1],對(duì)它的測(cè)試要在變溫的條件下進(jìn)行[2],因此針對(duì)恒溫晶振的測(cè)試解決方案必然是一套基于溫箱、矩陣開關(guān)、測(cè)試儀表、電源等設(shè)備的集成方案[3]。
隨著計(jì)算機(jī)技術(shù)的進(jìn)步,數(shù)字化儀器、智能化儀器也得到快速發(fā)展。在工程上越來越多的儀器希望與計(jì)算機(jī)連接并組成智能控制系統(tǒng),以面對(duì)設(shè)備種類多、獨(dú)立性高、操作復(fù)雜的窘境[4~5]。Lab-VIEW作為一種圖形化編程語言,支持Windows系統(tǒng),并借助于強(qiáng)大的VISA架構(gòu),向上/向下都展現(xiàn)出了良好的兼容性,方便工程師快捷地部署解決方案,目前已成為工業(yè)控制領(lǐng)域一門重要的編程語言[6~7]。
本系統(tǒng)是基于試驗(yàn)室現(xiàn)有設(shè)備進(jìn)行的數(shù)字化改造項(xiàng)目,在進(jìn)行需求分析之前,先對(duì)現(xiàn)有設(shè)備進(jìn)行了梳理,設(shè)備清單如表1所示。
表1 試驗(yàn)室現(xiàn)有設(shè)備清單
如上表所示,恒溫晶振測(cè)試系統(tǒng)是基于Lab-VIEW語言,以矩陣開關(guān)和繼電器作為控制裝置,通過溫箱、電源、頻率計(jì)的程控指令,實(shí)現(xiàn)恒溫晶振的自動(dòng)測(cè)試。
對(duì)于頻率穩(wěn)定性的測(cè)試,恒溫晶振一般有如下的測(cè)試要求:測(cè)量單個(gè)晶振某個(gè)溫度下的頻率時(shí),當(dāng)溫箱的溫度達(dá)到目標(biāo)溫度時(shí),還要對(duì)器件加電一段固定的時(shí)間,再進(jìn)行測(cè)試,依次類推完成M個(gè)溫度點(diǎn)下的頻率測(cè)試。在測(cè)試頻率穩(wěn)定性之余,還要測(cè)試器件的工作電流。
從表1中可看出,恒溫晶振測(cè)試系統(tǒng)的硬件平臺(tái)包含6種設(shè)備,通訊接口有3大類,基于試驗(yàn)室現(xiàn)有條件搭建了如下的硬件平臺(tái)。
圖1 系統(tǒng)硬件平臺(tái)
如上圖所示,計(jì)算機(jī)在整個(gè)系統(tǒng)中作為上位機(jī),通過USB-GPIB-HS+、USB轉(zhuǎn)串口線、網(wǎng)線與儀器設(shè)備進(jìn)行通信,矩陣開關(guān)等儀器設(shè)備作為下位機(jī),以LabVIEW軟件為上位機(jī)軟件平臺(tái),基于它開發(fā)測(cè)試程序?qū)崿F(xiàn)各個(gè)設(shè)備儀器之間的協(xié)同工作。
對(duì)于系統(tǒng)的軟件結(jié)構(gòu)設(shè)計(jì),具體的軟件流程圖如圖2所示。
圖2 軟件流程圖
從圖中可看出,軟件的工作流程可以分解為以下步驟。
Step1:程序啟動(dòng),設(shè)備自檢,為變量m、n賦初值,分別為1、1,同時(shí)將其傳遞到下一步;
Step2:執(zhí)行順序結(jié)構(gòu),進(jìn)入while循環(huán)1,執(zhí)行其中的順序結(jié)構(gòu),在其中嵌套了第二個(gè)while循環(huán)監(jiān)控溫箱內(nèi)部溫度,當(dāng)溫度達(dá)到第m個(gè)溫度點(diǎn)時(shí),事件結(jié)構(gòu)進(jìn)行響應(yīng),控制程控電源和繼電器對(duì)N個(gè)器件同時(shí)加電一段固定時(shí)間;
Step3:繼續(xù)執(zhí)行順序結(jié)構(gòu),進(jìn)入while循環(huán)2,依次對(duì)矩陣開關(guān)的16個(gè)射頻通道進(jìn)行切換,同時(shí)控制頻率計(jì)對(duì)每通道上器件的頻率進(jìn)行測(cè)試和采集;
Step4:繼續(xù)執(zhí)行順序結(jié)構(gòu),進(jìn)入while循環(huán)3,控制繼電器,每次只對(duì)一只晶振加電,測(cè)試和采集電源端的輸出電流,即為該晶振的工作電流;
Step5:對(duì)變量m進(jìn)行加1操作,再次進(jìn)入while循環(huán)1,重復(fù)上述步驟2~4,直至循環(huán)M次,保存數(shù)據(jù),跳出循環(huán),程序結(jié)束。
系統(tǒng)中溫箱僅支持UDP協(xié)議,溫箱廠家非VXI聯(lián)盟廠家,程控命令為非典型SCPI命令集,不支持VISA函數(shù),需采用UDP函數(shù)進(jìn)行封裝。LabVIEW中支持基于UDP協(xié)議的儀器控制函數(shù)[8],如圖3所示。
圖3 UDP函數(shù)界面
系統(tǒng)中使用USB 6525作為繼電器,在NI-MAX中創(chuàng)建數(shù)字任務(wù),將其接入電源電路,在LabVIEW中進(jìn)行調(diào)用即可,便捷高效。
系統(tǒng)中用到的射頻程控開關(guān)、電源、頻率計(jì)及電源均支持GPIB(IEE488.2)接口,具體連接方式如圖4所示。
圖4 多個(gè)GPIB接口連接示意圖
其中射頻開關(guān)的使廠家并未提供驅(qū)動(dòng)程序,需使用VISA函數(shù)將其控制指令封裝成子VI[9]?;贚abVIEW的軟件系統(tǒng)框架如圖5所示。
圖5 系統(tǒng)框架圖
從低層到頂層包括三部分:VISA庫、儀器驅(qū)動(dòng)程序、應(yīng)用軟件。VISA(Virtual Instrumentation Software Architecture)庫是標(biāo)準(zhǔn)的I/O函數(shù)庫及其相關(guān)規(guī)范的總稱,一般稱這個(gè)I/O函數(shù)庫為VISA庫[10~11]。VISA架構(gòu)是VXI標(biāo)準(zhǔn)的核心架構(gòu),聯(lián)通了應(yīng)用層和物理層,簡(jiǎn)化了儀器控制的工作。VISA功能函數(shù)庫是與儀器接口種類、編程語信及操作系統(tǒng)無關(guān)的I/O控制函數(shù)庫,并且其應(yīng)用程序很容易從一種開發(fā)平臺(tái)移植到另一種平臺(tái)。儀器驅(qū)動(dòng)程序封裝了計(jì)算機(jī)與儀器通信的硬件底層編程細(xì)節(jié),為用戶提供了容易理解的接口。每個(gè)儀器模塊都有自己的儀器驅(qū)動(dòng)程序,儀器廠商將其以源代碼的形式提供給用戶,可互換的虛擬儀器(IVI)驅(qū)動(dòng)程序是更為復(fù)雜的儀器驅(qū)動(dòng)程序[12~13]。
LabVIEW中實(shí)現(xiàn)報(bào)表生成的方法主要有三種,分別NI公司的報(bào)表生成工具包、File I/O類函數(shù)以及專門的表格處理軟件[9]。報(bào)表生成工具包因?qū)崿F(xiàn)簡(jiǎn)單成為優(yōu)先選擇,用Excel預(yù)先編制好符合標(biāo)準(zhǔn)的報(bào)表,用LabVIEW完成測(cè)量、檢定和數(shù)據(jù)處理等任務(wù),把最終得到的數(shù)據(jù)、結(jié)論等,利用Lab-VIEW的程序間通信功能,傳遞到Excel上,并且把各項(xiàng)數(shù)據(jù)分別寫入表格中預(yù)先規(guī)定好的位置,使數(shù)據(jù)得以保存。
基于模塊化編程的理念,本系統(tǒng)中各個(gè)功能部分盡可能地切割成了一個(gè)個(gè)子模塊,在降低代碼量的同時(shí)又便于后期的維護(hù)。本系統(tǒng)基于硬件和功能兩方面的考量,將系統(tǒng)分為主程序模塊、矩陣開關(guān)模塊、頻率計(jì)模塊、電源模塊、繼電器模塊、頻率計(jì)模塊、溫箱控制模塊、報(bào)表生成模塊等8個(gè)部分,在主程序模塊中可以對(duì)其他模塊的代碼進(jìn)行調(diào)用,開發(fā)起來十分方便,最終的程序主界面如圖6所示。
圖6 程序主界面
軟件化測(cè)試早已成為測(cè)試行業(yè)的主流方式,不僅可以提高效率也可以提升測(cè)試質(zhì)量,在本項(xiàng)目中體現(xiàn)十分充分,同時(shí)LabVIEW軟件以其跨平臺(tái)的兼容性、儀器驅(qū)動(dòng)的豐富性在系統(tǒng)集成領(lǐng)域使用十分廣泛[14~15]。本文基于LabVIEW的恒溫晶振測(cè)試系統(tǒng),將原本繁雜的測(cè)試工作變得簡(jiǎn)單,大幅降低了工作人員的時(shí)間成本,將工作效率成倍提升。