理解SerDes 之三

3.抖動和信號集成( Jitter, SI )

抖動是指信號的跳邊時刻偏離其理想(ideal)或者預定(expected)時刻的現象。噪聲,非理想的信道,非理想的電路都是產生抖動的原因。

3.1 時鐘的抖動(clock jitter)

理解SerDes <wbr> <wbr>之三
Figure 3.1  Clock Jitter

 

對於時鐘信號,根據應用場景的不同,對抖動的定義也不一樣。比如數字邏輯計算時序餘量的時候,關心的是週期抖動。而時鐘設計人員更喜歡相位抖動,因爲可以利用頻譜評估相位抖動,並可以用頻譜來評估具體的干擾對總相位抖動的貢獻。
參考圖3.1,介紹一下幾種抖動的定義。

l  相位抖動(phase jitter)
Jphase(n)= tn – n*T。理想時鐘的每個週期T都是相等的,沒有抖動。真實時鐘的跳邊沿相對於理想時鐘的偏離稱作相位抖動。

l  週期抖動(period jitter)

 Jperiod(n)= (tn- tn-1)– T。週期抖動是實際時鐘的週期相對於理想週期的偏離(deviation)。顯然Jperiod(n) = Jphase(n) - Jphase(n-1)。

l  Cycle-to-Cycle jitter

Jcycle(n) = (tn- tn-1) - (tn-1- tn-2)。前後相鄰的兩個週期的偏差是Cycle-Cycle抖動。顯然Jcycle(n)= Jperiod(n) – Jperiod(n-1)。

假設相位抖動的最大值爲 +/-Jp, 而且抖動的頻率fjitter = 0.5fclock = 0.5/T,也就是,

tn-2時刻的相位抖動爲最大值+Jp ,tn-1時刻的相位抖動爲最小值-Jp

tn時刻的相位抖動爲最大值+Jp , tn+1時刻的相位抖動爲最小值-Jp

那麼,週期抖動最大值        Jperiod=+/- 2* Jp

那麼,Cycle-Cycle抖動最大值  Jcycle  =+/- 4* Jp

3.2. 數據的抖動(data jitter)

在高速SerDes領域每個人都在說抖動,因爲抖動直接和誤碼率(BER)相關。

SerDes發送端的一個重要要求是抖動(jitter generation)----針對特定的碼型(pattern),速率和負載情況下,發送端所生成的抖動。
    信號經過信道(channel)到達接收端時,又會進一步放大抖動,不同的碼型(pattern)包含的頻率成分也不一樣,信道對不同頻率成分的傳輸延時也不一樣(非線性相位), 產生和數據pattern相關的確定性抖動。阻抗不連續產生的反射,相鄰信號的串擾和噪聲都會引起數據抖動。
    SerDes接收端的一個重要指標是抖動容忍能力(Jitter Tolerance)----針對特定的碼型和誤碼率要求(BER<10-12),SerDes接收端能夠容忍的抖動大小。對抖動評估時,會使用眼圖(eye-diagram),浴缸曲線(bath curve),抖動分佈柱狀圖(PDF),抖動頻譜(jitter spectrum)等圖形手段。

有一點需要說明,在談論高速SerDes的數據抖動時(Tj,Rj,Dj etc.),是不包括低頻率抖動的。這是因爲低頻率的抖動被認爲是一種wander,可以被CDR跟蹤,不會引起誤碼。在用示波器(SDA)測量數據抖動的時候,可以設置示波器內嵌的CDR環路帶寬,示波器測量的抖動數據已經濾掉了低頻抖動。

根據抖動產生的原因和概率密度函數,常常將抖動分爲幾類。對抖動進行分類的意義在於某些類型的抖動可以被校正,而其他類型的不能被校正。經典的,總抖動Tj(Total Jitter)被分類爲確定性抖動Dj (deterministic jitter)和隨機抖動Rj (random jitter)。抖動以UI或者ps爲單位,可以是均方根值,或者峯峯值。

3.2.1 Dj

Dj被進一步細分,

l  DCD(Duty cycle distortion)

佔空比失真抖動。差分信號的正端負端的偏置電壓不一致,或者上升沿和下降沿時間不一致會導致佔空比失真。因爲DCD和數據pattern相關,是可以被校正的抖動。

l  DDJ(Data dependent jitter)

數據碼型相關的抖動,也稱 碼間干擾ISI(intersymbol interference)。DDJ是由於不理想的信道導致。是可以被均衡器校正的抖動。

l  Pj(Periodic jitter)

週期性抖動。Pj由電路上週期性干擾源導致。比如開關電源的開關頻率,時鐘信號的串擾等。雖然電源的開關頻率一般在CDR的跟蹤範圍內,但是低次諧波成分可能會落在環路帶寬外,或者jitter peaking區域, 更重要的是電源諧波對CDR內VCO的干擾是不能被抑制和跟蹤的,所以對於基於Ring VCO的CDR一定要儘可能的使用LDO供電。Pj不能被均衡器校正.

l  BUJ(Bounded uncorrelated jitter)

BUJ由非時鐘的干擾源引起。如果幹擾源aggressor和victim是異步的,抖動的概率分佈爲有界的高斯分佈,此時也稱作CBGJ(Correlated Bounded Gaussian Jitter)。BUJ/CBGJ不能被校正。

3.2.2 Rj

Rj有半導體本身的噪聲引起,一個重要特徵就是Rj的概率密度函數是高斯分佈的,沒有邊界,且和數據pattern無關。只有在一定誤碼率約束下,纔可以被認爲是有界的。

3.2.3 Tj

數學意義上,抖動的概率分佈函數可以近視爲高斯分佈和雙底拉克分佈的卷積。

對高斯分佈有貢獻的抖動爲:

n  Rj爲高斯分佈

n  大量Pj疊加的效果也爲高斯分佈

n  部分BUJ也爲高斯分佈

對雙底拉克分佈有貢獻的抖動爲:

n  DCD被近視爲雙底拉克概率分佈

高斯分佈和雙底拉克分佈的卷積:

理解SerDes <wbr> <wbr>之三

其中,W被認爲是確定性抖動的峯峯值,δ是高斯分佈的均方差。見圖3.2, 可以看到,隨着確定性抖動W的增加,概率密度分佈曲線的頂部出現了雙峯。一般來講頂部曲線反映了確定性抖動的大小程度。
理解SerDes <wbr> <wbr>之三

           Figure 3.2 PDF of Tj with different Dj and Rj

把一個UI內的兩個跳變沿處(0 UI處和1UI處)的概率分佈函數放在一張圖中,就是抖動的浴缸曲線(bathtub curve)。因爲對數的寬動態範圍,Y座標以對數顯示。圖3.3爲確定性抖動W=0.05UI, 高斯抖動方差0.05UI的浴缸曲線。

理解SerDes <wbr> <wbr>之三

     Figure 3.3  Bathtub Curve of Tj with 0.05 Dj peak and 0.05 Rj RMS

 

 

浴缸曲線還會標出對應的誤碼率BER座標,比如圖中BER=10^-12的峯峯值抖動爲Tj(p-p)=0.373*2 = 0.746 UI。曲線下面的面積佔總面積的比率就是誤碼率。比如圖中,

理解SerDes <wbr> <wbr>之三

 浴缸曲線的頂部主要爲確定性抖動Dj的貢獻,越靠近底部,高斯抖動的貢獻越大,並以高斯曲線的斜率衰減,也因此常利用高斯分佈的特性進行估算。下表爲高斯分佈 理解SerDes <wbr> <wbr>之三

和均方差關係。       

理解SerDes <wbr> <wbr>之三

在規定的BER內,利用該表可以快速估算均方差值和峯峯值之間的關係。比如高斯抖動的均方根0.05UI,誤碼率要求爲10^-12 BER,查表可知Q=7,那麼高斯抖動的峯峯值要求是0.05UI*7*2 = 0.7UI。

如前所述,W=0.05UI,Rj=0.05UI計算出的總抖動Tj=0.746UI;
    利用高斯特性估算的高斯抖動爲0.7UI。
    如果按Tj = Rj(0.7UI)+Dj(0.05UI)計算得到0.75U,基本是一致的,差異是因爲畫圖程序有量化誤差。

 

4.信號集成(SI)及仿真

4.1信道channel

SerDes信道關注的頻率範圍是0Hz到奈奎斯特頻率,也就是2倍的信號基頻。信號的基頻是信號線速率的一半,也就是說信號的奈奎斯特頻率就是線速率。信道對信號的損傷包括插入損失(insertion loss),反射 (reflection),串擾(crosstalk)等。這些損傷可以用S-parameter信道模型來表達。S-parameter可以有矢量網絡分析儀測量(Vector Network Analyzer)得到。信道不是一個純阻性網絡,還包括容性和感性。這樣對不同頻率裏成分的時延也不一樣,從而產生和data pattern相關的抖動。

信道上的每一個不連續阻抗點都會產生反射,根據反位置的不同,反射信號會以不同的相位疊加在原始信號上,增加或者減小信號的幅度。

SerDes信號爲差分形式,對共模干擾有較強的抑制。如果在+/-端上的干擾有差異,就會引入串擾。通常外部PCB可以保證SerDes數據和干擾源保持足夠的距離,但是芯片內部由於考慮到經濟性,很難保證SerDes信號和干擾源足夠的隔離距離,尤其是一個通道自己的發送信號干擾自己的接收信號。

4.2 芯片封裝Package

   封裝package也是信道的一部分。芯片外部的信道可以通過VNA測量的到,而封裝的S-parameter通常有芯片製造商提供,仿真時可以把兩者級聯起來。封裝package由於距離較短,insertion loss通常不是主要問題,主要考慮的是阻抗匹配問題。

4.3 SI仿真

    信號集成性(SI)仿真可以通過把SerDes發送端SPICE模型,封裝和信道的S-parameter模型,接收端SPICE模型級聯起來搭建仿真平臺,利用仿真工具對不同的激勵在不同的測試條件作電路仿真。通過測量SerDes接收端的眼圖來評估是否滿足設計需求。也可以通過實測接收端眼圖,檢驗是否滿足接收端的眼圖模板,或者協議規定的眼圖模板。圖4.1爲一個實測的3.125Gbps信號的眼圖及模板,同時也包含了浴缸曲線和統計圖。

    Figure 4.1 Rx-end Eye-diagram of A 3.125Gbps SerDes

對於高速SerDes(>5Gbps),這種傳統的電路仿真方法已經不能滿足設計的需求。首先,過量的碼間干擾ISI導致接收端眼圖完全閉合,但是通過芯片內的DFE均衡後,眼圖可能是很好的。其次,電路仿真(SPICE)的速度非常慢,即使是有辦法把DFE均衡加入仿真,由於DFE仿真需要足夠長時間的bits來訓練,此時,電路仿真的仿真時間是不可接受的。

對於高速SerDes的仿真需要藉助統計分析 (statistical analysis) 的方法。統計分析的方法把發送端-信道-接收端的連接近視爲線性系統,計算系統脈衝響應h(t),加入噪聲源來模擬抖動,然後用激勵對脈衝響應進行卷積,得到接收端的信號,這種方法可以把廠家私有的FFE,DFE自適應算法加入仿真。

統計分析 (statistical analysis)方法不能仿真電路的非線性和時變特性,所以高速SerDes往往要兩者結合起來仿真SI。更多關於統計分析 (statistical analysis)方法可以參考。

 

5. 結尾

有人講過,現在的汽車是如此複雜,以至於雖然每一個零件都有人懂,但是合起來作爲整車卻沒人能夠全懂。近些年來,FPGA變的越來越複雜,對工程師的要求也越來越高。要成爲一個合格的FPGA應用工程師,不僅要擅長數字電路的設計,還要懂得高速SerDes, 信號集成SI, DSP算法, 多核CPU, 嵌入式操作系統等。每一項技術背後都是一個專業領域,一個人不會在每一個領域內都是專家,只要比別人多學習一點,關鍵時候就會突出你的價值。本篇主要介紹了SerDes的基本結構和用好SerDes需要掌握一些的知識,希望對你的工作有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章