1、眼圖模板五彩斑斕
本文為大家詳細介紹如何編寫高速信號的自定義眼圖模板文件,并進行自定義眼圖模板信號實測,進行了分析和生成了測試報告。
總有一些波形會有畸變,總有一些電路會有bug,總有一些眼圖會壓模板。高速信號的質量,需要測試眼圖模板;那些電路中看不到的bug,都終將在眼圖模板中得到體現。
2、為什么要測眼圖模板?
如何評定高速串行系統的性能?在高速串行系統中,主要通過眼圖測試。眼圖是把連續的比特流按照某一特定的時鐘,分割為單獨的比特,而后疊加而形成的圖形,類似一個張開的眼睛,故得名眼圖(Eye-diagram)。眼圖是高速串行信號的宏觀信號質量的整體體現,在眼圖中可以直接反映出串行信號的幅度、抖動特性等。
評估一個眼圖的好和壞,通常利用一些常見的指標來衡量,比如眼高,眼寬,抖動,占空比等。為了簡單而又直觀地判斷眼圖的指標是否符合規范的要求,將規范指標的要求編寫成一個眼圖模板,然后利用示波器來調用這個模板,這樣就可以直觀看到眼圖是否有碰到模板。如果眼圖沒有碰到模板區域,表示眼圖符合規范要求,結果是Pass;同樣如果有碰到模板區域,結果是Fail,需要工程師對電路進行整改,改進信號質量到Pass。
眼圖模板測試是一種評估高速串行信號質量的手段。示波器的抖動眼圖分析軟件都內置了業界主流高速串行信號的眼圖模板,例如PCIE、USB、SATA、SAS、DisplayPort、HDMI、Ethernet、Fibre Channel等。但是有些情況可能無法直接套用示波器內置的標準模板,例如被測信號是新出標準定義的,或者實際測試點和標準要求的測試點不一致等情況,這就需要示波器調用自定義的眼圖模板完成測試。
3、眼圖模板定義解讀
眼圖模板有模板和相對模板,電信號的眼圖測試一般使用模板,光信號的眼圖測試一般使用相對模板。今天將介紹電信號的眼圖模板測試,即自定義模板的編寫和調用。
1.眼圖模板的Segment解讀
眼圖模板一般由上、中、下三部分組成,我們把上邊的稱為Segment1,簡稱SEG1,一般為長方形;中間部分的稱為Segment2,簡稱SEG2,一般為菱形或六邊形;下邊的稱為Segment3,簡稱SEG3,一般是長方形。
2.眼圖模板的坐標解讀
SEG1,SEG2,SEG3分別代表模板從上到下的三塊陰影區域,即使有時候不需要SEG1和SEG3,也要定義SEG1和SEG3,否則會影響模板縮放,SEG1和SEG3的v1=v2,v3=v4,t1=t4,t2=t3,t1=-t2。如果SEG2是菱形的話,v1=v3,v2=-v4,t2=t4,t1=-t3。
各拐角在模板中按逆時針順序分布,各SEG的t1,v1為左下角的坐標,t為水平坐標,v為垂直坐標。
4、如何編寫自定義眼圖模板
眼圖模板根據芯片電氣特性規格定義的,下面是某個高速串行信號標準的眼圖模板定義規范指標,通過模板規范指標,可以推導出了眼圖模板的t和y的參數,用記事本編輯,然后存為.msk模板文件,利用DPOJET導入使用。
1.打開txt文本文件
假如被測信號的速率是3.125Gbps,一個UI就是3.125Gbps的倒數,即1UI=320ps,碼型是NRZ。BITR為信號速率3.125e9;WID為BITR倒數320e-12;打開一個空白txt文本文件,然后再空白輸入如下:
:MASK:USER:WID 320e-12;
:MASK:USER:BITR 3.125e9;
:MASK:USER:SERIALTRIG NRZ;
2.編寫Segment1的坐標
根據上面的眼圖模板規范指標,注意:規范模板左邊是0UI,右邊是1UI,中間是0.5UI;但編寫模板時是左邊是-0.5UI,右邊是0.5UI,中間是0。所以SEG1的t1,v1,t2,v2,t3,v3,t4,v4計算如下:
t1=-0.5UI=-0.5*320e-12=-160e-12;
v1=600mV=600e-3;
t2=0.5UI=0.5*320e-12=160e-12;
v2=600mV=600e-3;
t3=0.5UI=0.5*320e-12=160e-12;
v3=(600+200)mV=800e-3;
t4=-0.5UI=-0.5*320e-12=-160e-12;
v4=(600+200)mV=800e-3;
得到Segment1模板如下:
:MASK:USER:SEG1:POINTS -160e-12,600e-3,160e-12,600e-3,160e-12,800e-3,-160e-12,800e-3;
3.編寫Segment2的坐標
根據上面的眼圖模板規范指標,SEG2是六邊形,推導六個坐標t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6計算如下:
t1=-(0.5-0.15)UI=-0.35*320e-12=-112e-12;
v1=0mV=0;
t2=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;
v2=-400mV=-400e-3;
t3=(0.5-0.4)UI=0.1*320e-12=32e-12;
v3=-400mV=-400e-3;
t4=(0.5-0.15)UI=0.35*320e-12=112e-12;
v4=0mV=0;
t5=(0.5-0.4)UI=0.1*320e-12=32e-12;
v5=400mV=400e-3;
t6=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;
v6=400mV=400e-3;
得到SEG2的模板如下:
:MASK:USER:SEG2:POINTS -112e-12,0,-32e-12,-400e-3,32e-12,-400e-3,112e-12,0,32e-12,400e-3,-32e-12,400e-3;
4.編寫Segment3的坐標
根據上面的眼圖模板定義規格,SEG3是長方形,要推導出四個坐標,SEG3的t1,v1,t2,v2,t3,v3,t4,v4計算如下:
t1=-0.5UI=-0.5*320e-12=-160e-12;
v1=-(600+200)mV=-800e-3;
t2=0.5UI=0.5*320e-12=160e-12;
v2=-(600+200)mV=-800e-3;
t3=0.5UI=0.5*320e-12=160e-12;
v3=-600mV=-600e-3;
t4=-0.5UI=-0.5*320e-12=-160e-12;
v4=-600mV=-600e-3;
得到Segment2模板如下:
:MASK:USER:SEG3:POINTS -160e-12,-800e-3,160e-12,-800e-3,160e-12,-600e-3,-160e-12,-600e-3;
5.編寫模板名稱
編寫自定義眼圖模板名稱如下:
:MASK:AUTOSET:STANDARD SRIO_3.125G_Tx_Mask;
6.模板文件內容
模板文件內容見下圖。
7.把txt文件后綴名改為msk
保存文件,然后把文件的后綴名改為msk,見下圖。
5、如何加載自定義眼圖模板
1.加載自定義眼圖模板步驟
Step1: 點擊analyze→Jitter and Eye Analysis→One Touch jitter進行抖動眼圖測試,示波器會自動進行抖動眼圖分析,見下圖。
Step2: 點擊Plot→Clear All,見下圖。
Step3: 點擊Select→Eye→Mask Hits見下圖。
Step4: 點擊Configure→Mask Hits→Bits Config→All Bits→Absolute→Browse,見下圖。
Step5: 打開模板文件,見下圖。
Step6: 點擊Recalc進行眼圖模板分析,見下圖。
Step7: 點擊Result→Mask Hits查看違規Segment,見下圖。
Step8: 點擊Report→Save As 生成報告,見下圖。
2.眼圖模板Pass/Fail
模板通常限定了信號不合格區域,如果眼圖與模板相交違規,眼圖軟件會標注不合格區域,該部分波形跡線將顯示為白色。見下圖。此外示波器將計算違規hits數量,并標出是哪個Segment違規。
6、總結
本文詳細介紹了如何編寫高速信號的自定義眼圖模板文件,并進行自定義眼圖模板信號實測,進行了分析和生成了測試報告。
DPO70000SX高性能示波器
高帶寬:13 GHz - 70 GHz
模擬通道:1-4
采樣率:50 GS/s - 200 GS/s
MSO6B系列 混合信號示波器
高帶寬:1GHz - 10GHz
模擬通道:8
數字通道數:多達64條
采樣率:50 GS/s