信號完整性基礎(chǔ)系列之十一——力科SDA的三種抖動分解方法
在通訊和PC行業(yè),高速串行信號越來越普及,在使用示波器測量和分析這類信號時,通常要求測量總體抖動(Total jitter,簡稱Tj)和固有抖動(Deterministic jitter,簡稱Dj),驗證是否滿足相關(guān)規(guī)范的要求。
在力科SDA系列示波器中使用了“Normalized Q-Scale method”(簡稱NQ-Scale方法)來求解Tj。而Tj分解為固有抖動Dj和隨機(jī)抖動Rj時,力科SDA提供了三種抖動分解方法,分別為Conventional、effective、MJSQ,如下圖所示。
圖一:力科SDA的三種抖動分解方法
MJSQ方法在Fibre Channel規(guī)范已有定義(MJSQ代表Methodologies for jitter and signal quality specification),這種方法在串行數(shù)據(jù)的抖動分析中被廣泛使用。在MJSQ文檔中,Tj是某一測量樣本數(shù)量下的TIE抖動的峰峰值,由Rj和Dj組成,Dj是有邊界的,而Rj是沒有邊界的,其概率密度函數(shù)滿足高斯分布。Tj的直方圖使用dual-Dirac來建模。Dual-Dirac模型是由兩個滿足高斯分布的脈沖組成,左右兩個脈沖的均值為μL和μR,兩個脈沖的標(biāo)準(zhǔn)偏差都等于σ,Dj = μR - μL,Rj = σ,Tj@BER-12= 14 * Rj + Dj。如下圖二所示。
圖二:Dual-driac模型與MJSQ方法示意圖
力科SDA中的MJSQ方法直接處理PDF概率密度函數(shù),使用兩個高斯分布的曲線分別擬合TIE直方圖的左右兩邊的尾部,調(diào)節(jié)高斯曲線的標(biāo)準(zhǔn)偏差讓曲線能盡量擬合TIE直方圖的尾部。 力科SDA的MJSQ分解方法基于傳統(tǒng)的MJSQ方法進(jìn)行了革新,兩個高斯分布的均值可以是不以Y軸對稱的,標(biāo)準(zhǔn)偏差也可以是不相等的。擬合的兩個高斯曲線的均值之差為Dj,標(biāo)準(zhǔn)偏差的平均值為Rj。
Effective方法是直接對浴盆曲線(bathtub curve)進(jìn)行分析,將Tj分解為Dj和Rj。這種方法與誤碼率測試儀(BERT)的方法相同。在使用NQ-Scale方法得到不同BER下的Tj后,由于Tj = Dj + α×Rj,在不同BER下的系數(shù)α是已知,可以推算出不同BER下的Dj和Rj。如右圖所示,BER=10e-12時α=14.069,BER=10e-10時α=12.723。
由于effective方法求解Dj和Rj與BERT相似,所以使用這種方法的計算結(jié)果可以與BERT的進(jìn)行對比。另外,effective方法求解的Dj和Rj與MJSQ方法的非常相似。
圖三:力科SDA中effective方法分解Tj
Conventional方法先計算Dj中的周期性抖動Pj(periodic jitter)、數(shù)據(jù)相關(guān)性抖動DDj(data dependent jitter)和占空比失真DCD(duty cycle distortion),然后Dj = DDj + Pj,Rj = (Tj – Dj) / 14。 在下圖四的流程圖中描繪了DDj、Pj、Tj、Rj的分析流程。
圖四:力科SDA中Conventional方法分解Tj
在conventional方法中,首先計算出每個數(shù)據(jù)邊沿和參考時鐘的偏差,即TIE,把TIE抖動隨時間變化的趨勢描繪為一條曲線(即TIE track,又稱TIE trend),對TIE追蹤曲線做快速傅立葉變換(FFT),得到TIE抖動的頻譜,通常周期性抖動Pj和DDj是TIE頻譜中的峰值部分,隨機(jī)抖動Rj是TIE頻譜中的底部,其頻譜范圍非常寬。將代表Pj的抖動頻譜部分做反向傅立葉變換IFFT,可以得到各個頻點(diǎn)貢獻(xiàn)多大的抖動值,如下圖五所示,在測試結(jié)果的左下角對各個頻率貢獻(xiàn)的Pj;函數(shù)F1是對TIE trend作FFT運(yùn)算,即TIE抖動的頻譜,在F1中的峰值點(diǎn)即為周期性抖動,在圖五中用cursor測量結(jié)果為350kHz,與左下角的Pj breakdown菜單的分析結(jié)果吻合。
圖五:力科SDA中Pj的分析
DDj的計算有兩種方法,一種是Synchronous N cycle plot方法,另一種是ISI plot方法。
當(dāng)捕獲的信號的數(shù)據(jù)碼流是重復(fù)的,使用Synchronous N cycle plot方法,如下圖六所示,
理想情況下,數(shù)據(jù)pattern的每個邊沿的平均位置μ應(yīng)該在bit interval的整數(shù)倍上,由于通道的非線性以及上升下降時間的不平衡,該平均位置μ(均值)與理想位置e存在時間差,這種抖動是與數(shù)據(jù)的碼型相關(guān)的,記錄下一個pattern中每個邊沿的時間差offset= e-μ。其中的最大值減去最小值即為DDj抖動的峰峰值。
圖六:Synchronous N cycle plot方法計算DDj
在下圖七中記錄了某偽隨機(jī)碼PRBS7的SnCycle圖,即127個bit中每個邊沿的DDj(offset= e-μ)的變化趨勢圖。相鄰兩個邊沿之間如果存在連續(xù)的0或者1(即沒有跳變位),則采用線性插值連接offset與offset。測量該DDj隨著bit位的變化的曲線的峰峰值即可得到DDj的峰峰值。
圖七:Synchronous N cycle plot方法計算DDj
當(dāng)捕獲的數(shù)據(jù)信號的碼流是不重復(fù)時,使用ISI plot方法來計算DDj。由于碼間干擾ISI是由于連接TX到RX的信道對碼型不同的信號產(chǎn)生不同的影響,在力科SDA中,首先構(gòu)建選定長度為N個bit信號,幀長度為N個bit的信號可以有2個組合。從串行數(shù)據(jù)流中找出同種bit組合的信號,平均運(yùn)算以去除隨機(jī)抖動,然后把平均后的各種組合的碼型疊加在一起,可以測量到碼型相關(guān)抖動DDj。在下圖八中,N=5,在左圖中可以看到,從串行數(shù)
圖八:力科SDA中ISI Plot方法分析DDJ
據(jù)碼流中選取“00010”和“11110”,取平均運(yùn)算后,疊加到ISI圖中,可以清晰觀察到兩個碼型導(dǎo)致的抖動。在右上圖為串行數(shù)據(jù)的眼圖,右下圖為六種不同碼型疊加的ISI圖,前者的輪廓與后者完全一致,而后者在加入隨機(jī)抖動后與前者很接近。
三種計算方法的比較:
Conventional方法可以計算出DDj、Pj、DCD、ISI,可以計算出Pj的來自于哪些頻率,對于串行信號的分析和調(diào)試非常實用。Effective和MJSQ方法只能得到Tj、Dj和Rj,不能把Dj進(jìn)一步分解。Effective方法采用與BERT相似的方法來計算Dj和Rj,測量結(jié)果可以與BERT做對比。
注:在三種方法的示意圖中都可以看到Tj是用TIE直方圖的尾部外插值后推算出來的,在抖動測試儀器行業(yè)中,對于直方圖尾部擬合且外插值有幾種算法。 力科SDA使用了NQ-Scale方法來對TIE直方圖的尾部進(jìn)行擬合和外插值運(yùn)算,在另一篇文章中將介紹NQ-Scale方法。
參考文獻(xiàn)
1, Understanding the Choices for Jitter Calculation Method, LeCroy Application Brief
2, A Comparison of Methods for Estimating Total Jitter Concerning Precision, Accuracy and Robustness, Martin Miller Ph.D., Michael Schnecker, DesignCon2007.
3, Fibre Channel – Method Jitter and Signal Quality Specification – MJSQ, T11.2/Project 1315-DT/Rev 14.1, June 5, 2005.