在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 汽車電子 > 設計應用 > 全數(shù)字鎖相環(huán)的設計

            全數(shù)字鎖相環(huán)的設計

            作者:北京潤光泰力科技有限公司\謝稷宏 時間:2004-02-20 來源:電子設計應用 收藏
            摘要:本文在說明的基礎上,提出了一種利用設計一階的方法,并給出了關鍵部件的RTL可綜合代碼,并結合本設計的一些仿真波形詳細描述了數(shù)字鎖相環(huán)的工作過程,最后對一些有關的問題進行了討論。
            關鍵詞:;;;
            引言
            鎖相環(huán)(PLL)技術在眾多領域得到了廣泛的應用。如信號處理,調制解調,時鐘同步,倍頻,頻率綜合等都應用到了鎖相環(huán)技術。傳統(tǒng)的鎖相環(huán)由模擬電路實現(xiàn),而全數(shù)字鎖相環(huán)()與傳統(tǒng)的模擬電路實現(xiàn)的PLL相比,具有精度高且不受溫度和電壓影響,環(huán)路帶寬和中心頻率編程可調,易于構建高階鎖相環(huán)等優(yōu)點,并且應用在數(shù)字系統(tǒng)中時,不需A/D及D/A轉換。隨著通訊技術、集成電路技術的飛速發(fā)展和系統(tǒng)芯片(SoC)的深入研究,必然會在其中得到更為廣泛的應用。
            這里介紹一種采用VERILOG硬件描述語言設計DPLL的方案。

            DPLL結構及工作原理
            一階DPLL的基本結構如圖1所示。主要由鑒相器、K變??赡嬗嫈?shù)器、脈沖加減電路和除N計數(shù)器四部分構成。K變模計數(shù)器和脈沖加減電路的時鐘分別為Mfc和2Nfc。這里fc是環(huán)路中心頻率,一般情況下M和N都是2的整數(shù)冪。本設計中兩個時鐘使用相同的系統(tǒng)時鐘信號。
            鑒相器
            常用的鑒相器有兩種類型:異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD),本設計中采用異或門(XOR)鑒相器。異或門鑒相器比較輸入信號Fin相位和輸出信號Fout相位之間的相位差Фe=Фin-Фout,并輸出誤差信號Se作為K變??赡嬗嫈?shù)器的計數(shù)方向信號。環(huán)路鎖定時,Se為一占空比50%的方波,此時的絕對相為差為90°。因此異或門鑒相器相位差極限為±90°。異或門鑒相器工作波形如圖2所示。


            圖1 數(shù)字鎖相環(huán)基本結構圖


            圖2 異或門鑒相器在環(huán)路鎖定及極限相位差下的波形


            圖3 脈沖加減電路工作波形


            圖4 解調

            K變??赡嬗嫈?shù)器
            K變模可逆計數(shù)器消除了鑒相器輸出的相位差信號Se中的高頻成分,保證環(huán)路的性能穩(wěn)定。K變模可逆計數(shù)器根據相差信號Se來進行加減運算。當Se為低電平時,計數(shù)器進行加運算,如果相加的結果達到預設的模值,則輸出一個進位脈沖信號CARRY給脈沖加減電路;當Se為高電平時,計數(shù)器進行減運算,如果結果為零,則輸出一個借位脈沖信號BORROW給脈沖加減電路。
            脈沖加減電路
            脈沖加減電路實現(xiàn)了對輸入信號頻率和相位的跟蹤和調整,最終使輸出信號鎖定在輸入信號的頻率和信號上,工作波形如圖3所示。
            除N計數(shù)器
            除N計數(shù)器對脈沖加減電路的輸出IDOUT再進行N分頻,得到整個環(huán)路的輸出信號Fout。同時,因為fc=IDCLOCK/2N,因此通過改變分頻值N可以得到不同的環(huán)路中心頻率fc。

            DPLL部件的設計實現(xiàn)
            了解了DPLL的工作原理,我們就可以據此對DPLL的各部件進行設計。DPLL的四個主要部件中,異或門鑒相器和除N計數(shù)器的設計比較簡單:異或門鑒相器就是一個異或門;除N計數(shù)器則是一個簡單的N分頻器。下面主要介紹K變??赡嬗嫈?shù)器和脈沖加減電路的設計實現(xiàn)。
            K變??赡嬗嫈?shù)器的設計實現(xiàn)
            K變??赡嬗嫈?shù)器模塊中使用了一個可逆計數(shù)器Count,當鑒相器的輸出信號dnup為低時,進行加法運算,達到預設模值則輸出進位脈沖CARRY;為高時,進行減法運算,為零時,輸出借位脈沖BORROW。Count的模值Ktop由輸入信號Kmode預設,一般為2的整數(shù)冪,這里模值的變化范圍是23-29。模值的大小決定了DPLL的跟蹤步長,模值越大,跟蹤步長越小,鎖定時的相位誤差越小,但捕獲時間越長;模值越小,跟蹤步長越大,鎖定時的相位誤差越大,但捕獲時間越短。
            K變??赡嬗嫈?shù)器的VERILOG設計代碼如下(其中作了部分注釋,用斜體表示):
            module KCounter(Kclock,reset,dnup,enable, Kmode,carry,borrow);
            input Kclock; /*系統(tǒng)時鐘信號*/
            input reset; /*全局復位信號*/
            input dnup; /*鑒相器輸出的加減控制信號*/
            input enable; /*可逆計數(shù)器計數(shù)允許信號*/
            input [2:0]Kmode; /*計數(shù)器模值設置信號*/
            output carry; /*進位脈沖輸出信號*/
            output borrow; /*借位脈沖輸出信號*/
            reg [8:0]Count; /*可逆計數(shù)器*/
            reg [8:0]Ktop; /*預設模值寄存器*/
            /*根據計數(shù)器模值設置信號Kmode來設置預設模值寄存器的值*/
            always @(Kmode)
            begin
            case(Kmode)
            3'b001:Ktop<=7;
            3'b010:Ktop<=15;
            3'b011:Ktop<=31;
            3'b100:Ktop<=63;
            3'b101:Ktop<=127;
            3'b110:Ktop<=255;
            3'b111:Ktop<=511;
            default:Ktop<=15;
            endcase
            end
            /*根據鑒相器輸出的加減控制信號dnup進行可逆計數(shù)器的加減運算*/
            always @(posedge Kclock or posedge reset)
            begin
            if(reset)
            Count<=0;
            else if(enable)
            begin
            if(!dnup)
            begin
            if(Count==Ktop)
            Count<=0;
            else
            Count<=Count+1;
            end
            else
            begin
            if(Count==0)
            Count<=Ktop;
            else
            Count<=Count-1;
            end
            end
            end
            /*輸出進位脈沖carry和借位脈沖borrow*/
            assign carry=enable&(!dnup) &(Count==Ktop);
            assign borrow=enable&dnup& (Count==0);
            endmodule

            脈沖加減電路的設計實現(xiàn)
            脈沖加減電路完成環(huán)路的頻率和相位調整,可以稱之為數(shù)控振蕩器。當沒有進位/借位脈沖信號時,它把外部參考時鐘進行二分頻;當有進位脈沖信號CARRY時,則在輸出的二分頻信號中插入半個脈沖,以提高輸出信號的頻率;當有借位脈沖信號BORROW時,則在輸出的二分頻信號中減去半個脈沖,以降低輸出信號的頻率。VERILOG設計代碼如下:
            module IDCounter(IDclock,reset,inc,dec,IDout);
            input IDclock; /*系統(tǒng)時鐘信號*/
            input reset; /*全局復位信號*/
            input inc; /*脈沖加入信號*/
            input dec; /*脈沖扣除信號*/
            output IDout; /*調整后的輸出信號*/
            wire Q1, Qn1, Q2, Qn2, Q3, Qn3;
            wire Q4, Qn4, Q5, Qn5, Q6, Qn6;
            wire Q7, Qn7, Q8, Qn8, Q9, Qn9;
            wire D7, D8;
            FFD FFD1(IDclock, reset, inc, Q1, Qn1);
            FFD FFD2(IDclock, reset, dec, Q2, Qn2);
            FFD FFD3(IDclock, reset, Q1, Q3, Qn3);
            FFD FFD4(IDclock, reset, Q2, Q4, Qn4);
            FFD FFD5(IDclock, reset, Q3, Q5,Qn5);
            FFD FFD6(IDclock, reset, Q4, Q6,Qn6);
            assign D7=((Q9 & Qn1 & Q3) | (Q9 & Q5 & Qn3));
            assign D8=((Qn9 & Qn2 & Q4) | (Qn9 & Q6 & Qn4));
            FFD FFD7(IDclock, reset, D7, Q7, Qn7 );
            FFD FFD8(IDclock, reset, D8, Q8, Qn8);
            JK FFJK(IDclock, reset, Qn7, Qn8, Q9, Qn9);
            assign IDout = (!Idclock)|Q9;
            endmodule
            其中,F(xiàn)FD為D觸發(fā)器,JK為JK觸發(fā)器。
            當環(huán)路的四個主要部件全部設計完畢,我們就可以將他們連接成為一個完整的DPLL,進行仿真、綜合、驗證功能的正確性。

            DPLL的實現(xiàn)
            本設計中的一階DPLL使用XILINX公司的FOUNDATION4.1軟件進行設計綜合,采用XILINX的SPARTAN2系列的XC2S15 FPGA器件實現(xiàn),并使用Modelsim5.5d軟件進行了仿真。結果表明:本設計中DPLL時鐘可達到120MHz,性能較高;而僅使用了87個LUT和26個觸發(fā)器,占用資源很少。下面給出詳細描述DPLL的工作過程。
            (1) 當環(huán)路失鎖時,異或門鑒相器比較輸入信號(DATAIN)和輸出信號(CLOCKOUT)之間的相位差異,并產生K變??赡嬗嫈?shù)器的計數(shù)方向控制信號(DNUP);
            (2) K變??赡嬗嫈?shù)器根據計數(shù)方向控制信號(DNUP)調整計數(shù)值,DNUP為高進行減計數(shù),并當計數(shù)值到達0時,輸出借位脈沖信號(BORROW);為低進行加計數(shù),并當計數(shù)值達到預設的K模值時,輸出進位脈沖信號(CARRY);
            (3) 脈沖加減電路則根據進位脈沖信號(CARRY)和借位脈沖信號(BORROW)在電路輸出信號(IDOUT)中進行脈沖的增加和扣除操作,來調整輸出信號的頻率;
            (4) 重復上面的調整過程,當環(huán)路進入鎖定狀態(tài)時,異或門鑒相器的輸出DNUP為一占空比50%的方波,而K變模可逆計數(shù)器則周期性地產生進位脈沖輸出CARRY和借位脈沖輸出BORROW,導致脈沖加減電路的輸出IDOUT周期性的加入和扣除半個脈沖。

            有關一階DPLL的一些討論
            “波紋”(Ripple)消除
            在DPLL工作過程中,環(huán)路鎖定時,異或門鑒相器的輸出DNUP是一個占空比50%的方波。因為在DPLL的基本結構中,K變??赡嬗嫈?shù)器始終起作用。因此當環(huán)路鎖定后,如果模數(shù)K取值較小,K變模可逆計數(shù)器會頻繁地周期性輸出進位脈沖信號CARRY和借位脈沖信號BORROW,從而在脈沖加減電路中產生周期性的脈沖加入和扣除動作,這樣就在脈沖加減電路的輸出信號IDOUT中產生了周期性的誤差,稱為“波紋”;如果模數(shù)K取值足夠大——對于異或門鑒相器,K應大于M/4;對于邊沿控制鑒相器,K應大于M/2,則這種“波紋”誤差通過除N計數(shù)器后,可以減少到N個周期出現(xiàn)一次,也就是說K變??赡嬗嫈?shù)器的進位脈沖信號CARRY和借位脈沖信號BORROW的周期是N個參考時鐘周期。
            為了消除“波紋”誤差,可以為K變??赡嬗嫈?shù)器產生一個計數(shù)允許信號ENABLE,環(huán)路失鎖時,此信號有效,允許計數(shù);環(huán)路鎖定時,此信號無效,禁止計數(shù),則不會產生周期性的進位和借位脈沖信號。
            “波紋”消除電路消除“波紋”誤差的同時,也減小了DPLL的鎖定范圍,環(huán)路的相位極限誤差(異或門鑒相器為±90°;ECPD為±180°)減小為原來的1/(1+1/2K),鑒相增益也減小到原來的1/2。
            使用DPLL進行解調
            一個帶有邊沿控制鑒相器ECPD的DPLL再加上一個D觸發(fā)器,就可以構成一個FSK解調器,如圖4所示。
            假設有一個輸入信號Fin,它的頻率在F1和F2之間變化,DPLL的中心頻率為Fc,并且F1

            結語
            本文介紹了一種一階DPLL的設計方法,利用VERILOG語言配合XILINX的FPGA,為設計提供了極大的便利和性能保證。DPLL中可逆計數(shù)器模值可隨意修改,來控制DPLL的跟蹤補償和鎖定時間;同時,除N計數(shù)器的分頻值也可隨意改變,使DPLL可跟蹤不同中心頻率的輸入信號,而這些只需在設計中修改幾行代碼即可完成。另外,設計好的DPLL模塊還可作為可重用的IP核,應用于其他設計?!?/P>

            參考文獻
            1 “Digital Phase_locked Loop Design Using SN54/74Ls297”Texas Instruments Incorprated,1997
            2 “Phase Locked Loop(PLL) in High Speed Designs”Lattice Semiconductor Corpration, AN8017~01 1997
            3 《數(shù)字鎖相環(huán)路原理與應用》胡華春 著 上海科技出版社 1990年

            分頻器相關文章:分頻器原理
            塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理
            鑒相器相關文章:鑒相器原理
            脈沖點火器相關文章:脈沖點火器原理
            鎖相環(huán)相關文章:鎖相環(huán)原理
            鎖相放大器相關文章:鎖相放大器原理


            評論


            相關推薦

            技術專區(qū)

            關閉