在FPGA中,動態相位調整(DPA)主要是實現LVDS接口接收時對時鐘和數據通道的相位補償,以達到正確接收的目的。ALTERA的高端FPGA,如STRATIX(r) 系列中自帶有DPA電路,但低端的FPGA,如CYCLONE(r)系列中是沒有的。下面介紹如何在低端FPGA中實現這個DPA的功能。
實現架構
在LVDS輸入接收時,時鐘和數據的相位可能是不確定的,因此我們需要將時鐘的相位作出調整,使得時鐘能穩定的采集到輸入數據。工作的核心就是用鎖相環PLL的相位調整功能,產生若干個時鐘的不同相位,看哪些相位能準確的采集到輸入數據,然后取窗口中間的一個時鐘相位,作為正常工作時的采樣時鐘。比如通過PLL產生0,45,90,135,……,315度8個相移的時鐘,如果0,45,90度相移的時鐘能正確采樣到輸入,那么最后選取中間相位,即45度的時鐘作為采樣時鐘。這樣接口上具有最大的時序裕量,從而保證鏈路的可靠性。下圖為這個設計的基本結構,通過PLL調整相位的接口,產生了時鐘的不同相位來采集數據,最后選擇一個最合適的相位。
CYCLONE系列的PLL的相位調整接口時序如下圖所示:
當用戶邏輯控制phasestep, phasecounterselect與phaseupdown信號時,PLL的輸出時鐘C0就改變一次相位。在QII生成PLL時,用戶必須選上create optional inputs for dynamic phase reconfigure,否則缺省是不會有這些管腳的,如下圖所示。另外必須在output clock tab中寫入phase shift step resolution的值,這樣才能確定每次相位調整的步長。
-
FPGA
+關注
關注
1630文章
21798瀏覽量
606038
原文標題:低成本FPGA中實現動態相位調整
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
使用TPS54308設計簡單且低成本的Flybuck解決方案
![使用TPS54308設計簡單且<b class='flag-5'>低成本</b>的Flybuck解決<b class='flag-5'>方案</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MS3010:單通道低壓DC電機驅動與低成本的完美結合
相位超前校正裝置適用于什么場合
涂鴉HEDV本地化部署方案,助你低成本實現定制化開發!
![涂鴉HEDV本地化部署<b class='flag-5'>方案</b>,助你<b class='flag-5'>低成本</b><b class='flag-5'>實現</b>定制化開發!](https://file.elecfans.com/web2/M00/40/04/pYYBAGJrTDSAYdI1AAASTiyZjeQ622.jpg)
評論