串行數(shù)據(jù)一致性測試的若干技術(shù)要點(diǎn)
引言
在信號(hào)傳輸領(lǐng)域占統(tǒng)治地位的高速串行系統(tǒng)速度正不斷翻新:USB3.0的5Gbps數(shù)率比起USB2.0的480Mbps而言提升了10倍,PCI Express總線在幾年之內(nèi)也從最初的2.5Gbps擴(kuò)展到8Gbps,數(shù)據(jù)存儲(chǔ)領(lǐng)域的SATA和SAS也已經(jīng)進(jìn)化到第三代6Gbps,還有DDR內(nèi)存總線、以太網(wǎng)、HDMI、DisplayPort等等均無一例外的提升速度至更高水平。推動(dòng)串行數(shù)據(jù)率不斷攀升的動(dòng)力來自于互聯(lián)網(wǎng)時(shí)代的生存法則:快魚吃掉慢魚,而非大魚吃小魚。
行業(yè)的發(fā)展和技術(shù)的進(jìn)步離不開標(biāo)準(zhǔn)的制定,為保證各廠家制造的產(chǎn)品能滿足互操作性,即能相互兼容,各行業(yè)組織為此都制定了一套測試規(guī)范,要求廠家生產(chǎn)的產(chǎn)品必須通過測試后方能上市銷售,這就是一致性測試(Compliance Testing),比如USB-IF負(fù)責(zé)制定USB2.0和USB3.0的一致性測試規(guī)范,PCI-SIG負(fù)責(zé)PCI Express G1 /G2/ G3一致性測試標(biāo)準(zhǔn)。盡管各種串行協(xié)議的具體內(nèi)容千差萬別,但一致性測試的框架和思路都是類似的,涉及到的共性問題都包括測試儀器的選擇,標(biāo)準(zhǔn)測試報(bào)文的生成、測試夾具的使用、如何判斷測試項(xiàng)目合格,乃至最終測試報(bào)告的生成。
對于5Gbps速率以下的信號(hào)而言,由于setup time和hold time的窗口margin較大,一般只需考慮發(fā)送端測試即可,而對于5Gbps速率以上超高速信號(hào),由于本身margin就較小,再加上高頻分量在信道傳輸時(shí)衰減相對更大,到接收端時(shí)出現(xiàn)誤碼的概率也就增大很多。發(fā)送端能通過一致性測試,送出的信號(hào)質(zhì)量也很好,并不表示接收端就一定不會(huì)出現(xiàn)誤碼。為了應(yīng)對這么高數(shù)據(jù)率的挑戰(zhàn),新一代串行協(xié)議比如USB3、SATA3都規(guī)定接收端容限測試已不再是可選項(xiàng),而是必測項(xiàng)目。串行信號(hào)速率提高之后帶來的另外一類問題是電纜、探頭、測試夾具或背板(可統(tǒng)稱為信道channel)的影響已不可忽略,需要有某種方法來補(bǔ)償信道對信號(hào)的衰減效應(yīng),這也體現(xiàn)在下一代串行協(xié)議的一致性測試規(guī)程中。
發(fā)送端測試
對Transmitter測試主要由示波器或?qū)iT的串行數(shù)據(jù)分析儀SDA實(shí)現(xiàn),高保真還原信號(hào)需要能采集到5次諧波分量,對應(yīng)的示波器帶寬最低要求為數(shù)據(jù)率的2.5倍,比如USB3.0測試要求示波器帶寬為12.5GHz以上,SATA 6G要求15GHz帶寬以上,而做較低速的PCI E G1就不需要這么高帶寬,6GHz帶寬即足夠。力科公司的SDA 8Zi是新一代更高速串行信號(hào)發(fā)送端測試的最佳平臺(tái),因?yàn)樗芴峁?GHz到30GHz帶寬范圍,最高80GS/s采 樣率,完全能應(yīng)對當(dāng)前最快速串行信號(hào)的帶寬需要。各種協(xié)議的發(fā)送端測試項(xiàng)目不盡相同,但大都可分為三類:時(shí)序特性、電氣特性和時(shí)鐘特性。時(shí)序測試從單個(gè)樣 本來說就是建立時(shí)間和保持時(shí)間的測定,從大樣本的統(tǒng)計(jì)角度來說,就是眼圖模板和抖動(dòng)分析。一致性規(guī)范都會(huì)定義某個(gè)參數(shù)的合格范圍,比如下圖1所示為百兆以太網(wǎng)峰值差分輸入幅度,測試標(biāo)準(zhǔn)為2.2伏至2.8伏之間,實(shí)測值為2.52V,符合標(biāo)準(zhǔn)要求,所以是合格的。
損耗和反射,背板、電纜對信號(hào)幅度的衰減和對相位的畸變,否則眼圖和抖動(dòng)分析結(jié)果與實(shí)際情況差之千里。在USB3.0的發(fā)送端眼圖中,測量的是待測試信號(hào)經(jīng)過參考測試信道后TP1點(diǎn)的眼圖和抖動(dòng)。如下圖2中的Reference test channel即為參考測試信道,在規(guī)范中定義了long channel、short channel和3米電纜三種參考測試信道。如果使用long channel或者較長電纜,信號(hào)到達(dá)接收端時(shí)衰減比較大,眼圖已經(jīng)閉合,USB3.0芯片接收端使用了CTLE均衡器對信號(hào)進(jìn)行均衡后,信號(hào)眼圖的質(zhì)量將大大改善,對應(yīng)的測試儀器要求能仿真分析出CTLE均衡器處理后信號(hào)的眼圖和抖動(dòng)。
上圖是力科Eye Doctor II軟件對USB3.0 Tx波形運(yùn)用CTLE均衡后的結(jié)果,左邊的眼圖是靠近TX近端測量到的眼圖;中間的眼圖是通過兼容性信道(參考測試信道)后測量的眼圖,可見眼圖的張開程度較小,抖動(dòng)較大;右邊的眼圖是仿真CTLE均衡后的眼圖,可見眼高和抖動(dòng)都得到改善。信號(hào)越高,越需要對信號(hào)進(jìn)行均衡處理?;诖?,USB3.0、SATA III、PCI-E G2都規(guī)定一致性測試必須包含均衡仿真功能。而力科Eye Doctor II軟件提供CTLE、FFE 、DFE三種最流行的均衡算法,能全面滿足下一代串行信號(hào)的發(fā)送端測試需求。
接收端容限測試
很多工程師認(rèn)為在靠近接收端測量眼圖或抖動(dòng)就是Receiver測試,這是個(gè)誤解,造成這種誤解的原因主要是在過去接收機(jī)測試在板級的硬件研發(fā)中不是必測項(xiàng)目。接收機(jī)測試的準(zhǔn)確定義為:Recevier能夠容忍的不產(chǎn)生誤碼的輸入信號(hào)最大抖動(dòng)值。下圖為接收機(jī)測試的示意圖。所需的儀器包括誤碼率測試儀(簡稱BERT),BERT通常包括碼型發(fā)生器(Pattern Generator)和誤碼檢測器(Error Detector)兩部分。在接收機(jī)測試時(shí),碼型發(fā)生器輸出特定碼型的、帶有大量抖動(dòng)和噪聲的信號(hào)到PUT的RX,DUT接收到后通過時(shí)鐘與數(shù)據(jù)恢復(fù)電路(簡稱CDR)、判別電路和解碼得到1和0組合的比特流,然后環(huán)回到輸出寄存器,從PUT的TX緩沖器發(fā)送出去,PUT的TX連接到了BERT的誤碼檢測器,誤碼檢測器中的CDR、判別電路處理后解碼得到1與0組 合的數(shù)據(jù)比特流,然后與碼型發(fā)生器輸出的特定碼型數(shù)據(jù)對比,如果兩者完全吻合則沒有誤碼,否則,記錄下誤碼的數(shù)量和接收到的碼流的比特總數(shù),前者除以后者 即誤碼率,同時(shí)記錄接收到誤碼時(shí)碼型發(fā)生器輸出信號(hào)的抖動(dòng)值。修改碼型發(fā)生器輸出信號(hào)的隨機(jī)抖動(dòng)、固有抖動(dòng)、信號(hào)幅度等參數(shù),可以快速評估PUT的接收機(jī)對抖動(dòng)的容限性能。
在接收機(jī)容限測試中,需要處理因SKP碼型帶來的誤碼率計(jì)算錯(cuò)誤問題。通常為了補(bǔ)償鏈路兩端頻率偏差,發(fā)送端在數(shù)據(jù)流中每354個(gè)symbol要插入兩個(gè)SKP(即K28.1碼),接收端需要能識(shí)別和刪除SKP,這是USB3.0、SATAIII 或PCI Express G3等新型協(xié)議才具有的特點(diǎn),而傳統(tǒng)的BERT因?yàn)椴荒茏R(shí)別SKP碼,會(huì)將正確碼流誤認(rèn)為誤碼。力科的誤碼率分析儀PeRT3由于具有協(xié)議層通信能力,可以智能的添加和刪除SKP后,再來計(jì)算是否有誤碼,所以是業(yè)界唯一一款能真正進(jìn)行接收端容限測試的誤碼率分析儀。
生成標(biāo)準(zhǔn)測試報(bào)文
幾乎所有的串行數(shù)據(jù)一致性測試規(guī)程都要求DUT能發(fā)出標(biāo)準(zhǔn)的測試序列,而且每一個(gè)測試項(xiàng)目對應(yīng)的測試報(bào)文都不盡相同。通常芯片廠家都會(huì)提供相應(yīng)的軟件程序控制芯片進(jìn)入測試模式,產(chǎn)生特定的測試報(bào)文。比如Intel的LanConfig軟件適用于所有Intel的網(wǎng)卡芯片,工程師可以通過該軟件修改網(wǎng)卡芯片寄存器使其進(jìn)入百兆測試模式或千兆Mode 1,2,3,4模式中的一種。再比如USB-IF提供的HSElectricalTestTool發(fā)包程序(可從www.usb.org下載),可以針對Host或Device的不同測試項(xiàng)目發(fā)出不同的測試報(bào)文。相比其他協(xié)議,USB3.0標(biāo)準(zhǔn)報(bào)文是最復(fù)雜的。在USB3.0規(guī)范中定義CP0-CP8九種測試碼型。在TX測試中,需要用到CP0/CP1/CP7/CP8四種碼型:CP0用于眼圖與抖動(dòng)、共模電壓測量;CP1用于SSC展頻測量、隨機(jī)抖動(dòng)測量;CP7用于去加重測量;CP8用于差分電壓幅度測量。對于測試工程師而言,如果沒有廠家提供的發(fā)包程序,很難讓DUT發(fā)出不同的測試碼型,而力科的PeRT3則可以很好解決這個(gè)問題,因?yàn)槠渚哂袇f(xié)議層通信能力,會(huì)發(fā)出Ping.LFPS命令到DUT,DUT每接收到1個(gè)Ping.LFPS后,輸出的碼型就切換一次,從CP1到CP2,CP2到CP3, 直到CP8后再切換回CP0,不具有協(xié)議層通信能力的信號(hào)源是很難進(jìn)行USB3.0、SATAIII、PCIe G3等下一代高速數(shù)據(jù)的一致性測試的。
結(jié)語
串行數(shù)據(jù)率在提升到5Gbps以上后,需要有全新的一致性測試思路和手段,僅僅在發(fā)送端做眼圖和測試已經(jīng)不夠,還需要引入接收機(jī)抖動(dòng)容限測試、均衡仿真等,同時(shí)還必須支持與DUT鏈路層通信的能力以生成復(fù)雜的標(biāo)準(zhǔn)測試碼型。力科PeRT3是業(yè)界唯一具有鏈路/協(xié)議層會(huì)話能力的誤碼率分析儀,與高性能的串行數(shù)據(jù)分析儀SDA 8Zi配合使用,可以為最新串行協(xié)議USB3.0、SATA III、SAS III、PCI Express G3等提供完整的端到端一致性測試解決方案。