1.什么是鎖相環
鎖相環是一種利用相位同步產生電壓,去調諧壓控振蕩器以產生目標頻率的負反饋控制系統。
鎖相環就是通過負反饋控制系統,讓壓控振蕩器的固有振蕩頻率fo 和輸入的參考信號fi 的相位保持在誤差允許范圍內,從而讓振蕩頻率fo達到和參考信號fi 同步相位頻率的目的。一般來說,參考信號fi 的信號特性更好,通過鎖相系統提高振蕩頻率fo的信號特性,同時還可以將參考信號fi 轉化為你想要的任意(最好整數倍)頻率信號。
2.工作原理
最基礎的鎖相環系統主要包含三個基本模塊:鑒相器(Phase Detector:PD)、環路濾波器(L00P Filter:LF)其實也就是低通濾波器,和壓控振蕩器(Voltage Controlled Oscillator:VCO)。有了這三個模塊的話,最基本的鎖相環就可以運行了。但我們實際使用過程中,鎖相環系統還會加一些分頻器、倍頻器、混頻器等模塊。(這一點可以類比STM32的最小系統和我們實際使用STM32的開發板)
圖1 鎖相環基本模塊
圖2 輸入信號和輸出信號存在相位差
從鎖相系統開始運行的那一刻進行分析,這個時候鑒相器有兩個輸入信號,一個是輸入的參考信號Vin,另一個是壓控振蕩器的固有振蕩信號Vout。這個時候由于兩個信號的頻率不相同,會因為頻差而產生相位差,如果不對壓控振蕩器進行任何操作,那么相位差會不斷累積,從而跨越2Π角度,從零重新開始測相位,如圖3所示。這便是測量死區,明明相位在不斷變大,但鑒相器只能測出0~2Π的范圍,測出的相位差最大便是2Π,這樣就導致了鑒相器的輸出電壓只能在一定的范圍內波動。理想狀態是讓這兩個信號的相位差一直保持在2Π的范圍內,不進入測量死區。那么在系統剛開始的時候,鑒相器測出兩個信號的相位差,將相位差時間信號轉化為誤差電壓信號輸出(具體轉化過程見鑒相器講解)。通過環路濾波器轉化為壓控電壓加到壓控振蕩器上,使壓控振蕩器的輸出頻率Vout逐步同步于輸入信號Vin,直到兩個信號的頻率逐漸同步,相位差也在測量誤差范圍內,那么整個系統就穩定下來了。兩個信號的相位差不會累積變大,而是保持相對固定的相位差。(不是常規意義上的固定不變,而是在誤差允許范圍內的微小波動)。
圖3 相位規律變化
3.鑒相器(PD)
鑒相器的作用就是將相位差信號轉化為誤差電壓信號。那么它的傳遞關系理想上是圖4所示,最好有一定的線性關系。
圖4 鑒相器傳遞關系圖
那么鑒相器可以鑒別兩個信號的相位差,它是如何實現的?其實很簡單,異或門就可以實現,如圖5,6所示。鑒相器的輸入端是兩個信號,只要兩個信號異或不為零,就說明有相位差,異或出來的信號就是含有它們相位差信息的電壓信號。
圖5 異或門構成的鑒相器
圖6 鑒相器鑒相過程
實際使用的鑒相器不是簡單的異或門,有非時鐘PD、預充電PD等多種形式,
一款鎖相芯片AD9517,這款芯片是帶電荷泵的鑒相鑒頻器,如圖7所示。為什么使用的是鑒相鑒頻器呢?是因為PLL剛開始工作的時候,它的VCO的工作頻率可能和輸入頻率偏差很大,僅僅檢查相位偏差,捕獲范圍較小,PLL需要很長的時間才能進入鎖定狀態。所以為了提高PLL的響應速度,提高捕獲范圍,使用鑒相鑒頻器。
圖7 帶電荷泵的鑒相鑒頻器
兩個D觸發器的D端都是接電源端,當A信號相位超前于B信號,那么它的高電平先到來,則A的D觸發器輸出高電平,S1開關閉合,上面電荷泵開始灌電流。當B信號高電平到來,則B的D觸發器輸出高電平,而QA和QB一旦同時為高,則中間的與門就會輸出高電平,就會使兩個D觸發器復位,從而都輸出低電平,兩個門都處于斷開狀態。同理,當B信號相位超前于A信號,那么它的高電平先到來,則B的D觸發器輸出高電平,S2開關閉合,下面電荷泵開始拉電流。當A的信號高電平到來,則A的D觸發器輸出高電平,而QA和QB一旦同時為高,則中間的與門就會輸出高電平,就會使兩個D觸發器復位,從而都輸出低電平,兩個門都處于斷開狀態。(一般中間的與門和RESET端中間會加DELAY電路,這樣是為了避免實際使用中兩個信號都出現高電平,而由于電路的延時不確定性,導致到復位端的電平不確定而形成毛刺干擾的問題)
這樣就把相位差信號通過電荷泵充電時間長短,轉化電流的大小,這里簡單的推一下它的線性模型。如圖8所示。由相位差
圖8 線性模型
相位差為
則相位差對應的時間為
-----相位差除以2π圓,可以知道相位差的占比,然后乘T,可知對應的時間
那么在這段時間內輸出電壓增加(恒流充放電的常用公式:⊿Vc=I*⊿t/C,其出自公式:Vc=Q/C=I*t/C)
基于此我們可以計算出(Vc=Q/C)
那么輸出的電荷表示為
有了電荷,我們就可以計算輸出電流,我們可以看到這是一個相位差和輸出電流的關系式,鑒相鑒頻器就可以看作是一個相位差為輸入,電荷泵輸出電流為輸出的器件,我們就可以計算出該傳輸函數為
這個值我們也可以看作是鑒相鑒頻器的增益。那么鑒相鑒頻器就介紹到這里了,總的來說,鑒相鑒頻器就是將相位差數據轉化為了和它有線性關系的輸出電流。但壓控振蕩器是受電壓變化來改變輸出頻率的,所以還需要在鑒相鑒頻器和壓控振蕩器之間加一個環路濾波器,將電流信號轉化為電壓信號,同時還可以濾除鑒相鑒頻器中電荷泵的開關打開關閉所帶來的紋波噪聲以及毛刺,讓壓控電壓更加平滑。
4.環路濾波器(LF)
為了提升系統穩定性和減小輸出控制電壓的紋波,會在鑒相鑒頻器后加一個環路濾波器。一階的環路濾波器只是一個電容,見圖7的Cp,一階的易使整個系統不穩定,現在基本看不到了,這里詳細介紹二階環路濾波器。
圖9 二階環路濾波器
這里詳細推導一下它的傳遞關系式,電阻電容電感的阻抗計算為:
那么根據這個我們計算出它的傳遞函數
二階環路濾波器傳遞關系式推導:
令函數S=jw,則得到如下傳遞函數:
5.壓控振蕩器(VCO)
壓控振蕩器是一個受壓控電壓控制改變輸出頻率的器件,有一個參數為壓控靈敏度,就是壓控電壓和輸出頻率的轉換系數。
我們現在使用的都是現成做好的振蕩器,所以不用考慮起振條件這些。但想要自己搭一個振蕩器,還是要學好多東西,我只知道起振條件為輸出反饋到輸入的相位差為360°,且增益大于1(必要條件)。這兒就不班門弄斧了。
我詳細介紹一下VCO的傳遞函數,傳輸模型如圖12所示,輸入為壓控電壓,輸出為頻率,它們之間存在關系式wout=w0+KvcoVcont,
Kvco為壓控靈敏度,也可以看作是VCO的增益。
圖12 VCO傳輸模型
壓控振蕩器輸出的是頻率,鑒頻鑒相器輸入的是相位差,還需要將輸出頻率轉化為相位。對于一個交流信號,其相位變化的速度即為頻率,因此
所以VCO輸出信號的相位為?out=∫woutdt+?0=w0+Kvco∫Vcont+?0???。我們關注的參數是盈出相位?ex=Kvco∫Vcontdt這是受壓控 電壓控制的,是我們可以調整的相位。那這樣的話,VCO就可以看作是一個輸入為壓控電壓Vcont,輸出為盈出相位的系統,是一個理想的積分器,它的傳輸函數為
到這兒的話,鎖相環的三個基本元件都介紹完了,傳遞函數也都推導完了。那既然這三個傳遞函數都有了,那整個鎖相環的傳遞函數我們也就可以推導出來了。
6.鎖相環線性模型傳輸函數
鑒相鑒頻器的傳輸函數
環路濾波器的傳輸函數
壓控振蕩器的傳輸函數
AD9517芯片,在基礎的模型上還加入了分頻模塊,這樣的鎖相環的線性模型為圖13所示。
圖13 鎖相環模型
這樣的話,PLL的環路增益傳輸函數為
PLL系統的閉環傳輸函數為
學過自動控制的同學是不是看到這里就覺得比較親切了。既然是環路控制的話,少不了要分析PLL整個系統是否穩定,要計算伯德圖,要計算整個系統的相位裕度,要對系統的零點和極點分析,它直接影響了整個環路是否穩定。這就是為什么現在環路濾波器基本不用一階的,最起碼都是二階的,就是因為加入了一個極點和一個零點,增加了相位裕度,讓整個環路愈加穩定了。三階的話比二階再多一個極點和一個零點,更加有利于系統的穩定性,還可以適當的提高PLL的響應速度。繼續分析的話會更加復雜,篇幅更長,所以這里就不介紹了,總結介紹一種簡單的辦法,直接計算出電阻電容的值。
環路濾波器電阻電容值的計算,我推薦使用ADI公司的SimPLL、SimCLK這兩個軟件直接計算,會根據你的設計要求,直接計算出電阻電容的值,好的工具也可以使我們節省很多時間。
以上是PLL的簡單理解。
編輯:黃飛
?
評論
查看更多