PLL與DLL的區別

DLL即Delay Lock Loop, 主要是用於產生一個精準的時間延遲, 且這個delay不隨外界條件如溫度,電壓的變化而改變.這個delay是對輸入信號的週期做精確的等分出來的, 比如一個輸入信號週期爲20ns, 可以設計出等分10份的delay, 即最小2ns的delay. 這在高速界面做clock recovery and data recovery上很有用處。 由於普通的delay cell在不同的corner其delay會發生很大的變化(FF與SS相差幾乎3倍), 有時候會被迫採用DLL來產生一個精準的delay而不是用普通的delay cell.

    而PLL即Phase lock loop, 主要是根據一個輸入時鐘產生出一個與輸入時鐘信號in phase的倍/除頻時鐘, 其中倍頻時鐘和輸入、輸出時鐘in phase是最主要的應用。

從內部結構上來看

     DLL只有一個大的反饋環來調節最後1T後的信號與輸入信號in phase來保證delay 出來的結果是對輸入信號週期的均分,如示意圖DLL.jpg; 輸出信號只是對輸入信號的一個delay, 即爲同頻且有一個固定的phase差,同時由於輸出信號與輸入直接關聯,輸入信號的jitter,frequency 漂移會直接反映在輸出信號上。在實現上,可以是模擬電路也可以是數字電路實現,但絕大多數應該是模擬電路實現比較好,因爲需要調節電壓來補償環境變化帶來的delay 變化。


        PLL除了有一個大的反饋環來讓PLL振出的clock與reference clock in phase,內部還有一個小的ring oscillatorl來振出想要的clock,如示意圖PLL.jpg。由於輸出clock是由一個單獨的ring oscillator振出來的,所以與reference clock的jitter,frequency漂移幾乎完全無關。但由於是內部自己起振,所以比DLL要複雜。這個以前也有提過數字PLL, 但做出來的數字PLL振出來的clock很差,就幾乎沒有提數字PLL, 而是採用模擬電路來做。 好像xilinx用dll,altera用pll


dll是延時鎖相環 delay locked loop,pll是鎖相環 phase lock loop

dll 一般由數字電路實現的 , pll一般由模擬電路實現的

順便說一句,pll下還分爲增強型鎖相環和快速型鎖相環 (epll 和 fpll)

總結一下

(1)        DLL 優勢在於可以做到很高精度,可以排除溫度、電壓變化帶來的影響,使得skew 可以作得很小,而且可以調整時鐘佔空比。

(2)        PLL 優勢在於抑制clock jitter 以及輸入時鐘的frequency漂移。

補充一點:DLL中由於Delay的時間範圍有限,所以不大適用於低頻信號

在用過ALTERA和XILINX的FPGA之後,

沒有覺得PLL與DLL的區別能表現到做的項目上。

我想是不是對於大多數FPGA設計來說,還不用考慮這兩者的區別

PLL,把相位差變成壓差,然後控制VCO,調整輸出時鐘; DLL,把相位差變成延遲信號,然後通過延遲線調整輸出時鐘。 PLL是模擬電路的,DLL是數字電路的。


一般在altera公司的產品上出現PLL的多,而xilinux公司的產品則更多的是DLL,開始本人也以爲是兩個公司的不同說法而已,後來在論壇上見到有人在問兩者的不同,細看下,原來真是兩個不一樣的傢伙。DLL是基於數字抽樣方式,在輸入時鐘和反饋時鐘之間插入延遲,使輸入時鐘和反饋時鐘的上升沿一致來實現的。又稱數字鎖相環

PLL使用了電壓控制延遲,用VCO來實現和DLL中類試的延遲功能。又稱模擬鎖相環。功能上都可以實現倍頻、分頻、佔空比調整,但是PLL調節範圍更大,比如說:XILINX使用DLL,只能夠2、4倍頻;ALTERA的PLL可以實現的倍頻範圍就更大畢竟一個是模擬的、一個是數字的。兩者之間的對比:對於PLL,用的晶振存在不穩定性,而且會累加相位錯誤,而DLL在這點上做的好一些,抗噪聲的能力強些;但PLL在時鐘的綜合方面做得更好些。總的來說PLL的應用多,DLL則在jitter power precision等方面優於PLL。

目前大多數FPGA廠商都在FPGA內部集成了硬的DLL(Delay-Locked Loop)或者PLL(Phase-Locked Loop),用以完成時鐘的高精度、低抖動的倍頻、分頻、佔空比調整移相等。目前高端FPGA產品集成的DLL和PLL資源越來越豐富,功能越來越複雜,精度越來越高(一般在ps的數量級)。Xilinx芯片主要集成的是DLL,而Altera芯片集成的是PLL。Xilinx芯片DLL的模塊名稱爲CLKDLL,在高端FPGA中,CLKDLL的增強型模塊爲DCM(Digital Clock Manager)。

Altera芯片的PLL模塊也分爲增強型PLL(Enhanced PLL)和高速(Fast PLL)等。這些時鐘模塊的生成和配置方法一般分爲兩種,一種是在HDL代碼和原理圖中直接實例化,另一種方法是在IP核生成器中配置相關參數,自動生成IP。Xilinx的IP核生成器叫Core Generator,另外在Xilinx ISE 5.x版本中通過Archetecture Wizard生成DCM模塊。Altera的IP核生成器叫做MegaWizard。另外可以通過在綜合、實現步驟的約束文件中編寫約束屬性完成時鐘模塊的約束。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章