《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的恒溫晶振頻率校準(zhǔn)系統(tǒng)的設(shè)計(jì)
基于FPGA的恒溫晶振頻率校準(zhǔn)系統(tǒng)的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2010年第7期
盧祥弘1,4,, 陳儒軍1,2,3,, 何展翔4
1. 中南大學(xué) 信息物理工程學(xué)院,,湖南 長(zhǎng)沙410083,;2. 中南大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)博士后流動(dòng)站,, 湖南 長(zhǎng)沙 410083;3. 中國(guó)石油集團(tuán)東方地球物理公司 博士后科研工作站,,河北 涿州072751,;4. 中國(guó)石油集團(tuán)東方地球物理公司 綜合物化探事業(yè)部,河北 涿州072751
摘要: 為滿足三維大地電磁勘探技術(shù)對(duì)多個(gè)采集站的同步需求,,基于FPGA設(shè)計(jì)了一種晶振頻率校準(zhǔn)系統(tǒng),。系統(tǒng)可以調(diào)節(jié)各采集站的恒溫壓控晶體振蕩器同步于GPS,從而使晶振能夠輸出高準(zhǔn)確度和穩(wěn)定度的同步信號(hào),。系統(tǒng)中使用FPGA設(shè)計(jì)了高分辨率的時(shí)間間隔測(cè)量單元,,達(dá)到0.121 ns的測(cè)量分辨率,能對(duì)晶振分頻信號(hào)與GPS秒脈沖信號(hào)的時(shí)間間隔進(jìn)行高精度測(cè)量,,縮短了頻率校準(zhǔn)時(shí)間,。同時(shí)在FPGA內(nèi)部使用PicoBlaze嵌入式軟核處理器監(jiān)控系統(tǒng)狀態(tài),,并配合滑動(dòng)平均濾波法對(duì)測(cè)量得到的時(shí)間間隔數(shù)據(jù)實(shí)時(shí)處理,有效地抑制了GPS秒脈沖波動(dòng)對(duì)頻率校準(zhǔn)的影響,。
中圖分類號(hào):TM935.111
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)07-0101-04
The design of frequency calibration system for OCXO based on FPGA
LU Xiang Hong1,4, CHEN Ru Jun1,2,3, HE Zhan Xiang4
1. School of Info-physical and Geomatic Engineering, Central South University, Changsha 410083, China;2. Postdoctoral Station of Computer Science and Technology, Central South University, Changsha 410083,China;3. Postdoctoral Research Station of BGP, CPNC, Zhuozhou 072751, China;4. Non-seismic Survery, BGP, CNPC, Zhuozhou 072751, China
Abstract: In order to meet the demands of synchronization between signal acquisition stations in the three-dimensional magnetotelluric exploration technology, this paper designs an OCXO frequency calibration system for acquisition stations, which can be used to synchronize the OCXO in each acquisition station to GPS system with high accuracy and stability. We use FPGA to design a high resolution time interval measurement unit achieving 0.121 ns resolution, which can measure the time interval between the OCXO and GPS with a high precision and enhance the system working efficiency. In addition, soft IP processor PicoBlaze is employed to supervise the system status and coordinates with moving-average filtering algorithm to filter the fluctuation in measurement data, which can effectively suppress the fluctuation of 1-pps.
Key words : GPS; frequency calibration; time interval measurement; FPGA; PicoBlaze

    三維大地電磁勘探技術(shù)是以面元為單位,,多分量采集站為中心,多遠(yuǎn)參考,、互參考和密集布點(diǎn)為特征來(lái)獲得高質(zhì)量的采集數(shù)據(jù)[1],。野外施工時(shí),為了保持站點(diǎn)間同步地進(jìn)行數(shù)據(jù)采集,,一般采用GPS秒脈沖信號(hào)或恒溫晶振的定時(shí)信號(hào)來(lái)同步各個(gè)采集站點(diǎn),。前者在惡劣的施工環(huán)境下常會(huì)因?yàn)楦鞣N干擾而發(fā)生跳變,同步效果并不理想,。后者長(zhǎng)時(shí)間存在頻率漂移,,同樣無(wú)法維持長(zhǎng)時(shí)間的同步采集。
 為解決以上問(wèn)題,,本文將GPS授時(shí)信號(hào)用于校準(zhǔn)各站點(diǎn)的壓控晶振,,之后再使用晶振分頻得到定時(shí)信號(hào)來(lái)同步各采集站點(diǎn)。這樣不僅克服了GPS授時(shí)信號(hào)易受外界干擾的缺點(diǎn),,也解決了晶振頻率隨時(shí)間漂移的問(wèn)題,,能獲得較為理想的同步信號(hào)。為了使本地晶振長(zhǎng)時(shí)間地同步于GPS系統(tǒng),,就需要不斷測(cè)量GPS授時(shí)信號(hào)與本地晶振的分頻信號(hào)的時(shí)間間隔[2],,再根據(jù)測(cè)量數(shù)據(jù)來(lái)校準(zhǔn)和同步本地晶振。因此,,時(shí)間間隔測(cè)量的準(zhǔn)確性是保證頻率校準(zhǔn)系統(tǒng)工作性能的關(guān)鍵,。本文基于FPGA集成度高、高速和高可靠性的特點(diǎn),,介紹了晶振頻率校準(zhǔn)系統(tǒng)在FPGA中的設(shè)計(jì)方法,。系統(tǒng)的特點(diǎn)是使用FPGA內(nèi)部進(jìn)位邏輯構(gòu)造延遲線來(lái)實(shí)現(xiàn)時(shí)間間隔測(cè)量,大大提高了測(cè)量分辨率,,同時(shí)使用FPGA嵌入式軟核處理器PicoBlaze對(duì)系統(tǒng)狀態(tài)進(jìn)行監(jiān)控,,并對(duì)測(cè)量數(shù)據(jù)進(jìn)行濾波處理,充分發(fā)揮了FPGA的集成優(yōu)勢(shì),。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)實(shí)現(xiàn)方案

 系統(tǒng)的原理如圖1所示,,主要由GPS接收模塊、FPGA測(cè)控模塊,、D/A轉(zhuǎn)換模塊和壓控恒溫晶振4部分組成,。GPS接收模塊用于輸出標(biāo)準(zhǔn)的1-pps脈沖信號(hào),F(xiàn)PGA測(cè)控模塊用于測(cè)量本地晶振分頻信號(hào)與1-pps信號(hào)的時(shí)間間隔,,并將所測(cè)值在PicoBlaze中進(jìn)行處理得到晶振輸出頻率相對(duì)于GPS系統(tǒng)的頻率偏差,,最后將結(jié)果作為D/A轉(zhuǎn)換模塊的輸入得到修正本地晶振頻率的控制電壓,。

1.2 測(cè)量原理
 時(shí)間間隔在FPGA中的測(cè)量的原理如圖2所示,使用1-pps秒脈沖信號(hào)與本地晶振分頻得到的100 kHz信號(hào)進(jìn)行比對(duì),得到的時(shí)差即是待測(cè)的時(shí)間間隔,。由于只采樣兩者的上升沿間的時(shí)間間隔,,所以用100 kHz分頻信號(hào)代替1 Hz秒信號(hào)與1-pps比對(duì),可以減小每次的測(cè)量值,,方便數(shù)據(jù)處理,。需要注意的是晶振相對(duì)于1-pps的時(shí)差范圍必須在100 kHz信號(hào)的一個(gè)周期內(nèi),即該信號(hào)的頻率決定了測(cè)量量程的大小,,可以根據(jù)實(shí)際測(cè)量需要來(lái)決定該信號(hào)的頻率,。

    圖2中T是待測(cè)的時(shí)間間隔,τ1是計(jì)數(shù)時(shí)鐘周期,,M是計(jì)數(shù)器在1-pps信號(hào)到來(lái)時(shí)的計(jì)數(shù)值,,N是計(jì)數(shù)器在100 Hz信號(hào)到來(lái)時(shí)的計(jì)數(shù)值,nτ2是由于1-pps脈沖上升沿和計(jì)數(shù)時(shí)鐘上升沿不一致所引起的測(cè)量誤差,,這部分誤差由內(nèi)插延遲線來(lái)測(cè)量,。由于100 kHz信號(hào)由晶振分頻得到,它和計(jì)數(shù)時(shí)鐘同步,,所以不會(huì)產(chǎn)生測(cè)量誤差,。因此,待測(cè)的時(shí)間間隔可以表示為:

1.3 延遲線模塊的設(shè)計(jì)
    為了在短時(shí)間內(nèi)校準(zhǔn)本地晶體振蕩器,,使之與GPS系統(tǒng)同步,,必須提高時(shí)間間隔的測(cè)量分辨率,在設(shè)計(jì)中使用了時(shí)間內(nèi)插技術(shù),。其基本原理是利用多個(gè)延時(shí)單元構(gòu)造延遲線,,待測(cè)信號(hào)在延遲線中的傳播信息便可以用來(lái)進(jìn)行時(shí)間間隔測(cè)量[3]。延遲線的實(shí)現(xiàn)主要依賴于內(nèi)插延遲單元延時(shí)的均勻性,,內(nèi)插延遲單元的單位延時(shí)決定了時(shí)間間隔測(cè)量系統(tǒng)的分辨率,。在FPGA中實(shí)現(xiàn)時(shí)間內(nèi)插,關(guān)鍵是在其結(jié)構(gòu)的基礎(chǔ)上利用內(nèi)部已有資源構(gòu)造出延遲線[4-6],。
    在XILINX公司FPGA的單元結(jié)構(gòu)中,,為了實(shí)現(xiàn)快速的數(shù)學(xué)運(yùn)算設(shè)置了許多專用的進(jìn)位邏輯資源,。這些進(jìn)位邏輯的延時(shí)很小,,而且它們之間可以相互連接組成進(jìn)位線,可以使用這種專用的進(jìn)位線作為延遲線來(lái)實(shí)現(xiàn)時(shí)間內(nèi)插[7],。如圖3所示,,設(shè)計(jì)中使用了Spartan-3系列的FPGA中專用的進(jìn)位邏輯逐個(gè)連接組成延遲線,一個(gè)進(jìn)位邏輯由查找表(LUT),、專用選通器(MUXCY)和專用異或門(XORCY)三部分構(gòu)成,。其總體結(jié)構(gòu)上類似一個(gè)多位二進(jìn)制加法器,兩個(gè)輸入的各位分別被置為1和0,,進(jìn)位信號(hào)沒(méi)來(lái)時(shí)加法器各位均為1。當(dāng)進(jìn)位信號(hào)到來(lái)時(shí)就會(huì)沿著進(jìn)位線一級(jí)一級(jí)地傳輸,,加法器每一位輸出值的變化就代表著信號(hào)的延遲信息,,時(shí)鐘前沿到達(dá)時(shí)就可以將這些信息鎖存入觸發(fā)器中。圖4是在一個(gè)時(shí)鐘周期的仿真中延遲線單元輸出經(jīng)過(guò)的延遲單元的個(gè)數(shù),,進(jìn)行直線擬合后的結(jié)果為:

   

    所以延遲線單元的測(cè)量分辨率約為1/8.257 4=0.121 ns.
1.4 計(jì)數(shù)器模塊的設(shè)計(jì)
  圖5簡(jiǎn)單描述了計(jì)數(shù)器模塊的基本構(gòu)造,。在計(jì)數(shù)器模塊的設(shè)計(jì)中,使用了Spartan-3系列的數(shù)字時(shí)鐘管理器,,主要目的是將晶振時(shí)鐘信號(hào)倍頻后作為計(jì)數(shù)器的工作時(shí)鐘,,保證時(shí)鐘周期小于延遲線的總延時(shí)。根據(jù)時(shí)序仿真所確定的延遲線單元的測(cè)量分辨率及長(zhǎng)度參數(shù),,將晶振頻率倍頻為200 MHz,。

 時(shí)鐘前沿附近計(jì)數(shù)器輸出為亞穩(wěn)態(tài),如果1-pps信號(hào)恰好在這個(gè)時(shí)刻到達(dá),,便會(huì)將錯(cuò)誤的計(jì)數(shù)值鎖存,。為了解決這個(gè)問(wèn)題,模塊中使用數(shù)字時(shí)鐘管理器輸出相位差為180°的兩路時(shí)鐘,分別驅(qū)動(dòng)兩個(gè)計(jì)數(shù)器同時(shí)工作,,這樣無(wú)論任何時(shí)刻都能保證其中之一的輸出為正確值,,之后再對(duì)兩者進(jìn)行判斷選擇。選擇信號(hào)由延遲線單元提供,,通過(guò)統(tǒng)計(jì)1-pps信號(hào)經(jīng)過(guò)延遲單元的個(gè)數(shù)來(lái)確定1-pps信號(hào)與時(shí)鐘前沿的時(shí)差,,然后輸出select信號(hào)。
 兩個(gè)計(jì)數(shù)器進(jìn)行循環(huán)計(jì)數(shù),,每個(gè)計(jì)數(shù)器都連接著兩組寄存器,,其中一組將GPS秒脈沖信號(hào)作為工作時(shí)鐘;另一組的時(shí)鐘信號(hào)與對(duì)應(yīng)計(jì)數(shù)器的時(shí)鐘相連接,,且其使能端與100 kHz分頻信號(hào)相連,。當(dāng)GPS秒脈沖和100 kHz信號(hào)到來(lái)時(shí),便會(huì)將計(jì)數(shù)值送入相應(yīng)的寄存器組,。這樣可以充分利用FPGA的全局時(shí)鐘資源,,使相應(yīng)的寄存器組都使用同一時(shí)鐘,保證寄存器觸發(fā)的同步性,。此外,,使用循環(huán)計(jì)數(shù)的方式也解決了傳統(tǒng)起停型計(jì)數(shù)器由于啟動(dòng)和停止信號(hào)不滿足建立保持時(shí)間而造成計(jì)數(shù)器輸出錯(cuò)誤的問(wèn)題。當(dāng)1-pps信號(hào)與100 kHz信號(hào)的前沿都到達(dá)后,,中斷單元將輸出中斷信號(hào),,用于通知PicoBlaze軟核讀取測(cè)量結(jié)果。
1.5 PicoBlaze軟核設(shè)計(jì)
 PicoBlaze是XILINX公司設(shè)計(jì)的8位微控制器軟核,可以嵌入到Cool Runner II,、Virtex-E,、Virtex-II(Pro) 和 Spartan3(E)的CPLD以及FPGA中,設(shè)計(jì)靈活方便[8]。PicoBlaze的端口總線提供8位地址(PORT_ID)和讀寫(xiě)選通信號(hào),,最多可以實(shí)現(xiàn)256個(gè)輸入和輸出端口,。接口設(shè)計(jì)如圖6所示,PicoBlaze用來(lái)接收延遲線模塊和計(jì)數(shù)器模塊輸出的結(jié)果,,同時(shí)讀取異步串行控制器(UART)的數(shù)據(jù)和狀態(tài)信息,。其中異步串行控制器直接調(diào)用XILINX的IP核,與外部GPS模塊進(jìn)行串行通信,。

 此外,,為了實(shí)現(xiàn)對(duì)測(cè)量數(shù)據(jù)的存儲(chǔ)以方便數(shù)據(jù)處理,PicoBlaze連接了一個(gè)FIFO數(shù)據(jù)緩沖,,用于暫存未處理的測(cè)量數(shù)據(jù),。如圖7所示,PicoBlaze每個(gè)讀寫(xiě)操作需要兩個(gè)時(shí)鐘周期,,此期間地址總線一直處于有效狀態(tài),,而讀寫(xiě)使能信號(hào)僅在第二個(gè)時(shí)鐘周期開(kāi)始有效,所以地址總線上可以連接適當(dāng)?shù)倪壿嬰娐愤M(jìn)行地址解碼,。

    設(shè)計(jì)中使用四路選通器分別連接計(jì)數(shù)器模塊,、延遲線模塊和FIFO緩沖的輸出,其中因計(jì)數(shù)器模塊中采用16位的計(jì)數(shù)器循環(huán)計(jì)數(shù),,為了與PicoBlaze輸入匹配,,須將計(jì)數(shù)值分兩部分接到選通器。異步串行控制器的輸出和狀態(tài)信息分別接到三路選通器,,剩余一路連接四路選通器的輸出,。由于UART和PicoBlaze使用的時(shí)鐘頻率和測(cè)量部分不同,為了提高數(shù)據(jù)傳輸?shù)目煽啃?,在選通器之間增加了流水線寄存器,。
 系統(tǒng)運(yùn)行時(shí)PicoBlaze將對(duì)UART狀態(tài)進(jìn)行查詢,當(dāng)檢測(cè)到有GPS串碼數(shù)據(jù)時(shí)便開(kāi)始讀取其串碼信息,。GPS串碼信息用于分析當(dāng)前GPS的狀態(tài),,如果檢測(cè)GPS模塊已經(jīng)鎖定衛(wèi)星,則系統(tǒng)開(kāi)始進(jìn)行測(cè)量和校準(zhǔn)工作,。
2 測(cè)量數(shù)據(jù)處理
 根據(jù)測(cè)量到的時(shí)間間隔數(shù)據(jù),,按照公式:
   
    可以計(jì)算出晶振信號(hào)相對(duì)于GPS的頻率偏差,其中T1和T2分別是測(cè)量部分相隔采樣時(shí)間τ前后輸出的時(shí)間間隔測(cè)量值,。根據(jù)頻率偏差的大小,,再結(jié)合晶振的壓控靈敏度,,便可以實(shí)現(xiàn)對(duì)晶振的輸出頻率進(jìn)行控制和修正,。但GPS信號(hào)在傳輸過(guò)程中容易受到外界影響,,GPS模塊輸出的1-pps信號(hào)是一個(gè)波動(dòng)信號(hào),其短期穩(wěn)定性較差,。圖8的黑色曲線是使用本系統(tǒng)測(cè)量得到的本地晶振相對(duì)于GPS系統(tǒng)的時(shí)間間隔曲線,,使用這些數(shù)據(jù)計(jì)算得到的頻率偏差也會(huì)受到影響而發(fā)生波動(dòng),所以不能直接使用,。

 
    從式(4)可以看出,,計(jì)算頻率偏差僅僅需要窗口的端點(diǎn)處的測(cè)量值而不受窗口內(nèi)的測(cè)量值影響。在實(shí)際應(yīng)用時(shí),,計(jì)算量很小而且簡(jiǎn)單,,方便使用PicoBlaze軟核處理器來(lái)實(shí)現(xiàn)。PicoBlaze連接的FIFO數(shù)據(jù)緩沖用來(lái)存儲(chǔ)滑動(dòng)窗口中的測(cè)量數(shù)據(jù),。當(dāng)存儲(chǔ)達(dá)到預(yù)設(shè)的窗口長(zhǎng)度時(shí),,將從FIFO中順序讀取出先前的測(cè)量值,配合當(dāng)前測(cè)量值,,根據(jù)式(3)計(jì)算出頻率偏差,。圖8的白色曲線是添加濾波處理后系統(tǒng)輸出的時(shí)間間隔,對(duì)比可以看出濾波對(duì)抖動(dòng)和較大的跳變點(diǎn)都有很好的抑制作用,。
    本文介紹的晶振頻率校準(zhǔn)系統(tǒng)利用GPS模塊輸出的標(biāo)準(zhǔn)秒脈沖信號(hào)對(duì)本地晶振頻率進(jìn)行校準(zhǔn),。本設(shè)計(jì)基于FPGA內(nèi)部進(jìn)位邏輯資源實(shí)現(xiàn)了高分辨率的時(shí)間間隔測(cè)量單元,并配合滑動(dòng)平均濾波法利用PicoBlaze處理器對(duì)測(cè)量的時(shí)間間隔數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,。不僅能夠準(zhǔn)確地測(cè)量本地晶振分頻信號(hào)與GPS秒脈沖信號(hào)之間的時(shí)間間隔,,而且降低了GPS秒脈沖波動(dòng)對(duì)測(cè)量結(jié)果的干擾,為校準(zhǔn)晶振頻率提供可靠的修正數(shù)據(jù),。此外,,系統(tǒng)測(cè)控部分完全在FPGA中實(shí)現(xiàn),利于提高測(cè)量分辨率,,減小系統(tǒng)體積,,提高系統(tǒng)運(yùn)行的穩(wěn)定性。本系統(tǒng)不僅可以用于大地電磁三維采集站,,還可以在其他對(duì)頻率準(zhǔn)確度有要求的儀器中使用,。
參考文獻(xiàn)
[1]  何展翔. 非地震勘探技術(shù)的進(jìn)步與發(fā)展趨勢(shì)[J].石油地球物理勘探, 2000,35(3):354-361.
[2]  孟慶杰,徐建芬,姜雪松. GPS基頻率標(biāo)準(zhǔn)的計(jì)量校準(zhǔn)[J]. 宇航計(jì)測(cè)技術(shù),,2007,27(5):16-21.
[3]  潘繼飛, 姜秋喜, 畢大平. 基于內(nèi)插采樣技術(shù)的高精度時(shí)間間隔測(cè)量方法[J]. 系統(tǒng)工程與電子技術(shù), 2006,28
(11):1633-1636.
[4]  SZPLET R, KALISZ J, SZYMANOWSKI R. Interpolating time counter with 100 ps resolution on a single FPGA device[J]. IEEE Trans.Instrum.Meas,2000,49(4):879-883.
[5]  孫杰, 潘繼飛. 高精度時(shí)間間隔測(cè)量方法綜述[J]. 計(jì)算機(jī)測(cè)量與控制, 2007,15(2):145-148.
[6]  WU J, SHI Z, WANG I Y. Firmware-only implementation     of time-to-digital converter in field programmable gate array[J]. Proc. IEEE Conf. Rec. NSS., 2003(1):177-181.
[7]  SONG J, AN Q, LIN S B. A high-resolution time-to-digital converter implemented in field programmable gate arrays[J]. IEEE Trans. Nuclear Science, 2006, 53(1):236-241.
[8]  TORRES D A, PEREZ D V. A PicoBlaze-based embedded system for monitoring applications[J]. Conielecomp Conf, 2009:173-177.

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