《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 溫控振蕩器的環(huán)境試驗(yàn)測(cè)試技術(shù)
溫控振蕩器的環(huán)境試驗(yàn)測(cè)試技術(shù)
馮 祎 杜太行
1.河北工業(yè)大學(xué) 信息工程學(xué)院,天津 300130;2.西迪斯(天津)電子有限公司,天津 30045
摘要: 闡述了由GPIB接口組成的程控儀器搭建程控測(cè)試平臺(tái)的設(shè)計(jì)思想,說(shuō)明了系統(tǒng)總體設(shè)計(jì)、接口電路、驅(qū)動(dòng)電路以及檢測(cè)電路設(shè)計(jì)方法。給出了VB 6.0環(huán)境下測(cè)試軟件、GPIB、I/O以及數(shù)據(jù)的遠(yuǎn)程數(shù)據(jù)庫(kù)存儲(chǔ)的設(shè)計(jì)方法。
Abstract:
Key words :
</a></a>  石英晶體振蕩器雖然具有高振蕩頻率和高穩(wěn)定性(Q值很高),但它受外界環(huán)境溫度的影響也較大,應(yīng)用場(chǎng)合有較大的局限性。溫控振蕩器OCXO(Oven-Controlled" title="led">led" title="led">led Crystal Oscillator)正是彌補(bǔ)了石英晶體振蕩器易受環(huán)境溫度影響這一缺陷。它利用恒溫槽使石英晶體振蕩器所處環(huán)境溫度保持恒定,將周圍環(huán)境溫度變化引起的振蕩器輸出頻率變化量削減到最小[1]。OCXO是一種高穩(wěn)定的振蕩器,被廣泛應(yīng)用在手機(jī)的基站、高精密的測(cè)試儀器、標(biāo)準(zhǔn)時(shí)鐘源和航空、航天領(lǐng)域。因此,它的質(zhì)量,特別是在不同環(huán)境溫度下工作的穩(wěn)定性備受關(guān)注,環(huán)境試驗(yàn)是考核外界溫度變化時(shí)產(chǎn)品頻率的變化量。它是判斷產(chǎn)品好壞十分重要的參數(shù)。虛擬測(cè)試技術(shù)改變了傳統(tǒng)以硬件為主的電子測(cè)試自動(dòng)化模式。無(wú)論是將數(shù)據(jù)采集單元裝在計(jì)算機(jī)內(nèi)構(gòu)成的虛擬儀器,還是將微處理器裝在測(cè)試儀器中構(gòu)成程控儀器,由于充分發(fā)揮了軟件的強(qiáng)大功能,使電子測(cè)試自動(dòng)化系統(tǒng)的構(gòu)建成本日益降低,大大擴(kuò)展了其應(yīng)用范圍。本文主要闡述基于GPIB總線的OCXO環(huán)境試驗(yàn)中的測(cè)量與控制技術(shù)。
1  系統(tǒng)組成
  環(huán)境試驗(yàn)測(cè)試系統(tǒng)將程控儀器、測(cè)試總線、計(jì)算機(jī)與測(cè)試軟件相結(jié)合,構(gòu)成通用的虛擬溫控測(cè)試平臺(tái),原理框圖如圖1所示。
 

   測(cè)試平臺(tái)的構(gòu)成由主機(jī)(采用PC機(jī)作為主控設(shè)備)和程控儀器群通過(guò)通用的標(biāo)準(zhǔn)測(cè)試總線連接。測(cè)試軟件采用VB 6.0語(yǔ)言。
    系統(tǒng)采用GPIB作為接口總線,GPIB是HP公司20世紀(jì)70年代初開發(fā)的通用儀器控制接口總線標(biāo)準(zhǔn)。它的特點(diǎn)是:積木式結(jié)構(gòu),可拆卸、易于重建;控制器可以是計(jì)算機(jī)、微處理器或簡(jiǎn)單的程序控制器;數(shù)據(jù)傳送可靠,使用靈活,價(jià)格低廉[2]。因此,GPIB廣泛應(yīng)用于對(duì)測(cè)試儀器進(jìn)行計(jì)算機(jī)控制。根據(jù)測(cè)試要求選用了53132A頻率計(jì)、6632B電源、4366可編程程控溫箱和射頻切換模塊7000/8811A。
2 測(cè)試系統(tǒng)的硬件設(shè)計(jì)
2.1 測(cè)試系統(tǒng)的接口模塊

  53132A是Agilent公司生產(chǎn)的頻率計(jì)數(shù)器,它的最高頻率分辨率可達(dá)12位,單次時(shí)間間隔分辨率指標(biāo)規(guī)定為150 ps。53132A還具有外同步性能,可用一個(gè)外部信號(hào)來(lái)控制時(shí)間間隔測(cè)量。為了保證頻率計(jì)數(shù)器測(cè)量的準(zhǔn)確性,可以加入外部時(shí)鐘。6632B是Agilent公司生產(chǎn)程控直流電源,該電源具有GPIB控制接口。S&A 4366 Temperature Test Chamber是美國(guó)SAUNDERS公司生產(chǎn)具有GPIB控制接口的可編程程控溫箱。如果使用CO2作為制冷劑,它的溫度控制范圍是-55℃~200℃/LCO2。它的穩(wěn)定范圍是±0.2℃,符合系統(tǒng)的要求。7000/8811A是MATRIX SYSTEM公司的產(chǎn)品。它是1個(gè)12輸入、1輸出可選擇的射頻轉(zhuǎn)換開關(guān)模塊,工作范圍DC~800 MHz,控制轉(zhuǎn)換信號(hào)為TTL電平,控制接口為1個(gè)形如15針串行口的接口。1~12針為控制端,選通1~12 RF輸入,低電位選通、高電位截止。
2.2  溫控振蕩器振蕩信號(hào)檢測(cè)
    系統(tǒng)采用的檢測(cè)電路原理如圖2所示。

    放置在程控溫箱中的12個(gè)被測(cè)試品通過(guò)50 Ω RF電纜連接到射頻切換模塊7000/811A上,計(jì)算機(jī)通過(guò)I/O卡和驅(qū)動(dòng)卡實(shí)現(xiàn)12選1,該信號(hào)輸入到計(jì)數(shù)器53132A。計(jì)算機(jī)通過(guò)GPIB總線向所有程控儀器發(fā)送、接收控制指令。如設(shè)置程控電源電壓、控制溫箱升降溫、讀取計(jì)數(shù)器數(shù)據(jù)等。
2.3  I/O卡和驅(qū)動(dòng)卡
    I/O卡和驅(qū)動(dòng)卡的電路原理圖如圖3所示。

    I/O卡是1塊8255可編程并行接口為核心的接口卡。8255的PB口用PB0~PB3實(shí)現(xiàn)12選1,通過(guò)驅(qū)動(dòng)卡控制7000/8811A射頻切換模塊的輸入端與頻率計(jì)53132A計(jì)數(shù)器連接。8255的PC口用于驅(qū)動(dòng)卡的選通,以便于系統(tǒng)擴(kuò)展[3]。
3  軟件系統(tǒng)
   測(cè)試程序軟件采用VB 6.0語(yǔ)言編寫。VB 6.0是Microsoft公司推出的一種可視化編輯軟件,適合于Windows平臺(tái),它簡(jiǎn)單易用,適用面廣,無(wú)論是通信、數(shù)據(jù)庫(kù),還是多媒體以及普通的Windows應(yīng)用程序,都可以用VB進(jìn)行開發(fā)。VB的可視化指的是開發(fā)圖形用戶界面(GUI)的方法。使用這種方法,用戶不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象托放到屏幕上即可,方便快捷[4-5]。
3.1 測(cè)試流程
    圖4為此環(huán)境試驗(yàn)測(cè)試程序的主界面,程序流程圖如圖5所示。

    系統(tǒng)首先進(jìn)行預(yù)測(cè),其作用是在對(duì)測(cè)試品進(jìn)行溫度環(huán)境測(cè)試之前,檢查測(cè)試本身或測(cè)試與測(cè)試制具接觸是否存在問(wèn)題。具體方法是,檢測(cè)試品否有頻率輸出、輸出頻率是否合理。當(dāng)確定所有產(chǎn)品工作狀況正常時(shí),進(jìn)入測(cè)試程序。
    測(cè)試程序啟動(dòng)后,系統(tǒng)根據(jù)用戶選擇的試品型號(hào)調(diào)入預(yù)先設(shè)定的測(cè)試參數(shù),根據(jù)控制參數(shù)設(shè)定電源電壓以及最大電流,輪流給試品供電。然后根據(jù)溫度控制參數(shù),控制溫箱升、降溫,當(dāng)?shù)竭_(dá)指定溫度后,根據(jù)設(shè)定等候一段時(shí)間使試品在該溫度下穩(wěn)定,確保測(cè)量的準(zhǔn)確性。
    計(jì)算機(jī)通過(guò)I/O以及驅(qū)動(dòng)卡控制7000/8811A模塊切換試品,由頻率計(jì)53132A讀出當(dāng)時(shí)產(chǎn)品的實(shí)際輸出頻率保存數(shù)組,并進(jìn)行下一個(gè)溫度點(diǎn)的測(cè)試。
   當(dāng)所有溫度點(diǎn)的測(cè)試完成后并合格時(shí),需要進(jìn)行有源效應(yīng)測(cè)試,即檢測(cè)供電電源變化對(duì)產(chǎn)品輸出頻率的影響。具體要求是,控制電源在額定電壓范圍內(nèi)變化,由53132A讀出頻率值并算出頻差。
3.2 GPIB總線與I/O卡的驅(qū)動(dòng)程序
    計(jì)算機(jī)通過(guò)GPIB總線與53132A頻率計(jì)、6632B電源、4366可編程程控溫箱等設(shè)備連接。這些測(cè)量?jī)x器和設(shè)備均帶GPIB接口并預(yù)先設(shè)定好地址。計(jì)算機(jī)內(nèi)部插入GPIB控制卡,美國(guó)NI公司提供的一個(gè)程序模塊GPIB.bas用于驅(qū)動(dòng)該控制卡,實(shí)現(xiàn)計(jì)算機(jī)與外圍設(shè)備和測(cè)量?jī)x間的數(shù)據(jù)傳輸。下面程序是計(jì)算機(jī)與53132A頻率計(jì)數(shù)據(jù)通信程序片段:
53132A頻率計(jì)初始化
Private Sub ini_counter ( )
Dim setstr As String
Send 0, counter, “*RST”, Nlend  ‘Reset counter, counter變
           ‘量代表計(jì)數(shù)器的地址,0代表控制卡地址
Send 0, counter, "*CLS", NLend   ′Clear status
Send 0, counter, "*SRE 0", NLend    ′Disable service
                      ′request (0)
Send 0, counter,":FUNC 'FREQ 1'",  NLend ′Measure
                      ′frequency on channel 1
Send 0, counter, ":INPUT1:IMPEDANCE 50", NLend ′Input
                      ′1 set to 50 ohms
setstr= ":SENSE:FREQ:ARM:STOP:TIM " & "1.0"
Send 0, counter, setstr, NLend     ' Set the gate time
Send 0, counter, ":SENS:EVEN1:LEV 0V", NLend
Send 0, counter, ":TRIG:COUN:AUTO OFF",NLend ′Single measurement when triggered
Exit Sub
  讀取53132A頻率計(jì)數(shù)據(jù)
Public Sub Read_freq(ByRef F As Double)
Dim Freq As String
     Send 0, counter, ":SENSE:FREQ:ARM:STOP:
     TIM " & "1.0" & ";:READ?", NLend
  Freq = "                               "
  Receive 0, counter, Freq, STOPend
  F=Val(Freq)
End Sub
    計(jì)算機(jī)通過(guò)I/O以及驅(qū)動(dòng)卡控制7000/8811A模塊切換試品,該驅(qū)動(dòng)程序?yàn)镹TPort Library 2.5,程序片段如下:
   I/O計(jì)初始化
Private Sub init_iocard()
Outport CR, &H90 ′Port A as input, port B & C as output
Outport PB, &H0  ′clear ports
Outport PC, &H0
End Sub
    程序運(yùn)行Outport時(shí),程序會(huì)調(diào)用IO_Routine這個(gè)模塊,如下:
Declare Function Inport Lib "IO.dll" Alias "PortIn" (ByVal port As Integer) As Integer
Declare Function Outport Lib "IO.dll" Alias "PortOut" (ByVal port As Integer, ByVal Data As Integer) As Integer
Global Const PA = &H2C0
Global Const PB = &H2C1
Global Const PC = &H2C2
Global Const CR = &H2C3
    當(dāng)程序調(diào)用I/O控制時(shí),程序調(diào)用:
Private Sub RF_Switch(Switch As Integer, Switch_Pos As Integer) ‘Switch代表第幾個(gè)驅(qū)動(dòng)卡,Switch_pos代表1個(gè)驅(qū)動(dòng)卡上控制的第幾個(gè)位置
Switch_Pos=(Switch-1) * 16+Switch_Pos-1
Outport PC, Switch
Outport PB, (Switch-1) * 16+Switch_Pos-1
End Sub
3.3 測(cè)試數(shù)據(jù)存儲(chǔ)技術(shù)
    測(cè)試子程序運(yùn)行完畢后,所有數(shù)據(jù)將被存入網(wǎng)上的Access 2000數(shù)據(jù)庫(kù)中。VB提供了DAO模型與Microsoft Jet數(shù)據(jù)庫(kù)引擎接口的方法。DAO模型是全面控制數(shù)據(jù)庫(kù)的完整編程接口,它是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。首先在網(wǎng)上服務(wù)器使用Access 2000創(chuàng)建1個(gè)TempData.mdb數(shù)據(jù)庫(kù),并將其路徑Map到本地機(jī)上,即I:\ 鏡像盤。
    在VB 6.0中從工程(P)-〉部件(O)選擇Microsoft ADO Data Control 6.0(OLEDB),從工程(P)-〉引用(N)選擇Microsoft ActiveX Data Objects 2.0 Library,將Adodb控件添加到程序的圖形界面上。在程序中使用Dim語(yǔ)句給數(shù)據(jù)庫(kù)中的每1個(gè)對(duì)象創(chuàng)建對(duì)象變量。如下:
Private objConn As Adodb.Connection
Private objRec As Adodb.Recordset
Dim strconnectionstring As String
   然后指明對(duì)象變量:
strconnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\Tempdata.mdb"  ‘指明數(shù)據(jù)源
Set objConn = New Adodb.Connection  ‘Connection對(duì)象描述了到數(shù)據(jù)源的物理連接
objConn.Open strconnectionstring  ‘打開一個(gè)數(shù)據(jù)源連接
Set objRec = New Adodb.Recordset  ‘通過(guò)Recordset對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作
objRec.Open "Data_SN", objConn, adOpenKeyset,adLockPessimistic   ‘打開數(shù)據(jù)庫(kù)中的Data_SN表
  將測(cè)得的數(shù)據(jù)存入數(shù)據(jù)庫(kù)中的Data_SN表中
     With objRec
       .AddNew         ‘向表中增加新的數(shù)據(jù)
       !SN = sn(i)        ‘輸入序列號(hào)
       !Model = model      ‘輸入機(jī)種號(hào)
       If mark(i) = “FAIL” Then  ‘輸入產(chǎn)品測(cè)后狀態(tài)(好、壞)
          !Passed = False
       Else: !Passed = True
       End If
       .Update
  End With
  objRec.Close             ‘存儲(chǔ)完后關(guān)閉表Data_SN
  objConn.Close            ‘關(guān)閉數(shù)據(jù)庫(kù)連接
  Set objRec = Nothing
  Set objConn = Nothing
3.4 檢測(cè)結(jié)果判定
   采用式(1)計(jì)算實(shí)際頻率的偏差值(ppm),式中f0為試品規(guī)定中心頻率。
  
  按照式(1)計(jì)算各個(gè)溫度點(diǎn)間頻率的漂移是否超限。當(dāng)漂移在允許范圍內(nèi),繼續(xù)進(jìn)行有源效應(yīng)測(cè)試。實(shí)際測(cè)量時(shí)也可以采用如下的方法:
  

   利用程控儀器搭建虛擬溫控測(cè)試平臺(tái)來(lái)測(cè)試不同溫度環(huán)境下產(chǎn)品頻率,通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)匯總于網(wǎng)絡(luò)上的數(shù)據(jù)庫(kù)服務(wù)器。直觀地展示了測(cè)試結(jié)果,并便于數(shù)據(jù)查詢。這種方法改變了以往繁瑣的手動(dòng)設(shè)置溫度、測(cè)量和讀數(shù)、計(jì)算過(guò)程,既節(jié)省了測(cè)試時(shí)間,又提高了測(cè)試測(cè)量的精度,使整個(gè)測(cè)量過(guò)程變得方便、快捷、準(zhǔn)確、可靠。
參考文獻(xiàn)
[1] 高益,劉剛,于軍,等.微機(jī)控制OCXO測(cè)溫電路的設(shè)計(jì)與分析[J].壓電與聲光,2006,28(1).
[2] 于英民,于佳.計(jì)算機(jī)接口技術(shù)[M].北京:電子工業(yè)出版社,2004.
[3] PAUL Oh. 8255 PPI IBM PC interface card[EB/OL].
http://www.boondog.com/tutorials/8255/8255.htm.2000.
[4] 鄭阿奇,曹戈.Visual Basic實(shí)用教程[M].北京:電子工業(yè)出版社,2003.
[5] 李蘭友.Visual Basic程序設(shè)計(jì)教程[M].天津:天津大學(xué)出版社,2004.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。