PLL和DLL的區別

2021-08-28 18:59:32 字數 1919 閱讀 2917

dll和pll是兩個完全不同的東西,用在不同的地方。

dll-delay locked loop用在數位電路中,用來自動調節一路訊號的延時,使兩路訊號的相位一致(邊沿對齊), 在需要某些數碼訊號(比如data bus上的訊號)與系統時鐘同步的情況下, dll將兩路clock的邊沿對齊(實際上是使被調節的clock滯後系統clock 整數個週期),用被調節的clock做控制訊號,就可以產生與系統時鐘嚴格同步的訊號(比如輸出資料data跟輸入clock同步,邊沿的延時不受到電壓、溫度、頻率影響)。

pll–phase locked loop除了用作相位跟蹤(輸出跟輸入同頻同相,這種情況下跟dll有點相似)外,可以用來做頻率綜合(frequency synthesizer),輸出頻率穩定度跟高精度低漂移參考訊號(比如溫補晶振)幾乎相當的高頻訊號,這時,它是乙個頻率源。利用pll,可以方便地產生不同頻率的高質量訊號,pll輸出的訊號抖動(頻域上表現為相噪)跟它的環路頻寬,鑑相頻率大小有關。總的說來,pll的環路頻寬越小,鑑相頻率越高,它的相位雜訊越小(時域上抖動也越小)。

由於在實際adc系統中,取樣系統總的動態特性主要取決於取樣時鐘的抖動特性,如果對頻率要求不是太高,vcxo是比較好的選擇。如果確實需要可變頻率低抖動時鐘,則基於pll的時鐘發生器是最好選擇。

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 出來的結果是對輸入訊號週期的均分,如示意圖; 輸出訊號只是對輸入訊號的乙個delay, 即為同頻且有乙個固定的phase差,同時由於輸出訊號與輸入直接關聯,輸入訊號的jitter,frequency 漂移會直接反映在輸出訊號上。在實現上,可以是模擬電路也可以是數位電路實現,但絕大多數應該是模擬電路實現比較好,因為需要調節電壓來補償環境變化帶來的delay 變化。

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

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

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

dll中由於delay的時間範圍有限,所以不大適用於低頻訊號在用過altera和xilinx的fpga之後,沒有覺得pll與dll的區別能表現到做的專案上。

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

pll把相位差變成壓差,然後控制vco,調整輸出時鐘;

dll,把相位差變成延遲訊號,然後通過延遲線調整輸出時鐘。

pll是模擬電路的,dll是數位電路的。

FPGA學習筆記(五)PLL和DLL的區別

一 pll原理 pll phase locked loop 生成時鐘的核心部分是壓控振盪器 voltage controlled oscillator,vco 它是可根據輸入的電壓調整輸出頻率的振盪器,如下圖所示。它的基本原理是通過負反饋形成閉環從而根據輸入的基準時鐘控制輸出時鐘。其中鑑相器就相當於...

DLL和EXE的區別

動態鏈結庫 dynamic link library,縮寫為dll 是乙個可以被其它應用程式共享的程式模組,其中封裝了一些可以被共享的例程和資源。動態鏈結庫檔案的副檔名一般是dll,也有可能是drv sys和fon,它和可執行檔案 exe 非常類似.區別dll中雖然包含了可執行 卻不能單獨執行,而應...

lib和dll的區別

1 lib是編譯時需要的,dll是執行時需要的。如果要完成源 的編譯,有lib就夠了。如果也使動態連線的程式執行起來,有dll就夠了。在開發和除錯階段,當然最好都有。2 一般的動態庫程式有lib檔案和dll檔案。lib檔案是必須在編譯期就連線到應用程式中的,而dll檔案是執行期才會被呼叫的。如果有d...