寬頻帶數字鎖相環的設計及基于FPGA的實現
數字鎖相環(DPLL)技術在數字通信、無線電電子學等眾多領域得到了極為廣泛的應用。與傳統的模擬電路實現的PLL相比,DPLL具有精度高、不受溫度和電壓影響、環路帶寬和中心頻率編程可調、易于構建高階鎖相環等優點。隨著集成電路技術的發展,不僅能夠制成頻率較高的單片集成鎖相環路,而且可以把整個系統集成到一個芯片上去。在基于FPGA的通信電路中,可以把全數字鎖相環路作為一個功能模塊嵌入FPGA中,構成片內鎖相環。一般同步串行口通信方式的同步串行口之間的數據傳輸除了數據線外還必須有專門的同步時鐘線,這種連接方式不但需要增加一條線路,同步性能受環境的影響還較大。利用數字鎖相環可以從串行位流數據中恢復出接收位同步時鐘。這樣,串行口之間只用一根數據線就可以接收同步串行數據,簡化了串行口的接口關系。本文介紹基于FPGA數字鎖相環恢復串行數據位同步時鐘的設計與實現及提高數字鎖相環性能的措施。DPLL結構及工作原理
全數字鎖相環路(DPLL)的基本結構如圖1所示。主要由鑒相器DPD、數字環路濾波器DLF、脈沖加減電路(數控振蕩器 DCO)和分頻器(可控變模N)四部分構成。脈沖加減電路的時鐘分別為2Nfc,fc為環路中心頻率。DPLL是一種相位反饋控制系統。它根據輸入信號fin與本地恢復時鐘fout之間的相位誤差(超前還是滯后)信號送入數字環路濾波器DLF 中對相位誤差信號進行平滑濾波,并生成控制DCO 動作的控制信號DCS,DCO 根據控制信號給出的指令,調節內部高速振蕩器的震蕩頻率,通過連續不斷的反饋調節,使其輸出時鐘fout的相位跟蹤輸入數據fin的相位。
圖1 全數字鎖相環基本結構
環路模塊具體功能及其電路實現
數字鑒相器的設計
常用的鑒相器有兩種,異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD)。與一般DPLL的DPD設計不同,位同步DPLL的DPD需要排除位流數據輸入連續幾位碼值保持不變的不利影響。本文采用改進型異或門鑒相器,它輸出一個表示本地恢復時鐘超前或滯后于輸入信號的相位誤差。如果本地恢復時鐘超前于輸入信號,則超前/滯后脈沖UD輸出為高電平,反之UD輸出為低電平,如圖2所示。
圖2? 改進型異或門鑒相器的原理圖及工作波形圖
可見,在輸出信號Fout為超前、滯后和同步于Fin時,PE脈沖的前沿距離Fin的上升沿相位是不等的。
數字環路濾波器的設計
數字環路濾波器(DLF)作用是消除鑒相器輸出的相位差信號PE中的高頻成分,保證環路的性能穩定,實際上可用一變模可逆計數器(設模數為K)來實現。K變模可逆計數器根據相差信號PE來進行加減運算。當PE為高電平時,計數器進行加運算,如果相加的結果達到預設的模值,則輸出一個進位脈沖信號DP給脈沖加減電路;當PE為低電平時,計數器進行減運算,如果結果為零,則輸出一個借位脈沖信號DP給脈沖加減電路。當Fout同步于Fin或只有隨機干擾脈沖時,計數器加減的數目基本相等,計數結果在初始值處上下徘徊,不會產生進位和借位脈沖,濾除因隨機噪聲引起的相位抖動。計數器根據輸出結果生成控制DCO 動作的控制指令。
K變模可逆計數器模值K對DPLL的性能指標有著很大的影響。計數器模值K的取值可根據輸入信號的相位抖動而定,加大模值K,有利于提高DPLL 的抗噪能力,但是會導致較大的捕捉時間和較窄的捕捉帶寬。減小模值K 可以縮短捕捉時間,擴展捕捉帶寬,但是降低了DPLL 的抗噪能力。本設計中選擇K=4。在初始時刻,計數器被置初值為K/2=2,這樣可以DPLL捕捉速度很快。
數控振蕩器的設計
數控振蕩器( DCO)在數字鎖相環路中所處的地位相當于模擬鎖相環路中的電壓控制振蕩器。在本數字鎖相環設計中使用數控振蕩器是可變模式分頻器。它的輸出是調整可變分頻器的模值N。該值的大小會隨著每個Fin周期內(Fin=1時)鑒相輸出PE進行調整。當UD為高電平時,將可變分頻模值N增大,以調整分頻輸出使之相位滯后;當UD輸出為低電平時,將可變分頻模值N減小,已調整分頻輸出使之輸出相位提前。如果數字環路濾波器沒有控制脈沖信號DP輸出,那么,分頻模值N將保持不變,經除N分頻后的輸出本地恢復信號相位和輸入信號相位處于同步狀態。
本地高速時鐘信號CLK由片外高速振蕩器提供。時鐘信號周期大小決定了DPLL 在鎖定狀態下相位跟蹤的精度,同時,它還影響DPLL 的捕捉時間和捕捉帶寬。為提高相位跟蹤的精度以降低數據接收的誤碼率,時鐘信號CLK的取值應盡量高。本設計中取高速時鐘信號CLK的振蕩頻率為64MHz。數控振蕩器可由一個可逆計數器實現。
N分頻器的設計
N分頻器則是一個簡單的除N計數器。N分頻器對脈沖加減電路的輸出脈沖再進行N分頻,得到整個環路的輸出信號Fout。同時,因為Fout=CLK/2N=fc,因此通過改變分頻值N可以得到不同的環路中心頻率fc。另外,模值N的大小決定了DPLL的鑒相靈敏度為π/N。
環路實現
本設計在Altera公司QUARTUSII5.0 開發軟件平臺上,利用VHDL語言運用自頂向下的系統設計方法, 在Altera最新CPLD芯片MAXII240上設計全數字鎖相環。將鎖相環路設計完畢后,并通過QUARTUSII5.0集成環境進行仿真、綜合、驗證,DPLL設計結果如圖3。
圖3? 改進型異或門鑒相器DPLL原理圖
其中,可逆計數器counter2為環路濾波器DLF,預設初值為12,加法進位模值為4,減法進位模值為12。可逆計數器lmp_counter2為數控振蕩器,其預置值為time[3..0],其輸出即為鎖相環路分頻器的模值N,輸出值大小隨著控制脈沖信號DP的數目有關。在本設計中,fclk=64MHz,fin=2Mb/s,則time[3..0]=0100b=8。加法計數器lmp_counter2為模值N受控的鎖相環路分頻器。值得注意的是鎖相環路分頻器lmp_counter2的進位輸出Cout不可直接作為分頻輸出,因為在仿真過程中發現隨著fclk頻率的升高,Cout容易產生冒險毛刺,影響鎖相環的穩定性。因此外加一4輸入或非門作為分頻器輸出判決。
在圖4仿真結果中,fclk=64MHz,fin=2Mb/s。 仿真輸入信號Fin為一任意的二進制碼流信號。可見,對于多位連1或連0的碼流信號,該鎖相環的輸出Fout都能準確恢復出同步所需的時鐘。在第二個輸入碼位到來時本地恢復時鐘Fout就已經進入同步狀態,捕捉速度很快。相位鎖定誤差最大為π/2N=π/16。
圖4? 改進型異或門鑒相器DPLL仿真結果
捕獲帶寬的擴展
上述設計的數字鎖相環雖然可以快速鎖定,鎖相精度也較高,但其捕捉范圍較窄。該數字鎖相環的最大相移調整能力為±π,一旦輸入信號Fin的相位抖動超過這個范圍或Fin的頻率發生改變,鎖相環無法自動完成捕捉鎖定。因此,對該設計需進行擴展設計,以實現寬頻帶捕捉功能。 為實現寬頻帶捕捉,設置一專門電路,測定輸入信號Fin每個比特的周期(或頻率),并判定是否發生變化,若測得比特周期發生變化,就會去控制調整DCO的輸出振蕩頻率,使其快速跟蹤Fin的頻率,再配合前述數字鎖相環的相位跟蹤,就可完成寬范圍頻率鎖定。電路原理如圖5。
圖5? 寬頻帶DPLL頻率捕獲電路原理圖
將圖5電路和圖3上面的一個電路合并,即為完整的寬頻帶DPLL電路。測得輸入信號Fin的周期信號time[3..0]被送往圖3鎖相環路分頻器lmp_counter2,去控制DCO的輸出振蕩頻率。該寬頻帶DPLL電路的捕獲范圍最高頻率fcmax=fclk/4,最低頻率fcmax=fclk/4M,M為N分頻器的最大取值。本設計中,fclk =64MHz,M=16。所以鎖相環的頻率捕獲范圍理論值為16MHz-1MHz。對應于輸入碼流的速率為32MHz-2MHz。當Fin=16MHz和Fin=1.6MHz時的仿真結果如圖6(1)(2)。
圖6? (1)Fin=16MHz時的仿真波形
圖6? (2) Fin=1.6MHz時的仿真波形
根據仿真結果,可實現穩定鎖相的最低頻率為1.2MHz,略高于理論值1MHz;可實現的最高鎖相頻率為16MHz。捕獲時間1個Fin周期。
結語
在一般的數字鎖相環設計中,“捕獲時間”和“捕獲帶寬”這兩項關鍵的性能指標是相互矛盾的,其中任何一項指標的提高都會犧牲另一項指標為代價。本文所介紹的寬頻帶范圍數字鎖相環采用較為簡單的完成實現了捕獲時間小而捕獲帶寬又相當寬的全數字鎖相環,解決了“捕獲時間”和“捕獲帶寬”指標相互矛盾的問題。其中“捕獲帶寬”指標可以通過提高工作時鐘fclk的頻率以及鎖相環中的計數器的計數容量來進一步擴展。由于該數字鎖相環可直接用于同步串行通信中二進制碼流的同步時鐘的恢復,可自動跟蹤接收碼流速率的變換,同時該設計是基于FPGA的模塊化設計,便于其他數字系統設計的移植和集成,在其他數字應用系統特別是在基于FPGA的通信電路中有著重要的意義。
?
參考文獻:
1. Kurt Aronow, Bela Geczy,FPGA-Based DPLL Approach Delivers Wide-Lock ange, 2005.? 11,
2. 胡華春, 石玉. 數字鎖相環原理與應用[M]. 上海科學技術出版社, 1990.
3. 方建邦, 董獻忱, 王天璽. 鎖相環原理及其應用[M]. 人民郵電出版社, 1988.
4. 潘松.黃繼業. EDA技術與VHDL. 清華大學出版社, 2005.7
評論
查看更多