1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>一種可編程的全數字鎖相環路的實現

    一種可編程的全數字鎖相環路的實現

    時間:2023-02-20 23:29:23 電子通信論文 我要投稿
    • 相關推薦

    一種可編程的全數字鎖相環路的實現

    摘要:介紹了一種基于FPGA可編程技術實現的用于無線通信實驗系統的全數字鎖相環路。詳細敘述了其工作原理、工作性能、電路實現和仿真結果。

        關鍵詞:FPGA 全數字鎖相環路 VHDL語言

    鎖相環路已在模擬和數字通信及無線電電子學等各個領域中得到了極為廣泛的應用,特別是在數字通信的調制解調和位同步中常常要用到各種各樣的鎖相環。鎖相就是利用輸入信號與輸出信號之間的相位誤差自動調節輸出相位使之與輸入相位一致,或保持一個很小的相位差。最初的鎖相環全部由模擬電路組成,隨著大規模、超高速數字集成電路的發展及計算機的普遍應用,出現了全數字鎖相環路。所謂全數字鎖相環路,就是環路部件全部數字化,采用數字鑒相器(DPD)、數字環路濾波器(DLF)、數控振蕩器(DCO)構成鎖相環路。在用Altera公司的EPFl0K10TCl44-3芯片設計一種無線通信實驗系統的FSK、DPSK、QAM調制解調器時,利用剩余的10%FPGA資源設計出了一種可編程全數字鎖相環路,它成功地為該通信實驗系統的調制解調器提供了64kHz、56kHz和16kHz三種精確、穩定的時鐘信號。

    1 全數字鎖相環的電路設計

    1.1 DPLL工作原理分析

    所設計的全數字鎖相環路的結構如圖1所示。其中,數字鑒相器由異或門EXOR構成,數字環路濾波器由變模可逆計數器Q構成,數控振蕩器由加/減脈沖控制器I/D和模N計數器組成。可逆計數器和加/減脈沖控制器的時鐘頻率分別是Mf0和2Nf0。這里f0是環路的中心頻率,為64kHz。Mf0等于14336kHz,由晶振電路產生,它經模H計數器分頻后得到2Nf0的時鐘頻率。異或門鑒相器用于比較輸入信號IN64與數控振蕩器輸出信號OUT64的相位差,其輸出信號ud作為可逆計數器的計數方向控制信號。當ud為低電平時,可逆計數器作“加”計數;反之,可逆計數器作“減”計數。當環路鎖定時,IN64和OUT64正交,鑒相器的輸出信號ud為50%占空比的方波。在這種情況下,可逆計數器“加”與“減”的周期相同,只要可逆計數器的模值K足夠大(K>M/4),其輸出端就不會產生進位或借位脈沖。這時,加/減脈沖控制器只對頻率為2Nf0的時鐘進行二分頻,使IN64和OUT64的相位保持正交。在環路未鎖定的情況下,若ud為低電平時,可逆計數器進行加計數,并產生進位脈沖作用到加/減脈沖控制器的“加”控制端INC,該控制器便在二分頻過程中加入半個時鐘周期;反之,若ud為高電平,可逆計數器進行減計數,并產生借位脈沖作用到加/減脈沖控制器的“減”輸入端DEC,該控制器便在二分頻的過程中減去半個時鐘周期,這個過程是連續發生的。加/減脈沖控制器的輸出經過模N計數器分頻后,得到輸出信號OUT64,它的相位不斷受到調整控制,最終達到鎖定狀態。最后只要對OUT64進行4分頻就能得到16kHz的輸出信號OUTl6,對加/減脈沖控制器的輸出進行P分頻就能得到56kHz的輸出信號OUT56。

    圖1

        該全數字鎖相環的三個輸出信號的頻率分別為64kHz、56kHz和16kHz,經過計算可確定鎖相環的參數M、N和P。設H=8,因為Mf0=14336kHz=4×4×2×7×64kHz,故M=4×4×2×7=224。因為2Nf0=Mf0/H=4×4×2×7×64kHz/8=2×2×7×64kHz=2×2×8×56kHz,故N=14、P=16。

    1.2 DPLL電路實現

    1.2.1 數字鑒相器

    數字鑒相器由異或門構成,并使用VHDL語言編程來實現。異或鑒相器比較輸入信號IN64和輸出信號OUT64之間的相位差,輸出誤差信號ud作為可逆計數器Q的計數方向信號。環路鎖定時,ud為一個占空比為50%的方波,此時的絕對相位差為90°,因此異或鑒相器相位差極限為±90°。

    圖2

        1.2.2 數字環路濾波器

    數字環路濾波器由變模可逆計數器Q構成。在ud的控制下,當j=0時,Q對時鐘Mf0進行“加”計數;當j=1時,Q對時鐘Mf0進行“減”計數。可逆計數器的模數K可以通過Ka、Kb、Kc、Kd四個輸入端進行預置,當Ka、Kb、Kc、Kd在0001~1110取值時,相應模數的變化范圍是2 3~2 16。數字環路濾波器用VHDL語言編程實現,其程序如下:

    library ieee;

    use ieee.std_logic_1164.all;

    use ieee.std_logic_unsigned.all;

    entity count_zj is

    port(clkl,j,Kd,Kc,Kb,Ka,en:in std_logic;

    INC,DEC:out std_logic);

    End count_zj;

    architecture behave Of eonnt_zj is

    signal cq,k,mo

    ,k2,mo2,cql:std_logic_vector(16 downto 0);

    signal caol,cao2,caoll,cao22,caolll,cao222:std_logic;

    signal instruction,aa,q1,q2:std_lOgic_vector(3 downto 0);

    begin

    instruction<=Kd & Kc & Kb & Ka;

    aa<=instruction+1;

    with instruction select

    mo<=“00000000000000111”when“0001”,

    “0000000000000t111”when“0010”,

    “000(0)0(000~11111”when“0011”,

    “00000000000111111”when“0100”,

    “00000000001111111”when“0101”,

    “00000000011111111”when“0110”,

    “00000000111111111”when“0111”,

    “00000001111111111”when“1000”,

    “00000011111111111”when“1001”,

    “00000111111111111”when“1010”,

    “00001111111111111”when“1011”,

    “00011111111111111”when“1100”,

    “00111111111111111”when“1101”,

    “01111111111111111”when“1110”,

    “11111111111111111”when“1111”,

    “00000000000000111”when others;

    with aa select

    m02<=“00000000000000111”when“0001”,

    “00000000000001111”when“0010”,

    “00000000000011111”when“0011”,

    “00000000000111111”when“0100”,

    “00000000001111111”when“0101”,

    “00000000011111111”when“0110”,

    “00000000111111111”when“0111”,

    “00000001111111111”when“1000”,

    “00000011111111111”when“1001”,

    “00000111111111111”when“1010”,

    “00001111111111111”when“1011”,

    “00011111111111111”when“1100”,

    “00111111111111111”when“1101”,

    “01111111111111111”when“1110”,

    “11111111111111111”when“1111”,

    “00000000000000111”when othels;

    process(clkl,j,mo,en)

    begin

    if(clkl’event and clkl=‘1’)then

    k<=mo;

    k2<=mo+1;

    if(ell=‘0’)then

    cq<=“00000000000000000”;

    cql<=mo2;

    elSe

    if(j=‘0’)then

    if(cq=k)then

    cao1<=‘1’;

    cao2<=‘0’;

    cq<=(others=>‘0’);

    elSe

    cao1<=‘0’;

    cao2<=‘0’;

    cq<=cq+‘1’;

    cql<=cql+‘1’;

    end if;

    elsif(j=‘1’)then

    if(cql=k2)theH

    cao1<=‘0’;

    cao2<=‘1’;

    cql<=mo2;

    elSe

    cao1<=‘O’;

    cao2<=‘O’;

    cq<=cq-‘1’;

    cql<=cql-‘1’;

    end if;

    end if;

    end if;

    end if;

    end process;

    process(clkl,cao1)

    begin

    cao111<=cao11 or cao1

    if(clkl’event and clkl=‘1’)then

    if(cao111=‘1’)then

    ca011<=‘1’;

    if(q1=“1111”)then

    cao11<=‘O’;

    q1<=“0000”;

    elSe

    q1<=q1+‘1’;

    end if;

    end if;

    end if;

    end process;

    process(clkl,cao2)

    beSin

    cao222<=cao22 or cao2;

    if(clkl’event and clkl=‘1’)then

    if(ca0222=‘1’)then

    cao22<=‘1’;

    if(q2=“1111”)then

    cao22<=‘0’;

    q2<=“0000”;

    e1Se

    q2<=q2+‘1’;

    end if;

    eHd if;

    end if;

    end process;

    INC<=gao11;

    DEC<=cao222;

    end behave;

    1.2.3 數控振蕩器

    數控振蕩器采用加/減脈沖控制器I/D和模N計數器實現,它的輸出是一脈沖序列,周期受數字環路濾波器送來的進位或借位校正信號控制。圖2是加/減脈沖控制器硬件電路圖,該電路由四片7474芯片和一片JK觸發器以及其它一些邏輯門構成。
    (范文先生網www.baimashangsha.com收集整理)
        1.3 DPLL工作性能分析

    可逆計數器Q可看作一個模K分頻器,其輸出頻率為:

    fQout=(KeΦeMf0)/K(Hz)     (1)

    式中,Φe為相位差,Ke為其系數。

    加/減脈沖控制器I/D的輸出頻率為:

    fI/Dout=Nf0+(KeΦeMf0)/(2K)(Hz)     (2)

    經模N計數器分頻后,鎖相環路的輸出信號OUT64的頻率為:

    fouT64=f0+(KeΦeMf0)/(2KN)(Hz)    (3)

    由于鎖定的極限范圍為KeΦe=±1,所以從公式(3)可以得到環路的捕捉帶:

    △fmax=(ffouT64)max-f0=Mf0(2KN)(Hz)     (4)

    上式表明,M和N確定后,變化可逆計數器Q的模K可以改變環路的捕捉帶。

    環路處于鎖定狀態時,環路輸出頻率fouT64必定和輸入信號的頻率fIN64相等,但同時存在一個穩態相位誤差。由式(3)可得:

    Φe(∞)=2KN(fIN64-f0)/(KeMf0)     (5)

    值得注意的是,即使環路在鎖定狀態下,如果K值取得太小,則可逆計數器因頻繁的循環計數會產生進位或借位脈沖,從而導致了相位抖動,增加了同步誤差。為了減少這種相位抖動,K值必須大于M/4。但K值取得太大會延長環路鎖定時間和減小捕捉帶,因此選擇一個適當的K值相當重要。

    圖4

    2 全數字鎖相環仿真驗證與分析

    2.1 鎖定時間

    變模可逆計數器的模數K對DPLL的鎖定時間起著關鍵的作用。圖3為K=2 6時DPLL的輸出仿真波形。環路達到鎖定狀態的仿真時間為371.3μs,而K=2 8時環路達到鎖定狀態的仿真時間為1.54ms。由此可見,模K越大,環路進入鎖定狀態的時間越長。

    2.2 捕捉帶

    根據公式(4)可以得到這樣的結論:模數K越大,捕捉帶就越小。在本設計中,模數K的變化范圍是2 6~2 16,相應捕捉帶的范圍是32kHz~85.3kHz。

    2.3 同步帶

    在本設計中,中心頻率為64kHz。將輸入信號頻率偏移該中心頻率,恰能使DPLL鎖定的頻率范圍為同步帶。經過測試,同步帶范圍是63.82kHz~64.1kHz。圖4顯示的是DPLL在同步帶上邊界時的鎖定波形。

        2.4 DPLL系統仿真結果

    DPLL的系統仿真結果如圖5所示。圖中所顯示的OUTl6、OUT56、OUT64輸出信號符合設計要求。

    DPLL設計的關鍵技術集中在數字環路濾波器和數控振蕩器上。數字環路濾波器可以看成模數K可預置的可逆計數器,這個可逆計數器與其它計數器最大的區別是“加”與“減”的計數值能夠相互抵消,因為只有這樣才能保證可逆計數器“加”和“減”的周期相同時,其輸出端不會產生進位或借位脈沖。另外,模數K的選擇非常重要,要綜合考慮捕捉時間和同步誤差相矛盾的問題。在數控振蕩器的設計中,要注意輸入的進位和借位脈沖信號周期不能太小,否則就不能對數控振蕩器起作用,必須擴大輸入的進位和借位脈沖信號的時鐘周期。本設計是將其擴大了16倍。


    【一種可編程的全數字鎖相環路的實現】相關文章:

    一種簡易數字波形存儲器的實現08-06

    一種數字語音通信系統的DSP實現08-06

    一種全同步數字頻率測量方法的研究08-06

    鍵控技術的數字實現與發展08-06

    新型數字化可編程頻率合成器08-06

    在Protel99SE下實現可編程邏輯器件設計08-06

    在系統可編程通用數字開關ispGDS14的原理及應用08-06

    數字頻率合成器的FPGA實現08-06

    一種Flyback軟開關實現方法08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲国产精品久久久久婷婷图片 | 亚洲国产午夜精品理论片 | 午夜自产精品一区二区三区 | 亚洲一区二区国产精品无l 伊人久久大香线蕉AV五月天宝贝 | 亚洲中文字幕DVD在线 | 亚洲sss整片在线播放 |