?PCI Express (PCIe)是嵌入式和其它系統類型的背板間通信的一個非常理想的協議。然而,在嵌入式環境中,背板連接器引腳通常很昂貴。因此,采用點對點連接的星型結構的PCIe時鐘分配方案就變得并不理想。本文將討論如何使用一個多點信號來分配PCIe時鐘,而且仍滿足PCIe第二代規范嚴格的抖動要求。
PCIe計時
??? PCIe基本規范1.1和2.0為信令速率2.5Gbps和5.0Gbps的時鐘分配定義了三個不同模型,見圖1、圖2和圖3。
共用時鐘架構作為最常使用的方法有很多理由。首先,大多數支持PCIe接口的商用芯片只適用于這種架構。其次,這種架構是唯一可以直接支持展頻計時(Spread Spectrum clocking,簡稱SSC)的架構。SSC在減少電磁干擾峰化方面起著非常重要的作用,因此可以簡化符合系統電磁輻射限制的工作(見圖4)。最后,這種架構最容易形成概念和設計。
??? 共用時鐘架構最大的缺點在于需要為系統中每個PCIe端點分配基準時鐘。頻率為 100MHz或125MHz的時鐘以及PCIe規范嚴格的抖動要求使得這一架構變得尤其復雜。對2.5Gbps工作的限制為86ps——106采樣的一系列樣本的峰-峰相位抖動。而5.0Gbps工作的限制為3.1ps(均方根抖動值)。然而,要在5.0Gbps工作,收發器首先要在2.5Gbps協商,如果兩端都可以,再提高到5.0Gbps。這就是說如果系統支持任何5.0Gbps鏈接,則基準時鐘就必須同時滿足兩者的抖動指標。
??? 獨立的數據時鐘架構不會受到上述限制,但卻大幅增加了時鐘系統設計的復雜性,且在不使用單邊帶信令時不支持SSC。
??? 基準時鐘抖動的管理規范是PCIe基本規范1.1和2.0,而檢驗抖動達標的方法詳細列在PCIe抖動建模修訂版1.0D和PCIe抖動和BER修訂版1.0中。機電規范提供了機械尺寸信息、電信號定義和功能。其中一些,如卡機電(Card Electromechanical,簡稱CEM)1.1和CEM2.0規范也為基準時鐘、Tx鎖相環(Phase-Locked Loop,簡稱PLL)、Rx PLL和介質提供了抖動預算。嚴格來講,CEM規范只申請了PC和服務器ATX,以及基于ATX的尺寸。其它已出版的機電規范覆蓋了其它尺寸,如用于移動計算平臺的Mini Card Electromechanical Specification 1.2。
??? 對于大多數嵌入式系統,上述這些規范可以全部或部分用來規定嵌入式系統PCIe時鐘分配方案提供指南。例如,許多CEM文件規定了對基準時鐘分配Host ClockSignal Level(HCSL)協議的使用。然而,許多嵌入式系統希望使用低電壓正射極耦合邏輯(Low Voltage Positive Emitter Coupled Logic,簡稱LVPECL)或多點低電壓差分信號(Multipoint-Low-Voltage Differential Signaling,簡稱M-LVDS)信令,以實現時鐘分配網絡更遠的距離和/或噪聲容限。
??? 許多嵌入式系統需要在其背板之間分配包括時鐘在內的大量高速信號。為了解決這些背板上經常出現的繁重電氣負載問題,這些信號需要有非常強大的驅動器和高邊緣速率。這帶來了干擾和其它信號完整性的危險,尤其是在背板比最差設計點的負載更低時。另一個設計上的挑戰在于PCIe詳細規定了100MHz或125MHz的基準時鐘,這是一個很難在高負載長背板上順利分配的頻率。
??? 除了PCIe規范嚴格的抖動限制和需要更長的信號距離,嵌入式系統通常還受到可能通過背板連接器和背板本身的信號量的限制。當定制系統時,確定連接器引腳排列是最關鍵的任務之一。
建議的共用時鐘分配方案
??? 由于時鐘頻率和抖動限制,最常見的共用時鐘架構設計利用點對點差分信號對來分配基準時鐘,其中一個差分信號對將抵達系統的每個PCIe端點。如果一張卡上有多個PCIe端點,就可以從背板獲得一個基準時鐘輸入,并利用零延遲緩沖器(Zero Delay Buffers,簡稱ZDB)提供卡上時鐘分配網絡。然而,即使這樣,由于PCIe 5.0Gbps運行的抖動限制,設計起來也是非常困難的。
??? 假設我們能設計出這樣的卡上分配方案,我們仍需要提供從PCIe主到系統上每張卡的點對點連接。在嵌入式系統中,這需要在主卡插槽上增加大量連接器引腳,并在背板上增加大量有特殊布線要求的線跡。這還要給主卡插槽插入與其它插槽截然不同的引腳排列。
??? 一個消除這些限制的解決辦法是降除主卡上的PCIe基準時鐘,并利用一個M-LVDS多點信號在背板之間進行分配,然后將其提高到目標卡所需的頻率。盡管理論上非常簡單,但實現PCIe抖動限制卻很棘手(見圖5,注意綠色信號線不起作用)。
??? 這一解決方案可提供一個M-LVDS對,用來驅動或接收符合PCIe的基準時鐘。如圖5所示,在許多嵌入式系統中,根據應用的”與/或”插槽進行分配,每張卡都可作為主操作或端點操作。顯然,如圖所示,只用于其中一種模式操作的卡將被簡化。系統中的一張卡將作為主,利用其板上晶振生成滿足PCIe限制的基準時鐘。這個時鐘將利用內部時鐘分配網絡驅動所有板上PCIe器件。該時鐘也將到達非PLL除法器電路,將100MHz或125MHz向下降除為25MHz的背板頻率,然后將除降了的基準時鐘驅動到系統的其余卡上。
??? 系統中其它所有的卡將禁用板上時鐘發生器,形成基準時鐘線跡的三態驅動器,并接收來自背板的基準時鐘。隨后,這將通過基于PLL的ZDB提高到板上所需和分配的基準時鐘頻率,并將劃分了的基準時鐘驅動到系統的其它卡上。系統其它所有的卡將失去對板上時鐘發電器的使用,形成基準時鐘線跡三態驅動器,并接收來自背板的基準時鐘。這將通過基于PLL的ZDB提高到板上和分配所需的基準時鐘頻率。接收和提高來自背板的基準時鐘的電路通常在主卡上,如果需要,可以用來生成所需的另一個基準時鐘頻率。為了實現PCIe所需的低抖動,IDT FemtoClock PLL技術可用于時鐘合成器和ZDB。
??? 像這種設計的最主要難點之一在于,PLL雖然可以過濾掉頻率高于PLL本身環路帶寬的噪聲信號,但在低于PLL環路帶寬的低頻部分,卻增加了很多在調制頻率附近的附加抖動。另外,由于PLL無法完全跟蹤基準時鐘輸入的相位和頻率變化,從而引起跟蹤偏移。像這種包含兩個以上用于頻率生成和轉換的級聯型PLL的背板PCIe方案必須謹慎對待,以盡量降低相位抖動和PLL跟蹤偏移。
PCIe抖動的測量
??? 在深入分析這個解決方案的性能之前,需要先討論PCIe抖動性能的分析過程。 PCIe抖動工作組關注的一個首要問題是確定一個恰當的基準時鐘。為了這個目的,需要考慮基準時鐘的Tx和Rx PLL及相位插值器的過濾效果。同時,為了避免對基準時鐘規格不足,這些PLL的峰值效應也需要考慮。這一過程分為四個主要步驟:
?? 1. 確定每個周期累積的相位誤差。串行數據傳輸不像并行數據傳輸那樣關心時鐘的Cycle-to-Cycle抖動和Period抖動,串行數據傳輸更關心累積相位誤。因此,我們必須首先確定每個時鐘周期的累積相位誤差。
?? 2. 將離散傅立葉變換(Discrete Fourier Transform,簡稱DFT)用于累積相位誤差數據,從而將時域的分析轉變到頻域進行分析。
?? 3. 將系統轉移函數用于累積相位誤差數據的DFT。
?? 4. 執行逆DFT,使過濾后的累積相位誤差數據轉回到時域內,這便是最終結果。
??? 同時還要注意,通過設定系統轉移函數s=jω,可以在復雜的頻域實現PLL系統的過濾分析。該分析對連續系統很有用,但由于采用相位檢測器和反饋除法器等數字元件,大多數現代PLL方案不是純粹的模擬系統,因而z域數字分析會更精確。但是,PCI抖動工作組的初步研究表明,受s域分析影響的誤差最小,因此s域分析可用于建模。然而,當基頻低于PLL環路帶寬十倍時,s域近似值會顯著背離真值。所以系統設計師在選擇PLL時必須時刻謹記這一點。
抖動測量技巧
??? 測量方法不當很容易得到兩倍以上于正確方法的抖動測量值。這里有一些技巧:
????? 從被測器件到示波器都使用屏蔽同軸電纜,并在示波器的輸入端做好恰當的匹配。
?? 1. 如果使用高阻抗探頭,可使用低電容探頭和接地夾,而非電線。
?? 2. 確保你使用了與樣本量一致的最高采樣率。
?? 3. 使示波器屏幕上的縱坐標最大,以便精確地測量電壓。
?? 4. 使顯示器、開關式電源和手機遠離被測器件。可行時使用線性電源。
?? 5. 當執行差分測量時,確保兩條電纜已經相互糾偏。
IDT解決方案分析
??? IDT的工程師通過菊鏈三個特性描述板以代表子卡:ICS841S32I板,然后是ICS8743008I板,最后一個也是ICS8743008I板,創建了解決方案的原型,見圖5。在第二個ICS8743008I輸出時進行測量。卸載來自示波器的時鐘周期數據,然后由抖動分析腳本進行后處理。該腳本可進行必要的頻域和時域分析。
??? 2.5Gbps分析方法的結果為18.91ps。這一結果符合4.5倍的裕量的 86ps的PCIe峰-峰相位抖動指標。對于5.0Gbps操作,PCIe規定了rms相位抖動,而非峰-峰相位抖動。這些結果也超出了規范: 0.52ps rms低頻帶和1.47ps高頻帶與3.1ps規范限制之比。
??? 對于5.0Gbps工作,PCIe為頻域分析規定了兩個轉移函數和兩個頻率范圍。第一個轉移函數的極頻率為5MHz和16MHz,第二個轉移函數的極頻率為8MHz和16MHz。抖動分析所得的兩個頻段為10KHz-1.5MHz(低頻帶),1.5MHz-Nyquist(高頻帶)。Nyquist表示你的分析達到了基準時鐘頻率的一半。例如,在100MHz時,頻域分析將達到 50MHz。分析腳本會顯示每個頻率分析頻帶間兩個轉移函數間的最差情況。
結束語
??? PCIe標準最初用于定義PC系統,但由于其低引腳數和可擴展的高性能,很快成為幾乎所有應用領域選擇的I/O接口。高速的基準時鐘給希望利用PCIe元件的嵌入式系統工程師們提出了嚴峻的挑戰。他們需要分配、選擇兩個不同的、符合規范的基準時鐘速度。
??? 其中一個測試解決方案有助于系統利用支持100MHz和125MHz基準時鐘的元件,并通過一個M-LVDS差分對將其分配到系統的所有卡上。這一解決方案也可以對卡進行設置,因此這些卡可以在其應用指令下作為主或端點操作,而且能插入系統的任何插槽。另外,這一解決方案降低了背板上基準時鐘的工作頻率,放寬了該信號的路由限制和串擾性能。只要滿足2.5Gbps和5.0Gbps操作 PCIe規范嚴格的抖動要求,所有這些都可以用一個設計實現。
評論
查看更多