張智明
摘 要: 在基于FPGA的自同步實現中,應用數字鎖相技術,從接收的比特流中快速提取同步脈沖以正確采樣輸入碼元。該方案以相位計數器為基礎,采用相位分段調整方法,對鑒相結果進行分類,并據此快速調整相位計數值,最終生成同步脈沖。采用Xilinx FPGA實現位同步電路,并結合仿真波形分析電路工作過程。結果表明,該電路占用資源少,同步速度快,并且能容忍一定程度的輸入碼元抖動,所設計電路能穩定地工作在實際通信鏈路中。
關鍵詞: 位同步; 數字鎖相; 同步脈沖; FPGA
中圖分類號: TN919.3? 34 文獻標識碼: A 文章編號: 1004?373X(2016)04?0132?03
Abstract: In the implementation of self?synchronization based on FPGA, the digital phase lock technology is applied to rapidly extracting the synchronous pulse from the received bit stream to sample the input code element correctly. The phase segmentation adjustment approach is used in the scheme based on phase counter to classify the phase discrimination results, by which the phase count value is quickly adjusted to generate the synchronous pulse. The bit synchronization circuit is implemented on Xilinx FPGA, and its working process is analyzed in combination with simulation waveform. The simulation results show that the circuit has few resources occupation and fast synchronous speed, and can tolerate the input node element shaking to some extent. The designed circuit can stably work in the practical communication links.
Keywords: bit synchronization; digital phase lock; synchronous pulse; FPGA
0 引 言
位同步又稱碼元同步,是數字通信中一種重要的同步技術。在接收端產生與接收碼元頻率和相位一致的定時脈沖序列的過程稱為位同步,而所產生的定時脈沖序列也稱為同步脈沖[1]。實現位同步的方法可分為外同步法和自同步法。自同步法從輸入碼元中提取同步信息,無需在發送端插入導頻信號,是一種比較常用的方法。在自同步法中,各種鎖相技術如超前?滯后位同步環、同相?中相位同步環、早?遲積分清除位同步環等[2]均能實現位同步功能。文獻[3?10]討論了基于上述各種鎖相技術的位同步電路設計。
本文探討一種基于數字鎖相技術的接收端相位快速調整方案,與傳統的位同步電路相比,本方案采用相位分段調整的方法,快速提取同步脈沖,并且能容忍一定程度的接收端碼元抖動。
1 位同步原理
本小節討論基于數字鎖相技術的位同步原理。如圖1所示,輸入碼元的速率為F b/s,接收端參考時鐘的頻率為N·F Hz。DPLL用于從輸入碼元中提取同步脈沖以正確采樣輸入碼元。DPLL包括相位鑒別、相差處理、相位調整和N分頻四個部分。相位鑒別單元比較輸入碼元和相位調整單元的反饋,輸出相差信息;相差處理單元處理相差信息,輸出相位調整控制信號;相位調整單元實施相位調整,跟蹤輸入碼元;N分頻單元還原碼元速率,生成同步脈沖。DPLL完成相位調整,實現位同步后,給出同步指示,此時同步脈沖即可正確采樣輸入碼元。
為使接收端較好地提取位同步脈沖,輸入碼元應包含較豐富的定時信息,通常在發送端對信源序列進行加擾或編碼以實現此功能。此時,在接收端碼元同步后需對所接收序列進行解擾或解碼。接收端解擾或解碼不在本文討論范疇,在此不作詳細探討。
2 位同步電路設計
本小節詳細討論位同步電路設計,對速率為1 Mb/s的輸入碼元進行同步。接收端的參考時鐘為16 MHz,即N=16。同步電路的設計以一個模16相位計數器為基礎,根據相差分段快速調整相位計數值,最終提取出位同步信號。
(1) 相位鑒別設計。相位鑒別電路首先檢測輸入碼元的跳變沿,隨即得到在輸入碼元跳變時刻的相位計數值,該計數值即為相差信息。此處相位計數器的當前值作為相位調整模塊的反饋輸入到相位鑒別模塊。碼元跳變沿檢測電路如圖2所示,其中RxDatIn為輸入碼元;RxDatEdgeDet為碼元跳變指示;RefClk為參考時鐘。由于輸入碼元在發送端生成,對于接收端參考時鐘域來說是異步信號,此處采用由前兩級D觸發器組成的同步鏈來處理可能出現的亞穩態現象。
(2) 相差處理設計。相差處理電路根據相位鑒別電路輸出的相差計數值,產生5個相位調整控制信號。調相控制信息如表1所示。相位無需調整時,無控制信號輸出,其余5種情況分別由5個相位調整控制信號輸出至相位調整模塊。
(3) 相位調整設計。相位調整電路根據相差處理模塊輸出的相位調整控制信號實施相位分段調整。調相步進如表1所示。模16相位計數器是相位調整電路的核心,當無相位調整控制指示時,該計數器在參考時鐘節拍下遞增計數;當有相位調整控制指示時,該計數器在指定的調整點進行計數調整,此處相位調整點設為8。調整完成后,當前相位調整控制信號被清除。經過若干次相位調整,位同步電路即可跟蹤輸入碼元,進入同步狀態。實際應用中,由于碼元抖動及碼元速率誤差等因素,進入同步狀態后,電路仍然需要實施相位的動態調整,當然同步電路可以容忍一定程度的碼元抖動。
表1 相差處理與相位分段調整
(4) N分頻設計。N分頻電路基于模16相位計數器和相差信息生成同步指示,同步脈沖和接收端同步時鐘,以便后級模塊正確采樣輸入碼元。同步指示具有遲滯性,以便容忍一定程度的碼元抖動。位同步前,同步指示在相差計數值為0時置位,表示電路進入同步狀態;位同步后,同步指示在相差計數值為4~12時清除,表示電路進入失步狀態。接收端同步時鐘在相位計數值為0時置0,在相位計數值為8時置1,其周期為1個碼元寬度,上升沿正對接收碼元中心。同步脈沖與接收端同步時鐘上升沿生成,脈寬為一個參考時鐘周期。當電路進入同步狀態后,同步脈沖或接收端同步時鐘對碼元進行可靠的采樣。
3 位同步電路仿真與實現
本小節給出位同步電路的實現結果,并結合仿真波形討論相位調整以及位同步過程。位同步電路用VHDL語言描述,在Xilinx 7系列FPGA上實現。根據Xilinx FPGA資源使用報告,本同步電路僅需15個Slice LUT和16個Slice Register,合計占用5個Slice。使用Cadence IES仿真工具對位同步電路進行仿真,結果表明電路功能正確,可以快速提取同步脈沖,實現位同步。在無碼元抖動的情況下,僅需2~3次相位調整即可實現位同步。
加入碼元抖動后,位同步所需相位調整次數可能會有所增加。當碼元抖動不超過0.2 UI時,首次位同步后電路一直保持在同步狀態,碼元采樣正確可靠。當碼元抖動大于0.35 UI時,電路開始出現采樣錯誤。下面通過兩個仿真用例展現位同步電路工作過程。
3.1 反相調整仿真用例分析
本仿真用例未加入碼元抖動,用于分析位同步過程。仿真波形如圖3所示,圖中左側所列位同步電路相關信號及其含義如表2所示。
位同步電路第一次檢測到輸入碼元跳變時,相差計數值為6,PhaseJump置1,電路在相位調整點實施反相調整,步進為8。位同步電路第二次檢測到輸入碼元調變時,由于前一次相位調整步進為8,此次相差計數值變為14,因而CoarseTuneDecr置1,電路在相位調整點實施后向粗調,步進為2。經過兩次相位調整,當位同步電路第三次檢測到輸入碼元跳變時,相差計數值最終變為0,電路進入同步狀態,SyncInd置1。此后,所生成的同步脈沖和接收端同步時鐘的上升沿均對準待采樣碼元中心,可以對碼元進行正確采樣。注意這里待采樣碼元是輸入碼元經過第2.1節中同步鏈電路后的輸出。
3.2 碼元抖動仿真用例分析
本仿真用例加入0.2 UI的碼元抖動,用于分析電路在較大碼元抖動的情形下進入同步狀態后的相位動態調整與碼元采樣。仿真波形如圖4所示,圖中左側所列位同步電路相關信號及其含義如表2所示。由于輸入碼元存在較大抖動,電路進入同步狀態后的第一次相差檢測值為2,于是進行相位前向粗調。若無抖動,同步后第二次相差檢測值應為0,有抖動情況下,此次檢測到的相差計數值為14,于是再一次進行相位后向粗調。如此往復,此例中的相差最終被調整為0。隨著碼元抖動,電路亦會再次調相。由于同步指示具有2.4節所述的遲滯特性,電路仍保持在同步狀態。在位同步后的相位動態調整過程中,同步脈沖和接收端同步時鐘的上升沿均處于待采樣碼元中心處,仍然可以正確采樣碼元。
4 結 語
本文應用數字鎖相技術,在位同步過程中對相位進行分段調整,從而實現同步脈沖的快速提取。并且所設計電路可以在一定程度上容忍接收端碼元抖動。采用FPGA實現該位同步電路,其占用資源少、工作穩定、可較好地應用在實際的通信鏈路中。
參考文獻
[1] 樊昌信,曹麗娜.通信原理[M].7版.北京:國防工業出版社, 2012.
[2] 鄭繼禹,張厥盛,萬心平,等.鎖相技術[M].7版.西安:西安電子科技大學出版社,2012.
[3] 畢成軍,陳利學,孫茂一.基于FPGA的位同步信號提取[J].現代電子技術,2006,29(20):121?123.
[4] 葉懷勝,譚南林,蘇樹強,等.基于FPGA的提取位同步時鐘DPLL設計[J].現代電子技術,2009,32(23):43?46.
[5] 梁芳.基于FPGA的數字基帶傳輸位同步恢復[J].無線電工程, 2011(12):21?22.
[6] 伍建輝,李雅梅,蘇小敏.數字鎖相環在位同步提取中的應用[J].火控雷達技術,2010(4):91?95.
[7] ZHANG Shuiying, DU Jingjing, JIN Xuebo et al. The design and implementation of configurable symbol synchronization based on FPGA [C]// Proceedings of 2011 International Conference on Intelligent Human?Machine Systems and Cybernetics. [S.l.]: IEEE, 2011: 75?78.
[8] 劉小群.一種基于FPGA的位同步信號的實現[J].新技術新工藝,2011(5):28?30.
[9] 杜勇,劉帝英,羅宇智.基于FPGA的改進積分型位同步環設計[J].信息技術,2013(5):129?132.
[10] 王永慶,喬媛,吳嗣亮.基于早遲門位同步環的FPGA實現[J].微計算機信息,2009(8):178?179.