《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于數(shù)字鎖相環(huán)的晶振頻率同步模塊設計
基于數(shù)字鎖相環(huán)的晶振頻率同步模塊設計
來源:電子技術(shù)應用2011年第10期
張嘉梁1,王 劍2
1.電子科技大學 通信與信息工程學院,四川 成都611731; 2.電子科技大學 通信抗干擾國家級重點實驗室,四川 成都611731
摘要: 為滿足現(xiàn)代通信技術(shù)、雷達技術(shù)、電子測量以及光電應用領域?qū)Ω叻€(wěn)定度高準確度時鐘的要求,設計了一種基于數(shù)字鎖相環(huán)的晶振同步系統(tǒng)。系統(tǒng)以基于FPGA數(shù)字延遲線的高分辨率鑒頻鑒相器以及在MicroBlaze核中實現(xiàn)的卡爾曼數(shù)字環(huán)路濾波器為核心,通過16 bit DAC微調(diào)本地晶振振蕩頻率,使其同步于GPS秒脈沖,從而獲得了高準確度高、穩(wěn)定度的本地時鐘。
中圖分類號: TM935.11
文獻標識碼: A
文章編號: 0258-7998(2011)10-0060-03
The design of frequency synchronization system based on DLL
Zhang Jialiang1,Wang jian2
1.School of Communication and Information Engineeing, University of Electronic Science and Technology of China, Chengdu 611731,China; 2.National Ker Laboratory of science and Technology on Communications, University of Electronic Science and Technology of China, Chengdu 611731,China
Abstract: This paper designs a crystal oscillator synchronization system based on DLL to meet the demand of modern communications technology, radar technology, electronic measurement and some optoelectronic applications for high-stability and high-accuracy clocking requirements. This system contains a high resolution PFD based on FPGA delay line and a digital loop filter implemented in MiacroBlaze.And it adjusts the frequency of local crystal oscillator through a 16 bit DAC to make it synchronized with GPS pulse per second, which can get a high-stability and high-accuracy local clock.
Key words : GPS;FPGA;frequency calibration;deloy line;KALMAN filter


    現(xiàn)有的射頻頻率源大多采用恒溫晶振作為頻標,以獲得比較好的頻率短期穩(wěn)定度,但是恒溫晶振的長期穩(wěn)定度不能保證,存在累積誤差,需要定期校準。本設計利用GPS秒脈沖沒有累計誤差的特點,通過測量本地晶振與GPS秒脈沖的頻率以及相位誤差,將誤差進行卡爾曼濾波后送入PI調(diào)節(jié)器,并將得到的誤差轉(zhuǎn)為DAC的輸入值來調(diào)整本地晶振的輸出頻率,從而獲得一個長期與短期穩(wěn)定度都很好的頻標[1]。該模塊的alce主要在FPGA內(nèi)部實現(xiàn),降低了規(guī)模,便于其集成于與其他通信、測量系統(tǒng)中。
1 系統(tǒng)設計
    系統(tǒng)總體設計方案如圖1所示,其中GPS接收模塊可以輸出由GPS信號中的秒脈沖信號。在FPGA模塊中,實現(xiàn)了一個由計數(shù)器和數(shù)字延遲線構(gòu)成的高精度鑒頻鑒相器和一個由卡爾曼濾波以及PI控制器構(gòu)成的數(shù)字環(huán)路濾波器。DAC模塊將環(huán)路濾波器的輸出轉(zhuǎn)換為對晶振頻率的控制量,從而構(gòu)成一個數(shù)字鎖相環(huán)。在環(huán)路鎖定的情況下,本地振蕩器的振蕩頻率即可與GPS星載原子鐘保持嚴格同步。

2 電路設計
2.1 高精度鑒頻鑒相器的設計

    在傳統(tǒng)的鑒相器設計中,通常只是利用一個計數(shù)器對輸入信號進行計數(shù),受到電路的工作頻率限制,其精度大約在10 ns量級。由此產(chǎn)生的量化誤差,將對系統(tǒng)的準確度造成很大影響。為了達到1e-10甚至更高的準確度,就需要提高時間測量的精度。在以往的設計中,通常采用專用TDC芯片測量,但其成本高,對PCB設計很敏感。為此,本系統(tǒng)在采用計數(shù)器進行粗測量的同時,利用Xilinx公司的FPGA內(nèi)部的高速進位資源,構(gòu)建了一個數(shù)字延遲線,實現(xiàn)了100 ps量級的細測量,即在FPGA內(nèi)部實現(xiàn)了一個TDC單元,從而降低了頻率量化對系統(tǒng)準確度的影響。另外,從相位噪聲的角度分析,提高鑒相器的量化位數(shù),也可以有效地降低量化噪聲對系統(tǒng)相位噪聲的影響。
    由于秒脈沖的時間相對測量精度比較長,為了實現(xiàn)大范圍的測量,設計中采用了鑒頻鑒相器測量GPS秒脈沖與本地振蕩器的偏差。如圖2所示,其中由100 MHz時鐘驅(qū)動的粗計數(shù)器實現(xiàn)了頻率的測量,而由數(shù)字延遲線構(gòu)成的鑒相器,可以測量遠小于一個時鐘周期的相位誤差。

    如圖2,同步器的功能是將異步的秒脈沖信號與時鐘同步,作為計數(shù)器的同步置零輸入,由兩級D觸發(fā)器的級聯(lián)構(gòu)成,用于保證時序裕量可以讓潛在的亞穩(wěn)態(tài)可能性降到最低,即保證當觸發(fā)信號在時鐘信號的保持建立窗口中到達時,可以讓觸發(fā)器有足夠時間恢復到穩(wěn)定狀態(tài)。計數(shù)器為一個同步置零計數(shù)器。為了在大約1 s的時間內(nèi)對100 MHz時鐘進行計數(shù),計數(shù)器的位寬被設計為27 bit。
    數(shù)字延遲線則是用于測量同步觸發(fā)信號與異步秒脈沖之間的時間差,是本測量模塊的關(guān)鍵。為了實現(xiàn)高精度時間測量,本系統(tǒng)采用了一種基于抽頭延遲線的方法,其中延遲線由多個延遲單元組成,每個延遲單元都有相同的傳輸時延τ。通過采樣初始脈沖在線路中傳播時線路的狀態(tài),利用內(nèi)插法,完成對兩個觸發(fā)脈沖時間間隔的測量,從而獲得秒脈沖與本地振蕩器的相位差。
    在FPGA中,有乘法器、比較器、加法器,可以將專用進位連線連接成進位鏈。由于加法器實現(xiàn)簡單,可以清晰地顯示出進位信號的邏輯關(guān)系。因此加法器是最適合實現(xiàn)延遲線內(nèi)插器的方案。
    為實現(xiàn)對輸入信號的時間內(nèi)插,就需要使待測信號沿進位鏈傳播。串行進位加法器的表達式如下:
    Sum=A⊕B⊕Cin
    Cout=AB+(A+B)Cin
    如圖3所示,設置輸入A為全1,輸入B最低位為待測量信號,其余為0。當外部信號輸入為0時,加數(shù)的最低位為0,所有輸出都為1,進位鏈上沒有信號。當外部輸入變成1時,B的最低位變成1,這時最低位輸出0,進位信號變?yōu)?,進入進位鏈傳播。輸入信號沿進位鏈傳播的同時,也被逐級延時,這時,加法器的輸出中0的個數(shù),代表了輸入信號經(jīng)過的延遲單元的個數(shù)。這樣,就實現(xiàn)了對輸入信號的內(nèi)插。

    可以看出,從加法器的輸出中可以獲得需要的延遲信息,這就需要在加法器的輸出端每一位后加一個鎖存器,用以測量結(jié)束時保存進位鏈的狀態(tài)。在本設計中鎖存器的時鐘端需要嚴格同步,這樣采集到的信息才有意義,才能代表時間延遲信息。同時,在鎖存器的時鐘信號即結(jié)束信號的保持建立窗口中,加法器的輸出會發(fā)生改變,會帶來亞穩(wěn)態(tài)的問題。為了解決這個問題,本設計在第一個鎖存器之后又加入兩個由工作時鐘驅(qū)動的鎖存器構(gòu)成的同步器。
    本設計中最關(guān)鍵之處是利用進位鏈實現(xiàn)延遲線的布局與布線。以Spartan 3系列FPGA為例[2],CLB是FPGA內(nèi)的基本邏輯單元,每個CLB都包含一個可配置開關(guān)矩陣,此矩陣由4個輸入、一些選型電路(多路復用器等)和觸發(fā)器組成。 開關(guān)矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存器或RAM。
    一個CLB由4個相同的SLICE組成。SLICE中的進位邏輯包括一個進位專用多路復用器和一個進位專用異或門組成。 進位邏輯的延時在CLB中和相鄰的CLB中都有專用連接,這些連接的延遲幾乎為零。這就為利用進位鏈構(gòu)成內(nèi)插延遲線創(chuàng)造了條件。
    在Spartan3系列FPGA中,CLB中的左側(cè)兩個SLICE的CIN/COUT直接與垂直相鄰的CLB中左側(cè)的兩個SLICE的COUT/CIN相連,右側(cè)亦然。以Spartan3系列的XC3S200 FPGA為例,該FPGA共有24行20列共480個CLB,1 920個SLICE,故FPGA上在最大情況下共可配置40個96 bit的進位鏈。

 


    經(jīng)過實驗,在ISE環(huán)境下直接調(diào)用加法器的IP核,并將XST綜合選項設置為面積優(yōu)先。在布局布線后用FPGA Editor檢查底層結(jié)構(gòu),就可以得到理想中的內(nèi)插器結(jié)構(gòu)。經(jīng)過MODELSIM后仿真,結(jié)果可以看出該延遲線是均勻的。在實際測試中,由于相鄰的兩個延遲單元可能會同時落入鎖存器的保持建立窗口中,導致分辨率的降低,最終數(shù)字延遲線的分辨率約為200 ps。
    最后,在同步觸發(fā)信號到達時,鎖存延遲線信息,就可以得到溫度計碼的結(jié)果,再經(jīng)過優(yōu)先編碼以后,送出中斷,通知microBlaze讀取結(jié)果。
2.2 環(huán)路濾波器
    不同于一般ADPLL,由于GPS秒脈沖信號頻率低、信號在傳輸中易受到干擾的特點,本系統(tǒng)不能使用通常的N-before-M等數(shù)字環(huán)路濾波器。
    本系統(tǒng)采用的LEA-5S GPS模塊輸出的秒脈沖信號精度有效值為30 ns,99%精度小于60 ns。在進行濾波之前,首先要根據(jù)上文所述進行數(shù)據(jù)有效性判斷,再進行數(shù)據(jù)合成(用本次計數(shù)器值為高位,內(nèi)插器結(jié)果為低位,減去前一次內(nèi)插器結(jié)果)以及硬限幅處理[3],將與理想秒脈沖相差過大的數(shù)據(jù)剔除后,將結(jié)果送入卡爾曼濾波器
    在濾波器設計上,采用了卡爾曼濾波+PI控制方法,有效濾除了噪聲,減小了系統(tǒng)超調(diào)與震蕩,同時將零差降到最小[4-5]。
    卡爾曼濾波器是一個最優(yōu)化自回歸數(shù)據(jù)處理算法??柭鼮V波是一種遞歸的估計,利用獲知上一采樣狀態(tài)的估計值以及當前狀態(tài)的觀測值就可以計算出當前狀態(tài)的估計值,因此不需要記錄觀測或者估計的歷史信息。相比FIR或滑動平均等濾波器,卡爾曼濾波可以節(jié)約大量的存儲空間,更利于在低密度FPGA上的實現(xiàn)。
    由于卡爾曼濾波需要大量矩陣運算,且需要浮點數(shù)來保持其精度以保證最后的收斂,同時,本系統(tǒng)對濾波計算的時間并非十分嚴格,故本系統(tǒng)中的卡爾曼濾波器在MicroBlaze核中利用C語言實現(xiàn)。KALMAN濾波流程圖如圖4所示。

    在卡爾曼濾波中,動態(tài)系統(tǒng)維數(shù)、觀測系統(tǒng)維數(shù)均設為1。同時,應對X0進行初步估計,可以使濾波器收斂速度加快。
    濾波后得到當前時刻誤差的估計值,將其送入PI模塊。在鎖相環(huán)系統(tǒng)設計中,通常在VCO外再添加一個積分項,來構(gòu)成一個2類鎖相環(huán),以保證系統(tǒng)的收斂,同時消除零差[6]。在PI控制器整定的過程中,先調(diào)整比例系數(shù),再調(diào)整積分系數(shù),通過實驗找出最優(yōu)值。
2.3 DAC及晶振電路設計
    本設計中,晶振選擇的型號為TCEBBCS-10.000TCXO,其牽引范圍為±8 ppm,在使用中能夠基本滿足要求,在未來,如將TCXO替換為OCXO,可以進一步提高系統(tǒng)的穩(wěn)定度。另外可以選擇牽引范圍更窄的晶振,以進一步提高系統(tǒng)的最小分辨率。
    在DAC選擇上,需要滿足低噪聲的要求。本設計DAC選擇16 bit高性能的AD5541,其采用R-2R結(jié)構(gòu)設計,噪聲可滿足全16 bit精度輸出,非緩沖輸出可以直接驅(qū)動晶振的控制端。
3 測試結(jié)果及分析
    圖5是利用CHIPSCOPE抓取的秒脈沖偏差與卡爾曼濾波后的結(jié)果。可以看出,卡爾曼濾波器對GPS信號的跳變有比較好的濾除作用。
    系統(tǒng)的測試結(jié)果如表1所示。

    本文介紹的晶振頻率同步系統(tǒng),利用數(shù)字鎖相環(huán)將晶振的輸出頻率同步于GPS星載時標,從而獲得了一個高穩(wěn)定度、高準確度的本地振蕩器。其中,高分辨率數(shù)字鑒頻鑒相器可以減小系統(tǒng)的量化誤差,提高精度。環(huán)路濾波器中的卡爾曼濾波器可以很好地抑制GPS秒脈沖對系統(tǒng)造成的干擾。此外,系統(tǒng)的測量單元集成在FPGA之內(nèi),降低了系統(tǒng)的成本、體積,提高了穩(wěn)定性。該系統(tǒng)可以廣泛應用于通信網(wǎng)絡、測試測量等各個領域,為其提供高質(zhì)量免校準的頻率基準。
參考文獻
[1] 曾祥君,尹項根,林干,等.晶振信號同步GPS信號產(chǎn)生高精度時鐘的方法及實現(xiàn)[J].電力系統(tǒng)自動化,2003,27(8).
[2] Xilinx.Spartan-3 generation FPGA user guide.2010.
[3] 黨曉圓,單慶效,肖昌言,等.基于GPS與北斗雙模授時的壓控晶振校頻系統(tǒng)的研究與設計[J].計算機測量與控制,2009,17(11).
[4] Cui Baojian.An improved time synchronous system based  on GPS disciplined rubidium[C].International Conference on  Intelligent Computation Technology and Automation,2009,29.
[5] 張瑩,周渭,梁志榮.基于GPS鎖定高穩(wěn)晶體振蕩器技術(shù)研究[J].宇航計測技術(shù),2005(2).
[6] FLOYD M G,姚劍清.鎖相環(huán)技術(shù)(第3版)[M],北京:人民郵電出版社,2007.

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