基于數字鎖相環(huán)的晶振頻率同步模塊設計
為滿足現代通信技術、雷達技術、電子測量以及光電應用領域對高穩(wěn)定度高準確度時鐘的要求,設計了一種基于數字鎖相環(huán)的晶振同步系統(tǒng)。系統(tǒng)以基于FPGA數字延遲線的高分辨率鑒頻鑒相器以及在MicroBlaze核中實現的卡爾曼數字環(huán)路濾波器為核心,通過16 bit DAC微調本地晶振振蕩頻率,使其同步于GPS秒脈沖,從而獲得了高準確度高、穩(wěn)定度的本地時鐘。
現有的射頻頻率源大多采用恒溫晶振作為頻標,以獲得比較好的頻率短期穩(wěn)定度,但是恒溫晶振的長期穩(wěn)定度不能保證,存在累積誤差,需要定期校準。本設計利用GPS秒脈沖沒有累計誤差的特點,通過測量本地晶振與GPS秒脈沖的頻率以及相位誤差,將誤差進行卡爾曼濾波后送入PI調節(jié)器,并將得到的誤差轉為DAC的輸入值來調整本地晶振的輸出頻率,從而獲得一個長期與短期穩(wěn)定度都很好的頻標[1]。該模塊的alce主要在FPGA內部實現,降低了規(guī)模,便于其集成于與其他通信、測量系統(tǒng)中。
1 系統(tǒng)設計
系統(tǒng)總體設計方案如圖1所示,其中GPS接收模塊可以輸出由GPS信號中的秒脈沖信號。在FPGA模塊中,實現了一個由計數器和數字延遲線構成的高精度鑒頻鑒相器和一個由卡爾曼濾波以及PI控制器構成的數字環(huán)路濾波器。DAC模塊將環(huán)路濾波器的輸出轉換為對晶振頻率的控制量,從而構成一個數字鎖相環(huán)。在環(huán)路鎖定的情況下,本地振蕩器的振蕩頻率即可與GPS星載原子鐘保持嚴格同步。
2 電路設計
2.1 高精度鑒頻鑒相器的設計
在傳統(tǒng)的鑒相器設計中,通常只是利用一個計數器對輸入信號進行計數,受到電路的工作頻率限制,其精度大約在10 ns量級。由此產生的量化誤差,將對系統(tǒng)的準確度造成很大影響。為了達到1e-10甚至更高的準確度,就需要提高時間測量的精度。在以往的設計中,通常采用專用TDC芯片測量,但其成本高,對PCB設計很敏感。為此,本系統(tǒng)在采用計數器進行粗測量的同時,利用Xilinx公司的FPGA內部的高速進位資源,構建了一個數字延遲線,實現了100 ps量級的細測量,即在FPGA內部實現了一個TDC單元,從而降低了頻率量化對系統(tǒng)準確度的影響。另外,從相位噪聲的角度分析,提高鑒相器的量化位數,也可以有效地降低量化噪聲對系統(tǒng)相位噪聲的影響。
由于秒脈沖的時間相對測量精度比較長,為了實現大范圍的測量,設計中采用了鑒頻鑒相器測量GPS秒脈沖與本地振蕩器的偏差。如圖2所示,其中由100 MHz時鐘驅動的粗計數器實現了頻率的測量,而由數字延遲線構成的鑒相器,可以測量遠小于一個時鐘周期的相位誤差。
如圖2,同步器的功能是將異步的秒脈沖信號與時鐘同步,作為計數器的同步置零輸入,由兩級D觸發(fā)器的級聯(lián)構成,用于保證時序裕量可以讓潛在的亞穩(wěn)態(tài)可能性降到最低,即保證當觸發(fā)信號在時鐘信號的保持建立窗口中到達時,可以讓觸發(fā)器有足夠時間恢復到穩(wěn)定狀態(tài)。計數器為一個同步置零計數器。為了在大約1 s的時間內對100 MHz時鐘進行計數,計數器的位寬被設計為27 bit。
數字延遲線則是用于測量同步觸發(fā)信號與異步秒脈沖之間的時間差,是本測量模塊的關鍵。為了實現高精度時間測量,本系統(tǒng)采用了一種基于抽頭延遲線的方法,其中延遲線由多個延遲單元組成,每個延遲單元都有相同的傳輸時延τ。通過采樣初始脈沖在線路中傳播時線路的狀態(tài),利用內插法,完成對兩個觸發(fā)脈沖時間間隔的測量,從而獲得秒脈沖與本地振蕩器的相位差。
在FPGA中,有乘法器、比較器、加法器,可以將專用進位連線連接成進位鏈。由于加法器實現簡單,可以清晰地顯示出進位信號的邏輯關系。因此加法器是最適合實現延遲線內插器的方案。
為實現對輸入信號的時間內插,就需要使待測信號沿進位鏈傳播。串行進位加法器的表達式如下:
Sum=A⊕B⊕Cin
Cout=AB+(A+B)Cin
如圖3所示,設置輸入A為全1,輸入B最低位為待測量信號,其余為0。當外部信號輸入為0時,加數的最低位為0,所有輸出都為1,進位鏈上沒有信號。當外部輸入變成1時,B的最低位變成1,這時最低位輸出0,進位信號變?yōu)?,進入進位鏈傳播。輸入信號沿進位鏈傳播的同時,也被逐級延時,這時,加法器的輸出中0的個數,代表了輸入信號經過的延遲單元的個數。這樣,就實現了對輸入信號的內插。
可以看出,從加法器的輸出中可以獲得需要的延遲信息,這就需要在加法器的輸出端每一位后加一個鎖存器,用以測量結束時保存進位鏈的狀態(tài)。在本設計中鎖存器的時鐘端需要嚴格同步,這樣采集到的信息才有意義,才能代表時間延遲信息。同時,在鎖存器的時鐘信號即結束信號的保持建立窗口中,加法器的輸出會發(fā)生改變,會帶來亞穩(wěn)態(tài)的問題。為了解決這個問題,本設計在第一個鎖存器之后又加入兩個由工作時鐘驅動的鎖存器構成的同步器。
本設計中最關鍵之處是利用進位鏈實現延遲線的布局與布線。以Spartan 3系列FPGA為例[2],CLB是FPGA內的基本邏輯單元,每個CLB都包含一個可配置開關矩陣,此矩陣由4個輸入、一些選型電路(多路復用器等)和觸發(fā)器組成。 開關矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存器或RAM。
一個CLB由4個相同的SLICE組成。SLICE中的進位邏輯包括一個進位專用多路復用器和一個進位專用異或門組成。 進位邏輯的延時在CLB中和相鄰的CLB中都有專用連接,這些連接的延遲幾乎為零。這就為利用進位鏈構成內插延遲線創(chuàng)造了條件。
在Spartan3系列FPGA中,CLB中的左側兩個SLICE的CIN/COUT直接與垂直相鄰的CLB中左側的兩個SLICE的COUT/CIN相連,右側亦然。以Spartan3系列的XC3S200 FPGA為例,該FPGA共有24行20列共480個CLB,1 920個SLICE,故FPGA上在最大情況下共可配置40個96 bit的進位鏈。
經過實驗,在ISE環(huán)境下直接調用加法器的IP核,并將XST綜合選項設置為面積優(yōu)先。在布局布線后用FPGA Editor檢查底層結構,就可以得到理想中的內插器結構。經過MODELSIM后仿真,結果可以看出該延遲線是均勻的。在實際測試中,由于相鄰的兩個延遲單元可能會同時落入鎖存器的保持建立窗口中,導致分辨率的降低,最終數字延遲線的分辨率約為200 ps。
最后,在同步觸發(fā)信號到達時,鎖存延遲線信息,就可以得到溫度計碼的結果,再經過優(yōu)先編碼以后,送出中斷,通知microBlaze讀取結果。
2.2 環(huán)路濾波器
不同于一般ADPLL,由于GPS秒脈沖信號頻率低、信號在傳輸中易受到干擾的特點,本系統(tǒng)不能使用通常的N-before-M等數字環(huán)路濾波器。
本系統(tǒng)采用的LEA-5S GPS模塊輸出的秒脈沖信號精度有效值為30 ns,99%精度小于60 ns。在進行濾波之前,首先要根據上文所述進行數據有效性判斷,再進行數據合成(用本次計數器值為高位,內插器結果為低位,減去前一次內插器結果)以及硬限幅處理[3],將與理想秒脈沖相差過大的數據剔除后,將結果送入卡爾曼濾波器。
在濾波器設計上,采用了卡爾曼濾波+PI控制方法,有效濾除了噪聲,減小了系統(tǒng)超調與震蕩,同時將零差降到最小[4-5]。
卡爾曼濾波器是一個最優(yōu)化自回歸數據處理算法??柭鼮V波是一種遞歸的估計,利用獲知上一采樣狀態(tài)的估計值以及當前狀態(tài)的觀測值就可以計算出當前狀態(tài)的估計值,因此不需要記錄觀測或者估計的歷史信息。相比FIR或滑動平均等濾波器,卡爾曼濾波可以節(jié)約大量的存儲空間,更利于在低密度FPGA上的實現。
由于卡爾曼濾波需要大量矩陣運算,且需要浮點數來保持其精度以保證最后的收斂,同時,本系統(tǒng)對濾波計算的時間并非十分嚴格,故本系統(tǒng)中的卡爾曼濾波器在MicroBlaze核中利用C語言實現。KALMAN濾波流程圖如圖4所示。
在卡爾曼濾波中,動態(tài)系統(tǒng)維數、觀測系統(tǒng)維數均設為1。同時,應對X0進行初步估計,可以使濾波器收斂速度加快。
濾波后得到當前時刻誤差的估計值,將其送入PI模塊。在鎖相環(huán)系統(tǒng)設計中,通常在VCO外再添加一個積分項,來構成一個2類鎖相環(huán),以保證系統(tǒng)的收斂,同時消除零差[6]。在PI控制器整定的過程中,先調整比例系數,再調整積分系數,通過實驗找出最優(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結構設計,噪聲可滿足全16 bit精度輸出,非緩沖輸出可以直接驅動晶振的控制端。
3 測試結果及分析
圖5是利用CHIPSCOPE抓取的秒脈沖偏差與卡爾曼濾波后的結果。可以看出,卡爾曼濾波器對GPS信號的跳變有比較好的濾除作用。
系統(tǒng)的測試結果如表1所示。
本文介紹的晶振頻率同步系統(tǒng),利用數字鎖相環(huán)將晶振的輸出頻率同步于GPS星載時標,從而獲得了一個高穩(wěn)定度、高準確度的本地振蕩器。其中,高分辨率數字鑒頻鑒相器可以減小系統(tǒng)的量化誤差,提高精度。環(huán)路濾波器中的卡爾曼濾波器可以很好地抑制GPS秒脈沖對系統(tǒng)造成的干擾。此外,系統(tǒng)的測量單元集成在FPGA之內,降低了系統(tǒng)的成本、體積,提高了穩(wěn)定性。該系統(tǒng)可以廣泛應用于通信網絡、測試測量等各個領域,為其提供高質量免校準的頻率基準。
評論