《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于FPGA的全數字鎖相環路的設計

基于FPGA的全數字鎖相環路的設計

2008-12-29
作者:單長虹1, 孟憲元2

  摘 要: 介紹了應用VHDL技術設計嵌入式全數字" title="全數字">全數字鎖相環路" title="鎖相環路">鎖相環路的方法。詳細敘述了其工作原理和設計思想,并用可編程邏輯器件FPGA予以實現。

  關鍵詞: VHDL語言 全數字鎖相環路(DPLL) 片上系統(SOC) FPGA

?

  數字鎖相環路已在數字通信?無線電電子學及電力系統自動化等領域中得到了極為廣泛的應用。傳統的全數字鎖相環路(DPLL)是由中?小規模TTL集成電路構成。這類DPLL工作頻率低,可靠性較差。隨著集成電路技術的發展,不僅能夠制成頻率較高的單片集成鎖相環路,而且可以把整個系統集成到一個芯片上去,實現所謂片上系統SOC(System on a chip)。因此,可以把全數字鎖相環路作為一個功能模塊嵌入SOC,構成片內鎖相環。下面介紹采用VHDL技術設計DPLL的一種方案。

1 工作原理

  全數字鎖相環路的結構框圖如圖1所示。其中數字鑒相器由異或門構成,數字環路濾波器由變模可逆計數器構成,數控振蕩器由加/減脈沖控制器" title="脈沖控制器">脈沖控制器和除N計數器組成。可逆計數器和加/減脈沖控制器的時鐘頻率分別為Mf0和2Nf0。這里f0是環路的中心頻率,一般情況下M和N為2的整數冪。時鐘2Nf0經除H(=M/2N)計數器得到。

?

?

  異或門鑒相器用于比較輸入信號u1與數控振蕩器輸出信號u2的相位差,其輸出信號ud作為可逆計數器的計數方向控制信號。當ud為低電平時(u1和u2有同極性時),可逆計數器作“加”計數。反之,當ud 為高電平時,可逆計數器作“減”計數。

  異或門鑒相器在環路鎖定時和相位誤差達到極限時的相應波形如圖2所示。當環路瑣定時,u1和u2正交,鑒相器的輸出信號ud為50%占空比的方波,此時定義相位誤差為零。在這種情況下,可逆計數器“加”與“減”的周期相同,只要可逆計數器的k值足夠大(k>M/4),其輸出端就不會產生進位或借位脈沖。這時,加/減脈沖控制器只對其時鐘2Nf0進行二分頻,使u1和u2的相位保持正交。在環路未鎖定的情況下,若ud=0時,它使可逆計數器向上加計數,并導致進位脈沖產生,進位脈沖作用到加/減脈沖控制器的“加”控制端i,該控制器便在二分頻過程中加入半個時鐘周期。反之,若ud=1,可逆計數器減計數,并將發出借位脈沖到加/減脈沖控制器的“減”輸入端d,于是,該控制器便在二分頻的過程中減去半個周期。這個過程是連續發生的。加/減脈沖控制器的輸出經過除N計數器后,使得本地估算信號u2的相位受到調整控制,最終達到鎖定狀態。

?

?

2 環路部件的設計

  這里重點介紹數字環路濾波器的設計。數字環路濾波器是由變模可逆計數器構成。在ud的控制下,當j=0時,對時鐘Mf0進行“加”計數;當j=1時,進行“減”計數。可逆計數器的計數容量(模數" title="模數">模數k)可以利用A?B?C?D四位進行預置,從而方便地改變模數。其預置模數的范圍為,當D?C?B?A在0001~1111取值時,相應模數的變化范圍是23~217。可見,可逆計數器的長度能夠根據模數k值的大小來實現數字編程控制。取D?C?B?A為0001時,K=23,計數器長度只有三級,因而可以擴大捕捉帶,縮短鎖定時間。在D?C?B?A取1111時,K=217,計數器長度變為十七級,這時捕捉帶縮小,縮定時間延長。變模可逆計數器的VHDL設計程序如下:

  library ieee;

  use ieee.std_logic_1164.all;

  use ieee.std_logic_unsigned.all;

  entity count_k is

  port(clk,j,en,d,c,b,a:in std_logic;

????????????? r1,r2:out std_logic);

  end;

  architecture behave of count_k is

  signal cq,k,mo:std_logic_vector(16 downto 0);

  signal cao1,cao2:std_logic;

  signal instruction:std_logic_vector(3 downto 0);

  begin

???????????????????? instruction<=d & c & b & a;

????????????? with instruction select

????????????? mo <=″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 others;

  process(clk,en,j,k,cq)

  begin

????????????? if? clk'event and clk='1'? then

??? ?????? k<=mo;

????????????? if en='1' then

????????????? if j='0' then

???? ???? if cq

??????? ????????????? else cq<=(others=>'0');

???????????? end if;

???????????????????? else

???????? if cq>0 then cq<=cq-1;

??????????? ???????????????????? else cq<=k;

???????????? end if;

????????? end if;

??????? ?????? else cq<=(others=>'0');

?????? ? end if;

  end if;

  end process;

  process(en,j,cq,k)

  begin

????????????? if en='1'? then?

????????????? if j='0' ?then

?????? if? cq=k? then? cao1<='1';

??????????????? else?? cao1<='0';

?????? end if;

?????? cao2<='0';

?? ? else

???? ???? if cq=″00000000000000000″then cao2<='1';

??????????????????????????? ????????????? else cao2<='0';

?????? ? end if;

?????? ? cao1<='0';

???  end if;

????????????? else cao1<='0'; cao2<='0';

????????????? end if;

  end process;

????????????? r1<=cao1;? r2<=cao2;

  end behave;

????根據對其他環路部件的功能分析,也可以設計出相應的VHDL程序。

3 設計實現

  本設計中全數字鎖相環路采用XILINX公司的Foundation 3.1版本進行設計,并用Spartan2系列的FPGA予以實現。下面分別給出變模可逆計數器和加/減脈沖控制器的仿真波形" title="仿真波形">仿真波形如圖3?圖4所示。從圖3中可見,當j=0時,可逆計數器做加計數,若取模k=24,則當計數值cq=0000FH時,計數器產生進位脈沖(r1=1);當j=1后,在下一個時鐘的上升沿到來時,可逆計數器開始做減計數,當cq=00000H時,產生借位脈沖(r2=1)。改變模k便可延長或縮短可逆計數器產生進位脈沖和借位脈沖的時間。同時,由圖1可知,可逆計數的加/減計數信號j是由鑒相器的輸出信號ud控制的,而其進位脈沖r1和借位脈沖r2又分別與加/減脈沖控制器的i和d相接,用于控制其輸出脈沖的序列。

?

?

?

  由圖4可知,在無進位和借位脈沖時,加/減脈沖控制器對2Nf0時鐘進行二分頻。一旦可逆計數器有進位脈沖或借位脈沖輸出時,作用到加/減脈沖控制器i或d端,便使其輸出脈沖序列發生了變化。當可逆計數器輸出一個進位脈沖時,使i=1,則在i的下降沿到來之后,加/減脈沖控制器的輸出端q插入一個脈沖,即在其輸出序列中加入了半個周期;反之,當可逆計數器輸出一個借位脈沖時,使d=1,則在d的下降沿到來之后,q端刪除一個脈沖,即在加/減脈沖控制器的輸出序列中刪去了半個周期。由以上對圖3?4仿真波形的分析可知,變模可逆計數器和加/減脈沖控制器的邏輯功能符合設計要求。把全數字鎖相環路的各部件連接起來進行系統仿真,可得其仿真波形如圖5和圖6所示。其中圖5是取k=25時的系統仿真波形,由圖中可見,u1和u2達到鎖定狀態時的仿真時間是175μs。圖6是取k=28時的系統仿真波形,在這種情況下,u1和u2達到鎖定狀態時的仿真時間是1.04ms。顯然,模k愈大,環路進入鎖定狀態的時間愈長。

?

?

?

  值得指出的是,在環路鎖定狀態下,由于可逆計數器的連續計數,或在噪聲的干擾下,會產生進位和借位脈沖。如果k值取得太小,則可逆計數器因頻繁地循環計數而產生進位或借位脈沖,這就導致了在環路的輸出端出現相位抖動。為了減少這種相位抖動,k值必須取大于M/4。

  由以上分析可知,模k的取值要適當。k取得大,對抑制噪聲?減少相位抖動有利,但同時又加大了環路進入鎖定狀態的時間。反之,k取得小,可以加速環路的鎖定,而對噪聲的抑制能力卻隨之降低。

  采用VHDL設計全數字鎖相環路,具有設計靈活?修改方便和易于實現的優點,并能夠制成嵌入式片內鎖相環。該類數字鎖相環路中計數器的模數可以隨意修改。這樣,就能夠根據不同情況最大限度地?靈活地設計環路。

?

參考文獻

1 孟憲元.可編程ASIC設計及應用.成都:電子科技大學出版社,2000.11

2 胡華春,石 玉.數字鎖相環路原理與應用.上海:上海科技出版社,1990

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
玖玖玖免费嫩草在线影院一区| 国产精品一卡二卡| 午夜精品久久久久久99热| 亚洲精品资源| 亚洲国产福利在线| 欧美影院在线播放| 先锋影音国产一区| 亚洲欧美日韩另类| 亚洲欧美日韩综合国产aⅴ| 亚洲午夜精品一区二区| 中文久久精品| 亚洲视频在线观看一区| 亚洲手机视频| 亚洲一区二区三区四区中文| 亚洲私人黄色宅男| 亚洲综合国产激情另类一区| 亚洲一区日韩在线| 亚洲一级在线观看| 亚洲欧美日韩另类精品一区二区三区| 亚洲视频一起| 亚洲欧美另类中文字幕| 香蕉久久国产| 亚洲成人在线网站| 亚洲欧洲精品一区二区三区| 亚洲精品国产精品国自产观看| 91久久黄色| 99视频精品免费观看| 在线亚洲欧美视频| 亚洲影院污污.| 午夜精品福利一区二区三区av| 香蕉久久一区二区不卡无毒影院| 午夜日韩激情| 久久久噜噜噜| 欧美激情第三页| 欧美日韩一级黄| 国产美女精品视频| 国内成人在线| 亚洲人成在线观看| 国产精品99久久久久久久女警| 亚洲欧美激情诱惑| 亚洲成色精品| 9人人澡人人爽人人精品| 亚洲一区精彩视频| 久久精品99国产精品酒店日本| 久久亚洲精品网站| 欧美激情综合五月色丁香| 国产精品电影在线观看| 国产婷婷色一区二区三区| 曰韩精品一区二区| 日韩一区二区精品葵司在线| 午夜国产精品影院在线观看| 亚洲黄色小视频| 亚洲先锋成人| 久久青草福利网站| 欧美日韩一区成人| 国产一区在线播放| 亚洲精品资源| 久久国产毛片| 亚洲手机在线| 久久裸体视频| 欧美日韩在线视频一区| 国模吧视频一区| 日韩午夜中文字幕| 久久精品国产99国产精品澳门| 一本色道久久综合亚洲精品婷婷| 久久国产精品99国产| 欧美精品手机在线| 国产日韩精品电影| 日韩西西人体444www| 久久av一区二区| 亚洲视频在线免费观看| 久久艳片www.17c.com| 国产精品qvod| 亚洲国产激情| 欧美一区二区免费观在线| 一二三四社区欧美黄| 久久一区中文字幕| 国产精品日韩久久久| 亚洲欧洲日产国产综合网| 欧美在线观看视频一区二区三区 | 亚洲精品资源美女情侣酒店| 欧美一级久久久久久久大片| 夜夜嗨av一区二区三区| 久久久免费精品| 国产精品永久免费观看| 99re国产精品| 亚洲三级毛片| 久久视频精品在线| 国产欧美91| 一区二区三区产品免费精品久久75| 亚洲国产专区校园欧美| 欧美在线免费视频| 国产精品久久婷婷六月丁香| 亚洲精品一区二区三区樱花| 亚洲国产美女精品久久久久∴| 午夜日韩在线观看| 欧美午夜性色大片在线观看| 亚洲国产精选| 91久久中文字幕| 蜜臀av在线播放一区二区三区| 国产一级一区二区| 午夜精品久久久久久久99水蜜桃| 亚洲欧美日韩国产综合在线| 欧美日韩国产片| 亚洲精品1区2区| 亚洲激情在线视频| 卡通动漫国产精品| 韩国一区二区在线观看| 欧美与欧洲交xxxx免费观看| 久久成人免费电影| 国产欧美一区二区三区久久人妖| 一区二区三区欧美成人| 99精品99久久久久久宅男| 欧美成人乱码一区二区三区| 影视先锋久久| 亚洲国产福利在线| 蜜桃伊人久久| 亚洲黄色毛片| 99视频有精品| 欧美日韩情趣电影| 日韩午夜av电影| 一区二区三区日韩| 欧美性猛交视频| 亚洲视频碰碰| 欧美在线观看视频| 国产一区二区黄色| 亚洲高清色综合| 欧美顶级大胆免费视频| 91久久极品少妇xxxxⅹ软件| 99热免费精品| 国产精品成人久久久久| 亚洲一区网站| 久久久久久成人| 黄色国产精品| 亚洲欧洲一区二区三区久久| 欧美成人性生活| 99视频国产精品免费观看| 亚洲一区日韩在线| 国产乱码精品一区二区三| 欧美亚洲一区二区在线观看| 久久精品视频网| 永久91嫩草亚洲精品人人| 亚洲欧洲一区二区在线观看 | 国产欧美一区在线| 亚洲成在线观看| 欧美精品自拍| 亚洲影院在线观看| 久久美女性网| 最新日韩精品| 亚洲综合清纯丝袜自拍| 国产亚洲aⅴaaaaaa毛片| 最新中文字幕亚洲| 欧美日一区二区三区在线观看国产免| 亚洲永久字幕| 久久综合色综合88| 亚洲精品中文字| 午夜在线一区二区| 精品999成人| 亚洲私人黄色宅男| 国产亚洲欧洲一区高清在线观看| 亚洲精品1区| 国产精品久久久久久妇女6080 | 欧美日韩性视频在线| 亚洲在线播放| 麻豆精品视频| 一区二区三区蜜桃网| 久久精品日韩欧美| 亚洲美女av黄| 久久久久久婷| 99国产精品久久久久久久| 久久国产日本精品| 亚洲精品系列| 久久精品一区二区| 亚洲美女诱惑| 久久精品亚洲| 亚洲免费精彩视频| 久久亚洲春色中文字幕| 一区二区三区高清在线观看| 老司机精品视频网站| 亚洲少妇一区| 欧美大片免费久久精品三p| 亚洲欧美日韩综合aⅴ视频| 欧美黄色免费网站| 欧美影院在线播放| 欧美亚韩一区| 亚洲激情在线观看| 国产日产欧美a一级在线| 一区二区免费在线观看| 国产一区二区三区在线免费观看 | 亚洲自拍三区| 亚洲国产福利在线| 久久精品卡一| 一区二区三区四区五区精品| 麻豆精品精华液| 香蕉久久国产| 欧美午夜视频一区二区| 亚洲精品视频在线| 韩国成人福利片在线播放| 欧美一区二区三区四区夜夜大片| 亚洲精选中文字幕|