<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于FPGA可編程振蕩器增強

          基于FPGA可編程振蕩器增強

          作者: 時間:2018-09-14 來源:網絡 收藏

          當今復雜的 含有眾多用于實現各種電路與系統的功能塊,諸如邏輯陣列、存儲器、DSP 模塊、處理器、用于時序生成的鎖相環(huán) (PLL) 和延遲鎖定環(huán) (DLL)、標準 I/O、高速數字收發(fā)器以及并行接口(PCI、DDR 等)。這些不同的功能塊通常由多個時鐘驅動, 一般會綜合采用外部振蕩器以及內部 PLL 與 DLL來生成時鐘。系統設計人員必須決定如何綜合使用外部與內部資源來實現最佳的時鐘樹設計。而可編程時鐘振蕩器用作 系統的時序參考,可提供一系列優(yōu)勢。其中首要優(yōu)勢是為了實現時鐘樹優(yōu)化而進行高分辨率頻率選擇時所帶來的設計靈活性。另一個巨大優(yōu)勢是具有可以減少電磁干擾 (EMI) 的擴頻調制功能。

          本文引用地址:http://www.ex-cimer.com/article/201809/389160.htm

          內在可編程的硅 MEMS 時鐘振蕩器架構能夠幫助采用 FPGA 的系統設計人員解決許多難題。這種微型機電系統架構能夠輕松整合一些其它功能,如:用于消減 EMI 的擴頻時鐘、用于消除抖動的數控振蕩器以及高速應用中的失效保護功能。

          頻率選擇

          一般系統需要一系列時鐘頻率。其中一些是標準頻率,這種標準化可能是出于對行業(yè)規(guī)范強制要求的考慮(如:PCI Express? 要求的 100MHz 頻率),也可能是由于得到了廣泛的應用(如:用于 SATA 的 75 MHz 或用于 PCITM 的33.333 MHz)。上述頻率與 I/O 接口關聯在一起,以確保實現互操作性,因為接口兩側可能不屬于同一系統。與此相對,用戶可選擇用于驅動處理器、DSP和狀態(tài)機引擎的時鐘頻率,以優(yōu)化速度、功率或資源占用。

          在進行速度優(yōu)化時, 應以最高時鐘頻率來驅動處理引擎,以使每秒運算次數達到最高。但是,時鐘周期抖動必須足夠低,以確保最小時鐘周期大于設計的臨界時序路徑,否則有可能出現邏輯錯誤。頻率選擇的常用方法是采用內部 FPGA PLL 對來自標準外部參考振蕩器的高頻時鐘進行綜合。此方法只有在內部 PLL 具有高頻分辨率和低抖動時才有效。

          某些 FPGA 集成了內部低噪聲分數PLL,可滿足所有這些要求。在這種情況下,可以采用簡單的外部振蕩器參考。不過,許多情況下 FPGA 會采用帶有環(huán)形 VCO 和整數反饋分頻器的 PLL 來綜合不同頻率。這種 PLL 小巧靈活,比較容易設計和,而且功耗極低。不過,使用此類內部 PLL 時很難同時實現高分辨率與低抖動。

          圖 1 為整數 PLL 的一般架構。對PLL 輸出頻率的編程需綜合采用預分頻器 (P)、反饋分頻器 (M) 和后分頻器 (N)來完成,如下式所示:

          PLL 反饋環(huán)路形成一個限帶系統。輸出周期抖動主要取決于參考時鐘相位噪聲 (PNin ) 和內部 VCO 相位噪聲(PNVCO),如下式所示:

          輸入參考時鐘相位噪聲和 VCO 相位噪聲與輸出相位噪聲息息相關,分別通過低通濾波器和高通濾波器響應來體現,如

          表達式中的 Hin 和 HVCO。HVCO 與 Hin 的截止頻率直接相關。圖 2 說明了典型二階 PLL 中 Hin 與 HVCO 的相互關系。最高 PLL 帶寬取決于相位檢測器的更新速率。大部分實際 PLL 的最高實際帶寬極限如下式所示:

          例如,如果 PLL 輸入頻率是 40MHz并且 P=40,則最高實際 PLL 帶寬是100kHz。

          周期抖動通過正弦濾波器響應與相位噪聲關聯在一起,如圖 4 所示。[1] 可以看出,周期抖動在靠近 fout /2 的頻率偏移位置對整體 PLL 輸出相位噪聲更敏感。由于 PLL 帶寬遠低于 fout /2,因此參考時鐘一般對周期抖動產生的影響較小,而內部 VCO 相位噪聲影響更大。

          更高的 PLL 帶寬可以減少內部 VCO 對輸出周期抖動的影響,而且能夠降低整體周期抖動。大多數情況下,可以通過設定更高的帶寬來降低內部 VCO 噪聲和改善抖動。另一方面,要實現高頻率分辨率需要更大的分頻器 P 值,這會限制最高 PLL 帶寬。這種矛盾要求必須在高分辨率和低抖動之間做出權衡。而采用外部高分辨率振蕩器可以緩解這一問題,原因是高分辨率可以通過外部參考來實現。

          高性能可編程振蕩器(如 SiTIme提供的振蕩器)可以作為外部高分辨率振蕩器來使用。在采用此類振蕩器時,內部 PLL 只需支持非常有限的頻率綜合功能,從而可以提高帶寬并降低抖動。

          可編程外部參考振蕩器的另一個優(yōu)勢是允許選擇更高的頻率作為參考。這樣就能夠實現帶寬更高的內部 PLL,進而降低抖動。例如,為了滿足時序要求,某個應用可能需要采用 RMS 周期抖動為 10 皮秒的 56MHz 時鐘。

          圖 5 說明了獲取 56MHz 時鐘的兩種方法。第一種方法采用標準的 25MHz參考, 而第二種方法采用非標準的28MHz 參考。第一種方法需要較高的預分頻比,以達到所要求的分辨率,但是會導致更高的輸出抖動。第二種方法可以最小化 P 值而且能實現更高的 PLL 帶寬,從而可以降低輸出周期抖動。

          大多數可編程振蕩器采用一個諧振器單元和一個或多個 PLL 來對不同頻率進行綜合。傳統上,石英晶體通常被選定作為穩(wěn)定諧振器。不過,其封裝難題卻限制了此類可編程振蕩器的可用性。近期,硅 MEMS 振蕩器大量上市,能夠在穩(wěn)定諧振器與高性能 PLL 方面提供高性價比的完美組合,并且適用于眾多行業(yè)的標準小型封裝。這種振蕩器為優(yōu)化 FPGA 系統中的時鐘樹提供了出色的FPGA 時鐘解決方案。此類時鐘還可以滿足高速收發(fā)器更加苛刻的抖動規(guī)格要求。[2]

          EMI 消減

          只要在可編程振蕩器中將穩(wěn)定諧振器與高性能合成器配合使用,就能夠輕松獲得許多其它有用的時鐘功能。其中之一就是用于消減 EMI 的擴頻時鐘(SSC)。

          SSC 振蕩器是一種頻率經過調制的時鐘,可以確保時鐘信號能夠在更大的頻率范圍內傳播,從而可以減少給定頻率范圍內的整體峰值電磁輻射。SSC的作用在基于 FPGA 的系統中更加明顯,因為它可以減少共享同一時鐘源的所有電路與 I/O 的 EMI。相比而言,跟蹤濾波與升高/降低法只能降低系統特定部分的 EMI。圖 6 說明了 SSC 如何降低峰值 EMI 輻射。

          SSC 中的重要參數是調制范圍與調制方法(中心擴頻或向下擴頻)。諸如 SiTIme 的 SiT9001等可編程振蕩器可提供寬廣的 SSC 調制范圍——向下擴頻和中心擴頻方式下都可以達到0.5%~2%。這種菜單選擇方式使設計人員能夠在優(yōu)化 SSC 實現最佳系統性能的同時將 EMI 最小化。[3]

          可編程振蕩器中分數 N PLL 所帶來的有用功能的另一個例子是數控振蕩器(DCO)。DCO 功能強大,結合 FPGA,可實現低帶寬、全數字 PLL,從而能夠為高端電信與網絡系統提供失效保護、故障切換或抖動消除等功能。

          硅 MEMS 的優(yōu)勢

          全新的硅 MEMS 振蕩器在過去幾年里顯著擴大了商用可編程振蕩器的產品組合。這些振蕩器使用戶能夠定制參考頻率, 選擇外部參考與FPGA 內部 PLL 參數的最佳組合,從而實現最佳的時鐘樹設計。此外,設計人員還可以輕松選擇電源電壓、封裝、溫度范圍、頻率穩(wěn)定度和驅動強度以滿足應用需求。這些振蕩器的可編程特性還能夠縮短研發(fā)周期,實現快速原型設計以及加快生產進度。

          SiTIme 的單端和差分硅 MEMS 振蕩器已經應用到賽靈思的部分演示板中(見表 1)。目前已經可以針對不同頻率、電壓和封裝需求訂購此類部件,以實現最佳的系統性能。



          關鍵詞: FPGA 控制

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();