<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的高階全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)

          基于FPGA的高階全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)

          作者: 時間:2007-04-30 來源:網(wǎng)絡(luò) 收藏
          1引言

            在通信、雷達、測量和自動化控制等領(lǐng)域應(yīng)用極為廣泛,已經(jīng)成為各種電子設(shè)備中必不可少的基本部件。隨著電子技術(shù)向數(shù)字化方向發(fā)展,需要采用數(shù)字方式實現(xiàn)信號的鎖相處理。因此,對的研究和應(yīng)用得到了越來越多的關(guān)注。

            傳統(tǒng)的數(shù)字系統(tǒng)是希望通過采用具有低通特性的環(huán)路濾波器,獲得穩(wěn)定的振蕩控制數(shù)據(jù)。對于高階,其數(shù)字濾波器常常采用基于DSP 的運算電路。這種結(jié)構(gòu)的,當環(huán)路帶寬很窄時,環(huán)路濾波器的實現(xiàn)將需要很大的電路量,這給專用集成電路的應(yīng)用和片上系統(tǒng)SOC(system on chip)的設(shè)計帶來一定困難。另一種類型的鎖相環(huán)是采用脈沖序列低通濾波計數(shù)電路作為環(huán)路濾波器,如隨機徘徊序列濾波器、先N 后M 序列濾波器等。這些電路通過對鑒相模塊產(chǎn)生的相位誤差脈沖進行計數(shù)運算,獲得可控振蕩器模塊的振蕩控制參數(shù)。由于脈沖序列低通濾波計數(shù)方法是一個比較復(fù)雜的非線性處理過程,難以進行線性近似,因此,無法采用系統(tǒng)傳遞函數(shù)的分析方法確定鎖相環(huán)的設(shè)計參數(shù)。不能實現(xiàn)對高階數(shù)字鎖相環(huán)性能指標的解藕控制和分析,無法滿足較高的應(yīng)用需求。

            本文提出了一種基于比例積分(PI)控制算法的高階全數(shù)字鎖相環(huán)。給出了該鎖相系統(tǒng)的具體結(jié)構(gòu),建立了系統(tǒng)數(shù)學(xué)模型,并對其系統(tǒng)性能進行了理論分析。采用MATLAB 軟件對系統(tǒng)進行了仿真實驗。應(yīng)用EDA 技術(shù)設(shè)計了該鎖相系統(tǒng),并用 予以實現(xiàn)。

          2 全數(shù)字鎖相環(huán)的結(jié)構(gòu)及工作原理

            基于比例積分控制算法的三階全數(shù)字鎖相環(huán)的系統(tǒng)結(jié)構(gòu)如圖1 所示。該系統(tǒng)由數(shù)字鑒相器(DPD)、數(shù)字環(huán)路濾波器(DLF)和數(shù)控振蕩器(DCO)三個部件組成。


          圖1 三階全數(shù)字鎖相環(huán)系統(tǒng)結(jié)構(gòu)圖

            本鎖相系統(tǒng)中由于數(shù)控振蕩器采用累加器的結(jié)構(gòu),因此,累加器輸出的并行碼就是數(shù)控振蕩器的輸出相位碼B,它反映了輸入信號和輸出信號之間的瞬時相位差。鑒相器中的寄存器是由一組D 觸發(fā)器構(gòu)成。DCO 的輸出相位碼B 并行送到D 觸發(fā)器的D 端,在輸入信號的正向過零點對D 觸發(fā)器采樣,D 觸發(fā)器組的輸出E 就表示該采樣時刻的瞬時相位差,從而完成了數(shù)字鑒相功能。

            數(shù)字環(huán)路濾波器的主要作用是抑制噪聲及高頻分量,并且控制著環(huán)路相位校正的速度與精度。為了提高鎖相系統(tǒng)的性能,設(shè)計了基于PI 控制算法的二階數(shù)字濾波器。其工作原理是對鑒相器輸出的相位誤差信號經(jīng)一階積分環(huán)節(jié)、二階積分環(huán)節(jié)和比例環(huán)節(jié)調(diào)節(jié)后,分別產(chǎn)生積分控制參數(shù)NP1 和NP2,以及比例控制參數(shù)NI,然后取這三個控制參數(shù)之和作為數(shù)控振蕩器的控制參數(shù)。為使DLF 輸出的控制碼組在同一瞬間并行送入DCO,在這兩個環(huán)路部件之間接入一緩沖寄存器。

            數(shù)控振蕩器是由全加器和寄存器構(gòu)成的累加器組成。若累加器位長為N,則低位輸入端NL 接DLF的控制碼組G,高位NH 接DCO 自由振蕩頻率0 f 的控制碼組C(該參數(shù)可由設(shè)計者設(shè)定)。當控制碼組G 均為‘0’時,DCO 輸出端最高位AN 的輸出信號的頻率便是DCO 的自由振蕩頻率f0 。在環(huán)路鎖定過程中,控制碼組G 不是全為零,此時累加器的累加結(jié)果將進位而改變累加器的分頻系數(shù),從而改變DCO 輸出信號的頻率,實現(xiàn)比例積分控制參數(shù)對本地估算信號的控制作用,最終達到鎖相的目的。

          3 數(shù)字鎖相環(huán)系統(tǒng)性能的理論分析

          3.1 鎖相環(huán)的系統(tǒng)結(jié)構(gòu)

            若采樣周期很短,并且把數(shù)字鑒相器、數(shù)字環(huán)路濾波器和數(shù)控振蕩器的增益系數(shù)歸并到環(huán)路總增益一起考慮,可畫出鎖相環(huán)在Z 域的系統(tǒng)結(jié)構(gòu)如圖2 所示。


            圖2 中θi(Z)為鎖相環(huán)的輸入信號;θo(Z)? 為鎖相環(huán)的輸出信號; K 為環(huán)路總增益; Ka 為比例環(huán)節(jié)系數(shù); Kb 為一階積分環(huán)節(jié)系數(shù); Kc 為二階積分環(huán)節(jié)系數(shù)。

            由圖2 可以分別寫出該鎖相環(huán)開環(huán)、閉環(huán)和誤差Z 域傳遞函數(shù):


          3.2 鎖相環(huán)系統(tǒng)的穩(wěn)態(tài)分析

          3.2.1 系統(tǒng)的穩(wěn)定性

            由離散系統(tǒng)的奈奎斯特判據(jù)可知,環(huán)路系統(tǒng)穩(wěn)定的充分必要條件是閉環(huán)傳遞函數(shù)的特征根必須全部位于Z 平面的單位圓內(nèi),只要有一個在單位圓外,系統(tǒng)就不穩(wěn)定。由式(2)可得環(huán)路的特征方程為:


          利用朱例(Jury)穩(wěn)定判據(jù),可以根據(jù)系統(tǒng)閉環(huán)特性方程的系數(shù)來判別特征根是否位于Z 平面的單位圓內(nèi),從而判別系統(tǒng)是否穩(wěn)定。經(jīng)分析推導(dǎo)可得,該三階數(shù)字鎖相環(huán)系統(tǒng)穩(wěn)定的所有條件為:




          3.2.2 系統(tǒng)跟蹤誤差

            由系統(tǒng)誤差傳遞函數(shù)可以計算環(huán)路在各種不同輸入信號作用下的穩(wěn)態(tài)跟蹤誤差,即:


          θi(Z) 為輸入信號, He(Z) 為鎖相系統(tǒng)誤差傳遞函數(shù)。由式(6)所求得的本系統(tǒng)對應(yīng)于各種典型相位輸入信號的穩(wěn)態(tài)跟蹤誤差列于表1。
          由表1 可知,本鎖相系統(tǒng)對于相位階躍、頻率階躍和頻率斜升輸入信號的穩(wěn)態(tài)跟蹤誤差為零。


          4 鎖相系統(tǒng)的設(shè)計實現(xiàn)與仿真

            依據(jù)圖1 鎖相環(huán)系統(tǒng)的結(jié)構(gòu),利用Xilinx 公司的ISE 設(shè)計軟件,采用自頂向下的模塊化設(shè)計方法,用VHDL 對全數(shù)字鎖相環(huán)的各個部件分別進行編程設(shè)計,然后對該系統(tǒng)做綜合設(shè)計和仿真。最后,采用Xilinx 公司的sparnⅡ系列的 器件實現(xiàn)了鎖相系統(tǒng)的硬件功能。

            本鎖相系統(tǒng)的設(shè)計參數(shù)如下:鑒相器中D 觸發(fā)器的位長為16;DLF 內(nèi)二個積分環(huán)節(jié)中累加器的位長均為16;DCO 中累加器的位長為24,累加器的時鐘頻率fclk 為8MHz,比例積分控制碼組的字長G=14,自由振蕩頻率 f0 控制碼組的字長C=10。

            選擇不同的比例系數(shù)Ka 和積分系數(shù)Kb 、Kc ,可以改變K1 、K2 、K3 的參數(shù)值,進而可根據(jù)本鎖相系統(tǒng)的穩(wěn)定條件式(5),判斷系統(tǒng)是否穩(wěn)定。表2 列出了幾種典型參數(shù)所對應(yīng)的鎖相系統(tǒng)穩(wěn)定性分析結(jié)果。

          表2 中設(shè)


          根據(jù)本系統(tǒng)在Z 域的傳遞函數(shù)和表2 中的設(shè)計參數(shù)K1 、K2 、K3 ,應(yīng)用MATLAB 軟件進行分析,得到三階全數(shù)字鎖相環(huán)在單位階躍信號作用下的系統(tǒng)仿真曲線如圖3 所示。

          從圖3 中系統(tǒng)仿真曲線可以看出,仿真實驗與理論分析的結(jié)果是一致的。調(diào)節(jié)比例和積分系數(shù)不僅能夠控制鎖相系統(tǒng)的穩(wěn)定性,還可以控制系統(tǒng)的鎖相速度。顯然,在保持系統(tǒng)穩(wěn)定的條件下,圖3(d)設(shè)計參數(shù)所對應(yīng)的系統(tǒng)鎖相速度較快。

            根據(jù)本系統(tǒng)在Z 域的誤差傳遞函數(shù)和實際設(shè)計參數(shù),可以分別得到系統(tǒng)在相位階躍、頻率階躍和頻率斜升信號作用下的響應(yīng)曲線如圖4 所示。從圖4 中可以看到,系統(tǒng)對于上述信號的穩(wěn)態(tài)跟蹤誤差均為零。這與理論分析所得出的結(jié)論也是一致的。綜合考慮鎖相系統(tǒng)的穩(wěn)定性、穩(wěn)態(tài)相差和鎖相速度等性能指標, 最終選擇設(shè)計參數(shù)K1 = 2-3 , K2 = 2-6, K3 = 2-11。

          圖5 給出了采用EDA 技術(shù)設(shè)計的三階全數(shù)字鎖相環(huán)的系統(tǒng)仿真波形,圖中clkin 為系統(tǒng)時鐘信號,clr 為系統(tǒng)復(fù)位信號, ui 為輸入信號, uo 為輸出信號, uo1 為二倍頻輸出信號, uo2 為四倍頻輸出信號。從圖5 中可見,本鎖相系統(tǒng)可以同時得到倍頻輸出信號。

            圖6 給出了用 實現(xiàn)的三階全數(shù)字鎖相環(huán)的硬件電路測試波形。系統(tǒng)仿真與硬件測試結(jié)果都表明,該系統(tǒng)能夠?qū)崿F(xiàn)鎖相功能。


          4 結(jié)論

            本文提出了一種基于PI 控制算法的三階全數(shù)字鎖相環(huán),采用EDA 技術(shù)進行系統(tǒng)設(shè)計,并用可編程邏輯器件予以實現(xiàn)。該鎖相環(huán)具有電路結(jié)構(gòu)簡單、控制靈活、跟蹤精度高、環(huán)路性能好、易于集成的特點。在鎖相速度和穩(wěn)定性方面優(yōu)于已有的采用脈沖序列低通濾波計數(shù)方法實現(xiàn)的數(shù)字鎖相系統(tǒng)。理論分析和仿真實驗表明,改變比例積分控制參數(shù),可以很方便地調(diào)節(jié)鎖相系統(tǒng)的鎖相速度和穩(wěn)定性,因而簡化了設(shè)計過程。硬件測試結(jié)果證實,應(yīng)用EDA 技術(shù)設(shè)計的高階全數(shù)字鎖相環(huán)能夠?qū)崿F(xiàn)其鎖相功能。該鎖相環(huán)可作為功能模塊嵌入SoC 內(nèi),為各種控制系統(tǒng)提供快速、穩(wěn)定和高精度的同步信號。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();