高速信號(hào)的山川大海,眼圖模板的五彩斑斕!
作者:蘇水金
當(dāng)你利用示波器觀測(cè)波形時(shí),阿拉斯加的鱈魚正躍出水面;當(dāng)你debug電路時(shí),南太平洋的海鷗正掠過海岸;當(dāng)你測(cè)試眼圖模板時(shí),地球的極圈夜空正五彩斑斕。
總有一些波形會(huì)有畸變,總有一些電路會(huì)有bug,總有一些眼圖會(huì)壓模板。高速信號(hào)的質(zhì)量,需要測(cè)試眼圖模板;那些電路中看不到的bug,都終將在眼圖模板中得到體現(xiàn)。
為什么要測(cè)眼圖模板?
如何評(píng)定高速串行系統(tǒng)的性能?在高速串行系統(tǒng)中,主要通過眼圖測(cè)試。眼圖是把連續(xù)的比特流按照某一特定的時(shí)鐘,分割為單獨(dú)的比特,而后疊加而形成的圖形,類似一個(gè)張開的眼睛,故得名眼圖(Eye-diagram)。眼圖是高速串行信號(hào)的宏觀信號(hào)質(zhì)量的整體體現(xiàn),在眼圖中可以直接反映出串行信號(hào)的幅度、抖動(dòng)特性等。
評(píng)估一個(gè)眼圖的好和壞,通常利用一些常見的指標(biāo)來衡量,比如眼高,眼寬,抖動(dòng),占空比等。為了簡(jiǎn)單而又直觀地判斷眼圖的指標(biāo)是否符合規(guī)范的要求,將規(guī)范指標(biāo)的要求編寫成一個(gè)眼圖模板,然后利用示波器來調(diào)用這個(gè)模板,這樣就可以直觀看到眼圖是否有碰到模板。如果眼圖沒有碰到模板區(qū)域,表示眼圖符合規(guī)范要求,結(jié)果是Pass;同樣如果有碰到模板區(qū)域,結(jié)果是Fail,需要工程師對(duì)電路進(jìn)行整改,改進(jìn)信號(hào)質(zhì)量到Pass。
眼圖模板測(cè)試是一種評(píng)估高速串行信號(hào)質(zhì)量的手段。示波器的抖動(dòng)眼圖分析軟件都內(nèi)置了業(yè)界主流高速串行信號(hào)的眼圖模板,例如PCIE、USB、SATA、SAS、DisplayPort、HDMI、Ethernet、Fibre Channel等。但是有些情況可能無法直接套用示波器內(nèi)置的標(biāo)準(zhǔn)模板,例如被測(cè)信號(hào)是新出標(biāo)準(zhǔn)定義的,或者實(shí)際測(cè)試點(diǎn)和標(biāo)準(zhǔn)要求的測(cè)試點(diǎn)不一致等情況,這就需要示波器調(diào)用自定義的眼圖模板完成測(cè)試。
眼圖模板定義解讀
眼圖模板有絕對(duì)模板和相對(duì)模板,電信號(hào)的眼圖測(cè)試一般使用絕對(duì)模板,光信號(hào)的眼圖測(cè)試一般使用相對(duì)模板。今天將介紹電信號(hào)的眼圖模板測(cè)試,即自定義絕對(duì)模板的編寫和調(diào)用。
1. 眼圖模板的Segment解讀
眼圖模板一般由上、中、下三部分組成,我們把最上邊的稱為Segment1,簡(jiǎn)稱SEG1,一般為長(zhǎng)方形;中間部分的稱為Segment2,簡(jiǎn)稱SEG2,一般為菱形或六邊形;最下邊的稱為Segment3,簡(jiǎn)稱SEG3,一般是長(zhǎng)方形。
2. 眼圖模板的坐標(biāo)解讀
SEG1,SEG2,SEG3分別代表模板從上到下的三塊陰影區(qū)域,即使有時(shí)候不需要SEG1和SEG3,也要定義SEG1和SEG3,否則會(huì)影響模板縮放,SEG1和SEG3的v1=v2,v3=v4,t1=t4,t2=t3,t1=-t2。如果SEG2是菱形的話,v1=v3,v2=-v4,t2=t4,t1=-t3。
各拐角在模板中按逆時(shí)針順序分布,各SEG的t1,v1為左下角的坐標(biāo),t為水平坐標(biāo),v為垂直坐標(biāo)。
如何編寫自定義眼圖模板
眼圖模板根據(jù)芯片電氣特性規(guī)格定義的,下面是某個(gè)高速串行信號(hào)標(biāo)準(zhǔn)的眼圖模板定義規(guī)范指標(biāo),通過模板規(guī)范指標(biāo),可以推導(dǎo)出了眼圖模板的t和y的參數(shù),用記事本編輯,然后存為.msk模板文件,最后利用DPOJET導(dǎo)入使用。
1. 打開txt文本文件
假如被測(cè)信號(hào)的速率是3.125Gbps,一個(gè)UI就是3.125Gbps的倒數(shù),即1UI=320ps,碼型是NRZ。BITR為信號(hào)速率3.125e9;WID為BITR倒數(shù)320e-12;打開一個(gè)空白txt文本文件,然后再空白輸入如下:
:MASK:USER:WID 320e-12;
:MASK:USER:BITR 3.125e9;
:MASK:USER:SERIALTRIG NRZ;
2. 編寫Segment1的坐標(biāo)
根據(jù)上面的眼圖模板規(guī)范指標(biāo),注意:規(guī)范模板左邊是0UI,最右邊是1UI,中間是0.5UI;但編寫模板時(shí)是左邊是-0.5UI,最右邊是0.5UI,中間是0。所以SEG1的t1,v1,t2,v2,t3,v3,t4,v4計(jì)算如下:
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的坐標(biāo)
根據(jù)上面的眼圖模板規(guī)范指標(biāo),SEG2是六邊形,推導(dǎo)六個(gè)坐標(biāo)t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6計(jì)算如下:
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的坐標(biāo)
根據(jù)上面的眼圖模板定義規(guī)格,SEG3是長(zhǎng)方形,要推導(dǎo)出四個(gè)坐標(biāo),SEG3的t1,v1,t2,v2,t3,v3,t4,v4計(jì)算如下:
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. 模板文件內(nèi)容
最終模板文件內(nèi)容見下圖。
7. 把txt文件后綴名改為msk
保存文件,然后把文件的后綴名改為msk,見下圖。
如何加載自定義眼圖模板
1. 加載自定義眼圖模板步驟
Step1: 點(diǎn)擊analyze→Jitter and Eye Analysis→One Touch jitter進(jìn)行抖動(dòng)眼圖測(cè)試,示波器會(huì)自動(dòng)進(jìn)行抖動(dòng)眼圖分析,見下圖。
Step2: 點(diǎn)擊Plot→Clear All,見下圖。
Step3: 點(diǎn)擊Select→Eye→Mask Hits見下圖。
Step4: 點(diǎn)擊Configure→Mask Hits→Bits Config→All Bits→Absolute→Browse,見下圖。
Step5: 打開模板文件,見下圖。
Step6: 點(diǎn)擊Recalc進(jìn)行眼圖模板分析,見下圖。
Step7: 點(diǎn)擊Result→Mask Hits查看違規(guī)Segment,見下圖。
Step8: 點(diǎn)擊Report→Save As 生成報(bào)告,見下圖。
2. 眼圖模板Pass/Fail
模板通常限定了信號(hào)不合格區(qū)域,如果眼圖與模板相交違規(guī),眼圖軟件會(huì)標(biāo)注不合格區(qū)域,該部分波形跡線將顯示為白色。見下圖。此外示波器將計(jì)算違規(guī)hits數(shù)量,并標(biāo)出是哪個(gè)Segment違規(guī)。
視頻講解在【測(cè)試測(cè)量加油站】公眾號(hào),前往觀看。