就以我所知道的PLL和DLL兩者的架構來說
; j; ]) |: N/ A7 G* z8 M; y, dPLL的核心電路VCO可用單端的ring oscillator,也可用differential 的ring oscillator來實現,兩者的差異在於抗noise有極明顯的差距,如果VCO是用單端的ring oscillator來實現的話,當然對於noise就較容易受到干擾
4 G* i1 O5 }' W7 {5 e! u而DLL的核心電路是delay cell,藉由一級一級的delay cell來產生出不同的phase,又或者可稱作不同delay time的頻率出來,故而,如果delay cell是用單端的delay cell來實現,則它的情況就如同PLL中VCO電路中使用單端的ring oscillator一樣,較易受到noise干擾,不過,這裡的noise干擾是一級對一級的干擾,而不像PLL那樣是一個閉迴路! x/ Y' P2 V. |# a1 o$ {1 x
所以,對於PLL和DLL來說,兩者對於noise的免疫能力來自於VCO和delay cell是採用單端電路實現還是differential架構來實現,再來就是noise的影響對於PLL來說,因為它是閉迴路,故而noise的影響會造成迴路的變動,進而使得PLL需要在迴路之中有所自我調整(自我變化)來讓迴路對於noise的產生有所反應,但對DLL而言,noise的產生影響是當時一級一級的反應,過了這個時間,noise的影響不會像PLL那樣需要整個閉迴路作自我調整
8 t1 L+ P& l' K4 a& f: S也就是說,VCO和delay cell對於noise的免疫能力要看它採用什麼架構,兩者基本上都有同樣的noise影響問題,只不過VCO是閉迴路,所以noise會讓閉迴路產生較大的反應,但delay cell是一級一級的,noise的影響只在當下的時間會產生影響,所以,DLL對於noise的影響程度就會比PLL小得多
7 \. I3 @' v, ^3 Q4 i2 t# k
4 a- H+ p8 s: `再來是精確度的考量; D$ P+ j: E9 M# v
DLL的精確度來自於delay cell的一級delay time,此值若能愈小,相對的,DLL的精確度就會愈好,因為一級的delay time大都在ns
8 L' ]- u7 v ~而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# w# ?; I) Y+ u
如此一來,當然是DLL的精確度會高於PLL,如果PLL的VCO gain和chrage pump current都能有所調整的話,PLL的精確度也可以高過DLL,只不過那會產生出一些問題7 @" j: R/ P8 L
7 c- I+ q" z# h4 E# E1 g. I
至於面積和功耗的考量,其實這要看DLL的精確度
2 d7 ^$ e% p! X; ]$ n1 p' J如我剛才所提,假若DLL的精確度在每個delay cell只有數個ns,那你需要多少級的delay cell,級數愈多,所需的面積和功耗也就會愈大
: r Y: ^2 m; e7 m) L; J相對的,PLL的VCO通常是3,4,5級之間,若和DLL相比之下,當然,極有可能會比較小
+ N/ a; Q5 ^! [2 {3 O但,如果DLL犠牲它的精確度來換取面積和功耗的話,那PLL的精確度會否小於DLL,那就需要去計算才能夠比較 |