就以我所知道的PLL和DLL兩者的架構來說9 S( J- F* }, u, a! H: E
PLL的核心電路VCO可用單端的ring oscillator,也可用differential 的ring oscillator來實現,兩者的差異在於抗noise有極明顯的差距,如果VCO是用單端的ring oscillator來實現的話,當然對於noise就較容易受到干擾
1 g, X% ^; Y3 D7 l; W! Q$ o. l而DLL的核心電路是delay cell,藉由一級一級的delay cell來產生出不同的phase,又或者可稱作不同delay time的頻率出來,故而,如果delay cell是用單端的delay cell來實現,則它的情況就如同PLL中VCO電路中使用單端的ring oscillator一樣,較易受到noise干擾,不過,這裡的noise干擾是一級對一級的干擾,而不像PLL那樣是一個閉迴路
7 e5 s: v! I( `5 j8 u S所以,對於PLL和DLL來說,兩者對於noise的免疫能力來自於VCO和delay cell是採用單端電路實現還是differential架構來實現,再來就是noise的影響對於PLL來說,因為它是閉迴路,故而noise的影響會造成迴路的變動,進而使得PLL需要在迴路之中有所自我調整(自我變化)來讓迴路對於noise的產生有所反應,但對DLL而言,noise的產生影響是當時一級一級的反應,過了這個時間,noise的影響不會像PLL那樣需要整個閉迴路作自我調整9 i' @ v1 E( V! J+ D. [' ]
也就是說,VCO和delay cell對於noise的免疫能力要看它採用什麼架構,兩者基本上都有同樣的noise影響問題,只不過VCO是閉迴路,所以noise會讓閉迴路產生較大的反應,但delay cell是一級一級的,noise的影響只在當下的時間會產生影響,所以,DLL對於noise的影響程度就會比PLL小得多
8 n' i6 C; R2 [- w- @1 n& s% N6 M: f8 S' G3 l
再來是精確度的考量
6 R; Z! j8 z+ [) U; l0 FDLL的精確度來自於delay cell的一級delay time,此值若能愈小,相對的,DLL的精確度就會愈好,因為一級的delay time大都在ns
6 O6 W/ g3 `* q6 M: p4 V9 X/ c- o而PLL的精確度來自於VCO的gain值和charge pump current對low-pass filter的反應,假設VCO freuqnecy range為500MHz ~ 600MHz,VCO的input電壓變化在1V ~ 2V,所以VCO的gain值為100MHz/V,也就是說VCO的input電壓有10mV的變化,就會有1MHz的改變,故而假若charge pump current對low-pass filter每次的變化量都只有10mV話,那VCO的output frequency變化就只有1MHz
8 E4 c: \8 h+ ~; f% F- {! J如此一來,當然是DLL的精確度會高於PLL,如果PLL的VCO gain和chrage pump current都能有所調整的話,PLL的精確度也可以高過DLL,只不過那會產生出一些問題+ f- T& V* g8 n& R4 a/ f8 d) w
& \0 Z8 ~ [1 M r5 r至於面積和功耗的考量,其實這要看DLL的精確度
+ U7 I8 V$ h4 y6 O& e1 ~' Q如我剛才所提,假若DLL的精確度在每個delay cell只有數個ns,那你需要多少級的delay cell,級數愈多,所需的面積和功耗也就會愈大
; K( ^( p* q4 H }; |5 a- X* x G相對的,PLL的VCO通常是3,4,5級之間,若和DLL相比之下,當然,極有可能會比較小
9 ?3 ~7 H! }( O& U9 C但,如果DLL犠牲它的精確度來換取面積和功耗的話,那PLL的精確度會否小於DLL,那就需要去計算才能夠比較 |