新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 可實現快速鎖定的FPGA片內延時鎖相環設計

        可實現快速鎖定的FPGA片內延時鎖相環設計

        作者: 時間:2010-05-25 來源:網絡 收藏

        1.2 DLL工作原理
        DLL的工作過程依賴于控制邏輯的設計。DLL的控制邏輯主要包括SHIFT控制邏輯和SYN控制邏輯兩部分,如圖2所示。DLL的工作過程首先進行SHIFT階段,之后進行SYN階段。

        本文引用地址:http://www.104case.com/article/191707.htm


        從圖2可見,可調鏈共5條,即一條主可調鏈(鏈0,256個延時單元),4條子可調延時鏈(延時鏈1~4,各128個延時單元)。如圖2所示,4條子延時鏈,SHIFT邏輯和一個鑒相器(PD2)構成相移器。SHIFT階段,相移器工作。相移器采集第一級子延時鏈的輸入時鐘clk_ph_0和最后一級延時鏈的輸出時鐘clk_ph_360,根據鑒相結果同步調整4條子可調延時鏈的延時,直至clk_ph_O和clk_ph_360同步。經過相移器的時鐘延時是一個周期,從而使得時鐘經過相移器中的每個子延時鏈的輸出時鐘相移90°,對應圖2中分別為clk_ph_O,clk_ph_90,clk_ph_180,clk_ph_270,clk_ph_360。這些相移的時鐘可以根據實際的需要由時鐘生成模塊產生所需要分頻(CLKDV),倍頻(CIK2X)或移相時鐘作為輸出時鐘,關于分頻和倍頻電路,如文獻。SYN邏輯用于控制將反饋時鐘和輸入時鐘調整至同步。
        整個SHIFT階段和SYN階段都是在各自的控制邏輯模塊控制下工作的,以一定的工作節拍實施調整,如圖3所示。


        圖2中工作節拍模塊生成工作節拍信號(SHIFT_C,SYN_C)。在工作節拍下,狀態機處于某一狀態,則根據狀態的調整要求依次進行如下操作:鑒相,判斷出輸入時鐘和反饋時鐘的相位關系為超前或滯后(SHT_U_D)或SYN_U_D),同時還可以指示兩時鐘是否進入鎖定窗(SHT_WIN,SYN_WIN),如圖l所示。鑒相器將這些信息送入控制邏輯模塊,在SHIFT階段,4條延時鏈對應各自的可逆計數器,負責控制延時鏈加減延時單元,各計數器工作在自己的時鐘域中,如圖2所示。根據鑒相的結果和所處的狀態機狀態,計數器進行計數,計數結果作為延時鏈的譯碼地址,最后延時鏈經過地址譯碼增加/減少一個延時單元,完成一次工作節拍調節,繼而繼續進行下一次調整,直到狀態機進入鎖定狀態為止。SYN階段工作方式類似,但只對主延時鏈進行調整。實現DLL鎖定,同步建立需滿足公式,如式(1)所示。
        DSYN+SKEW=mult(P) (1)
        式中,DSYN為主延時鏈可以提供的延時;SKEW為時鐘偏斜;muh(P)為整數個輸入時鐘周期。
        1.3 抗抖動設計
        如圖2所示,控制邏輯中JF counter1和JF counter2功能模塊。用戶可以設置抗抖動數值d1,d2,如圖1所示,從而對這兩個模塊中的計數器設定一個計數周期。在DLL鎖定之后這兩個模塊開始工作,按照計數設定值的周期性對鎖定后的時鐘進行檢測。即在計數器達到設定值時,對鎖定后的反饋時鐘和輸入時鐘進行鑒相,判斷相位關系,控制可逆計數器對鎖定后的時鐘進行周期性微調干預。如圖4所示,在系統內存在干擾時,會產生時鐘抖動,若抗抖動模塊工作檢測到反饋時鐘超前于輸入時鐘,則進行一次微調,消除抖動的影響。抗抖動設計有助于減少抖動的影響。同時由于計數周期可設,使得用戶可以在不同系統工作環境下,采用不同的抗抖動設定值,以達到最優的防抖效果。

        2 OSDLL架構設計
        以上介紹的是傳統DLL架構下的設計,其具有設計周期相對較短、工藝可移植、抗干擾能力強等特點。由于其控制邏輯的工作特點,從復位狀態開始,延時鏈復位至O,即可逆計數器從0開始計數。DLL按照工作節拍信號,一拍一拍地進行調整(假設6周期一節拍),當輸入時鐘頻率較低或者時鐘相差較大時,其鎖定時間將大大增加。取任何固定值作為延時鏈的復位值,同樣存在某一頻率段鎖定時間較長的問題。

        fpga相關文章:fpga是什么


        鑒相器相關文章:鑒相器原理
        鎖相環相關文章:鎖相環原理


        關鍵詞: FPGA 延時 鎖相環

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平陆县| 图木舒克市| 乌鲁木齐县| 星座| 许昌县| 镶黄旗| 云浮市| 宁晋县| 万荣县| 广饶县| 青田县| 郓城县| 池州市| 辽源市| 乐东| 延安市| 霞浦县| 比如县| 新化县| 屯留县| 临澧县| 公主岭市| 嘉义市| 舒兰市| 浦北县| 乌拉特后旗| 那曲县| 拜城县| 海阳市| 吉首市| 金阳县| 庆阳市| 通榆县| 达拉特旗| 平顶山市| 湘乡市| 菏泽市| 拜泉县| 长春市| 喜德县| 佛山市|