FPGA內部動態可重置PLL講解(一)


  SDRAM驅動需要兩個時鍾,一個是控制時鍾,一個是驅動時鍾,這兩個時鍾有一個相位差,如何產生高精度的時鍾是SDRAM能夠正常工作的關鍵,采用FPGA內部動態可重置PLL生成SDRAM所需要的時鍾頻率。

  1.PLL

image  上圖是PLL的 官方文檔中的內容。PLL主要由前N分頻計數器(pre-divider counter),相位頻率檢測(PFD) ,電荷泵和環路濾波器,VCO(壓控振盪器),反饋乘法器計數器(M計數器)和一個后分頻計數器。

  PFD檢測參考時鍾信號(fREF)和補償時鍾信號(feedback)在相位和頻率的差,然后控制電荷泵和環路濾波器,並且將相位差轉換成一個控制電壓信號,進而控制VCO。當PFD產生上升信號,VCO就增加,反之VCO下降。

  上圖中電荷泵是接收PFD輸出的上升信號和下降信號給CP,CP收到上升信號,電流注入LF增大,反之減小。

  LF主要是將上升和下降信號轉換為電壓,作為VCO的偏置電壓。LF還消除了CP的干擾,防止電壓過沖,最小化減少VCO的抖動。LF電壓決定了VCO的操作速度。

image

  上圖是輸出頻率的計算公式,M和N在quartus II中類似於倍頻和分頻概念。PLL的精度由M和N的位數決定。

  精簡結構如下圖所示:

image

 

2.quartus II 配置PLL操作

image

  在PLL官方手冊中可以找到如上圖手冊,對於其他cyclone XX系列芯片,操作都是類似的。

image

  上圖中解釋了對於cyclone xx系列最高可以跑到多大時鍾頻率。

image

  上面公式定義了 fout時鍾和VCO時鍾,且VCO時鍾必須在300~1000Mhz之間。手冊有如下解釋。

image image

image

image

上圖是PLL中所需要的信號接口,有些信號可以進行選擇性的使用。

  inclk為時鍾輸入引腳,pllena信號在高電平時可以使能和復位PLL。當pllena為低電平時,PLL不工作,高電平PLL開始鎖相。

  areset引腳要特別注意,此引腳我們經常用,此引腳是高電平復位,低電平時PLL不工作。

 

 

 

3.PLL時鍾補償模式

  PLL支持四種補償模式,正常模式(normal mode),零延時緩沖模式(zero delay buffer mode),非補償模式(no compensation mode),源同步模式(source synchronous mode)。上述的幾種模式都支持倍頻和分頻,相移以及占空比的可調。

  (1)正常模式(normal mode)

image

  在正常模式下,PLL將輸入時鍾與參考時鍾進行鎖存對齊,輸出時鍾或者提前或者延后與PLL的輸入時鍾。

  (2)零延時緩沖模式(zero delay buffer mode)

image  再此模式下,PLL的輸入時鍾的相位和PLL的輸出時鍾相位對齊,但是內部時鍾會延時或提前於外部輸出時鍾。在此模式下,altera推薦輸入引腳和輸出引腳必須是相同的I/O標准。

image  

(3)非補償模式(no compensation mode)

image

  在此模式下,PLL不會對任何的相位進行補償。輸出時鍾相位超前或遲滯內部時鍾。

  (4)源同步模式(source synchronous mode)

 

 

 

 

image

  這種情況適用於輸入數據和時鍾同時到達的情況。

4.多個頻率輸出情況

image 上述三個輸出時鍾都可以驅動全局時鍾網絡。c2可以驅動一個專用外部I/O引腳(PLL<#>_OUT) 。那么對於多個利用PLL輸出的頻率,VCO在處理時會倍頻。然后在輸出時再降頻,如從PLL輸出需要33MHz和66MHz,那么VCO會被設定到330MHz(這個設定需要在VCO范圍內,即300Mhz~1000Mhz)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM