FPGA的學習中,經常會看到DCM、DLL、以及PLL等詞語。以前沒有真正使用,總是模棱兩可,馬馬虎虎知道是時鐘相關資源就再也沒深究。但終究不是辦法,因爲雖然解決問題的時候確實很痛苦,但是痛苦之餘盲區總會一天少過一天。相反,對問題避之不及,到要用的一天又會“書到用時方恨少”,懊惱又悔恨。因此,我查閱文獻,對這些名詞進行了一次梳理與瞭解,就當掃盲也好:
目錄
一、功能
1、消除時鐘延遲
2、頻率合成(倍頻和分頻)
3、時鐘校正(可編程佔空比和相移)
二、PLL介紹
PLL (Phase Locked Loop,相位鎖定環)是一種負反饋系統,基準頻率振盪器、相位頻率比較器、環路濾波器和壓控振盪器以及反饋分頻器組成。
1、模塊功能:
基準頻率振盪器:輸入晶體振盪器,作爲基準信號(高頻率振盪器由基準信號得到,因此其頻率穩定度可以與晶體振盪器相媲美);
相位頻率比較器:對基準頻率信號與壓控振盪器輸出進行比較,用於反饋;
環路濾波器:將相位頻率比較器的脈衝輸出轉換爲直流電壓,作爲壓控震盪器的控制信號;
壓控振盪器:PLL的輸出產生器件,受反饋電壓控制;
反饋分頻器:壓控振盪器的輸出,經反饋分頻器輸入到相位頻率比較器;
2、工作原理(負反饋):
壓控振盪器產生輸出,經反饋分頻器反饋到相位頻率比較器與基準頻率比較,差異值PD經迴路濾波器轉換爲直流電壓VR,作爲控制電壓控制震盪器的頻率改變,通過負反饋逐步實現振盪器頻率的穩定。
3、示意圖:
示意圖1:
示意圖2:
4、PLL特點:
1、輸出時鐘是內部壓控振盪器產生的,把輸入參考時鐘和反饋時鐘的變化轉換爲電壓信號間接地控制VCO的頻率;
2、壓控振盪器輸出頻率有一定的範圍,如果輸入時鐘頻率超出這個頻率,則鎖相環不能鎖定;
3、LPF部件可以過濾輸入時鐘的高頻抖動,其輸出時鐘的抖動主要來自VCO本身及電源噪聲,而不是輸入時鐘帶入的抖動;
4、由於是模擬電路,因此對電源噪聲敏感,在設計PCB時,一般需要單獨的模擬電源和模擬地。
二、DLL
1、DLL概念
DLL(delay locked loop,數字延遲鎖相環),基於數字抽樣方式,在輸入時鐘和反饋時鐘之間插入延遲,在輸入時鐘和反饋時鐘間插入延遲,使輸入時鐘和反饋時鐘的上升沿一致來實現的。DLL用可變延遲線代替壓控振盪器。延時線產生輸入時鐘的延遲輸出,時鐘分佈網絡把時鐘送到內部寄存器的時鐘端口,控制邏輯對輸入時鐘和反饋時鐘進行抽樣、比較,調整延時線。
2、示意圖
一般來說,DLL與PLL類似,但與PLL不同的是DLL不含壓控振盪器(VCO)。PLL會一直存儲相位和頻率信息,而DLL只存儲相位信息。因此,DLL略比PLL穩定(也可從PLL更側重於模擬器件,而DLL更側重於數字器件角度理解---數字電路比模擬電路穩定性好)。
Xilinx芯片主要集成的是DLL,而Altera芯片集成的是PLL。作爲比較,將兩者的實現方式展示如下:
3、DLL特點:
1、時鐘輸出真實、及時地反映輸入時鐘,跟蹤輸入時鐘迅速;
2、能鎖定的輸入時鐘頻率範圍較寬,但是由於延時電路的總延時有限,因此不能鎖定時鐘頻率過低的輸入時鐘;
3、不能過濾時鐘源的抖動,會引入固有抖動,造成抖動的累計;
4、用數字電路實現,對電源噪聲不敏感。
4、DLL與PLL的比較
1、DLL與PLL功能上都可以實現倍頻、分頻、佔空比調整,但是PLL調節範圍更大,比如說:XILINX使用DLL,只能夠2、4倍頻;ALTERA的PLL可以實現的倍頻範圍就更大。(畢竟一個是模擬的、一個是數字的。)
2、PLL用的晶振存在不穩定性,而且會累加相位錯誤,但PLL在時鐘的綜合方面做得更好些。而DLL抗噪聲的能力強些,因而在延時補償和時鐘調整時常用DLL;
三、DCM
DCM(digital clock manage,數字時鐘管理),是Xilinx高端芯片DLL的增強模塊。用於時鐘綜合、消除時鐘偏斜和進行時鐘相位調整等,利用DCM完成時鐘倍頻、分頻、相移十分方便
模塊組成:
1、DLL模塊:DCM最底層仍採用成熟的DLL模塊---即DCM爲DLL的增強模塊;
2、數字頻率合成器(DFS,Digital Frequency Synthesizer)
3、數字移相器(DPS,Digital Phase Shifter)
4、數字頻譜擴展器(DSS,Digital Spread Spectrum)
四、區別
1、比起DLL和DCM,PLL的相移範圍更寬(DCM只支持90、180、270相位,但PLL這方便更靈活寬泛);
2、比起DLL和DCM,PLL的分頻倍頻範圍更廣(DCM只支持2~16的小數分頻,以及2倍頻,但是PLL這方面更靈活寬泛);
3、DLL和DCM使用數字延時模塊(可變延遲線)來調理時鐘,使輸入時鐘和反饋時鐘的上升沿一致;而PLL使用模擬延時模塊(壓控振盪器Vco)來調理時鐘;
4、DCM可以實現零時鐘偏移clock skew,消除時鐘分配延遲,並實現時鐘閉環控制;
5、DCM可以將時鐘映射到PCB來同步外部芯片,將芯片內外時鐘控制一體化。其關鍵參數爲輸入時鐘頻率範圍、輸出時鐘頻率範圍,輸入/輸出時鐘允許抖動範圍