低成本FPGA中實現動態相位調整



在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事業部,轉載請注明出處

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA極客空間 微信公眾號


 

 

掃描二維碼關注杭州卿萃科技FPGA極客空間


 


免責聲明!

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



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