01 什么是DLL的諧波鎖定問題?
舉個簡單的例子,假如一個250MHz的DLL,其正常鎖定后的整個延時鏈(VCDL)的總延時為一個周期T,即4ns。但在某些特別情況下,VCDL可能延時2T,即8ns,這就發生了諧波鎖定。這時候Loop雖然鎖定在一個穩定狀態下,然而卻是一種錯誤情況。
在DLL必須提供十分準確的延時間隔(T/N)的應用中,應該極力避免諧波鎖定情況,因為相鄰時鐘間隔可能被定在2T/N,而不是T/N(N為延時單元個數)。
02 發生諧波鎖定的原理是什么?
圖1 DLL典型結構
DLL典型結構如上圖1所示。圖1中有4級延時單元,CKin=250M,一個周期Tin=4ns,鎖定后相鄰時鐘間隔為Tin/4。CK1~CK4如下圖所示,相鄰延時為1ns,即T/4=4ns/4=1ns。
圖2 CK1~CK4的時鐘延時
看圖1,注意到鑒相器只比較Ckin和CK4,當CKin和CK4達到同相位時,Loop進入鎖定狀態?!つ敲次覀冊O想一下這種情況:VCDL延時了8ns,而不是4ns,對于PD而言,CKin和CK4仍然達到了同相,此時Loop也會保持在這個狀態。這時候如果我們觀察Vcont電壓的波形,會發現其進入了“穩定”狀態,和正確的鎖定狀態看到的現象非常相似,然而這只是一種假象。此時,如果我們去測量CK1和CK2的延時,會發現delay=2ns,但別忘了我們的要求是delay=1ns!
我們繼續思考一下,DLL是一種負反饋環路,既然VCDL可以延時2T,那難道是負反饋功能出錯了嗎?并不是,即使負反饋作用始終正確,但Vcont點的初始電位在不同的條件,如工藝角變化、溫度變化、電壓變化時其Vcont值可能不同。這就有可能一開始,VCDL的延時超出了T,但因為PD只對Ckin和CK4進行鑒相,Loop認為調節相位差不足,繼續加大相位差,最終使VCDL延時2T,Loop進入假鎖定狀態。
根據上述內容,總結一下就是兩點原因導致了諧波鎖定:
(1)Vcont初始值不確定
(2)PD只對參考時鐘和最后一項時鐘進行鑒相
03 如何避免諧波鎖定?
為了避免DLL的諧波鎖定問題,需要增加額外的附加電路。如前所述,出現該情況的主要原因是Vcont的初值的不確定性導致的,所以筆者目前見到的最多的措施,是采用復位電路對Vcont進行賦初值,使其初值為VDD或者GND,初值下延時單元的delay達到最小。然后釋放復位,Loop在負反饋作用下進入調節過程直至最終的鎖定。
賦初值操作之所以能避免諧波鎖定,是因為這種操作消除了Vcont的不確定性,使得DLL的建立過程中相位誤差單向變化。從一開始,延時單元Tdu的延時是從最小開始慢慢增加,直到VCD延時一個T后Loop鎖定。
復位開關可加在如下圖3所示的位置。左側部分表示電荷泵CP。復位開關可使用PMOS,當RSTN=0V時,Vcont被PMOS上拉到了VDD。需注意,實際應用時可以不需要Rp,因為環路在原點只有一個極點,不存在穩定性問題。
圖3 對Vcont增加復位上拉開關
-
dll
+關注
關注
0文章
116瀏覽量
46200 -
諧波
+關注
關注
7文章
873瀏覽量
42792 -
時鐘
+關注
關注
11文章
1901瀏覽量
133244 -
鑒相器
+關注
關注
1文章
62瀏覽量
23600 -
PMOS
+關注
關注
4文章
269瀏覽量
30571
發布評論請先 登錄
HMC830鎖定50/80MHz時諧波幅度很大是否正常?
偽碼測距延遲鎖定環路(DLL)性能分析
usp10.dll下載 (usp10.dll文件)

如何編寫dll文件
imm32.dll是什么
comres.dll是什么,comres.dll怎么修復
dinput8.dll是什么
mfc71.dll是什么

如何進行諧波發生器的設計

鎖定同步正弦發生器覆蓋三十倍頻程

DLL簡介

評論