胡為東系列文章之三--高速串行信號的接收端測試
圖3高速串行鏈路物理層的基本組成結(jié)構(gòu)示意圖
那么當(dāng)接收端接收到物理鏈路上接收到的數(shù)據(jù)后,接收端對數(shù)據(jù)的均衡效果怎樣?時鐘數(shù)據(jù)恢復(fù)電路能否準(zhǔn)確的恢復(fù)出時鐘?以及解串器、8B/10B解碼器等是否工作良好等問題都可能會導(dǎo)致數(shù)據(jù)誤碼的產(chǎn)生,在高速串行數(shù)據(jù)測試中都需要分別進(jìn)行檢測和驗證。如通過注入不同信號幅度的碼型來驗證接收端Amplifier/Equalization的最小電平輸入靈敏度,并通過設(shè)置不同的預(yù)加重來確定能夠補(bǔ)償通道失真的最優(yōu)的預(yù)加重設(shè)置,這個測試中需要具有能夠調(diào)節(jié)幅度和預(yù)加重設(shè)置的信號源并需要增加通道失真導(dǎo)致的ISI抖動;時鐘數(shù)據(jù)恢復(fù)模塊的測試則需要通過施加不同幅度的正弦抖動來驗證其工作范圍;對解串、8B/10B電路測試則需要通過施加信號的其他影響參數(shù)如隨機(jī)抖動、高頻正弦抖動、時鐘對齊符號碼等可能導(dǎo)致的問題。
對接收端性能的測試也通常叫做接收機(jī)測試。接收端測試的最主要的目的是驗證接收端的誤碼率是否滿足要求。
二、接收端測試的基本原理
接收端測試的基本原理是測試儀器(通常使用誤碼分析儀或者信號源和能分析誤碼的專用協(xié)議分析儀來完成)發(fā)出特定的碼型給被測接收端,接收端在Loopback模式下再將數(shù)據(jù)接收、恢復(fù)后通過其Tx端發(fā)送回測試儀器,由測試儀器完成其發(fā)出去的數(shù)據(jù)和接收到的數(shù)據(jù)的對比,從而分析出誤碼的數(shù)量,這種測量方法叫外部誤碼率測試(External BERT),此時被測件工作在重定時環(huán)回模式(Retimed Loopback);還有一種是芯片內(nèi)部自帶有誤碼檢測電路,接收端接收到數(shù)據(jù)后自行統(tǒng)計誤碼,然后將誤碼的數(shù)量反饋給測試儀器,這種方法叫做內(nèi)部誤碼測試方法(Internal BERT),此時被測件工作Loopback BERT模式下;如下圖4所示,目前用得比較廣泛的是重定時環(huán)回測量方法。由于接收端測量和調(diào)試需要驗證不同條件下的接收端的特性,因此需要信號源能夠發(fā)出不同的碼型、調(diào)節(jié)輸出信號幅度、預(yù)加重、施加不同頻率、不同幅度的正弦抖動、隨機(jī)抖動等。
圖4內(nèi)部誤碼測試方法和外部誤碼測試方法
三、接收端一致性測試和容限測試(抖動容限測試)的概念及區(qū)別
高速串行數(shù)據(jù)標(biāo)準(zhǔn)的規(guī)范通常會要求在某一特定測試條件下,接收端的各項指標(biāo)需要符合一定的標(biāo)準(zhǔn)(最主要是抖動指標(biāo))。比如說USB3.0的規(guī)范就要求接收端一致性測試的環(huán)境設(shè)置條件如右邊表格所示,需要設(shè)定測試儀器輸出的碼型信號帶有規(guī)范要求數(shù)值的De-emphasis,RJ,SJ,Eye Height,TJ等參數(shù),規(guī)范中將給出在這一環(huán)境下的抖動及誤碼率指標(biāo)要求。表中的正弦抖動需要在不同頻點(diǎn)下進(jìn)行測試以驗證CDR的性能。根據(jù)規(guī)范要求進(jìn)行的測試驗證就叫做一致性測試(compliance test),其目的主要是為了驗證被測件是否滿足規(guī)范要求。測試結(jié)果如下圖5左圖所示,橫軸表示的是正弦抖動的頻率,縱軸表示的是正弦抖動所對應(yīng)的幅度,當(dāng)圖中的點(diǎn)均為綠色時說明測試結(jié)果是符合規(guī)范的,沒有誤碼發(fā)生。
一致性測試只能驗證測試結(jié)果是否滿足規(guī)范。事實上我們更需要了解被測件的實際容限有多大,這時候只需要將一致性測試中固定幅度的Sj改為在一定范圍內(nèi)可變化的測量就可以測試接收端容限或者說抖動容限了,如下圖5右圖所示,不同頻點(diǎn)處(橫軸)的Sj的幅度在變化,每一個幅度都會進(jìn)行一次測試,直到測試儀器檢測到誤碼為止,圖中出現(xiàn)紅色點(diǎn)的位置即表示系統(tǒng)開始出現(xiàn)誤碼,綠色點(diǎn)表示沒有出現(xiàn)誤碼,圖中黑色曲線是規(guī)范要求的指標(biāo),抖動容限即表示出現(xiàn)誤碼(紅色點(diǎn)位置)到規(guī)范要求的指標(biāo)之間的差值。這一測試過程叫接收端容限測試。另外,如果系統(tǒng)有誤碼,測試儀器也會統(tǒng)計出誤碼的數(shù)量。通常高速串行數(shù)據(jù)規(guī)范要求測試誤碼率BER=10E+12的抖動容限指標(biāo)及誤碼情況。
圖5接收端一致性測試和容限測試結(jié)果示意圖
四、接收端測試的難點(diǎn)
接收端測試的主要難點(diǎn)有:
1、如何能實現(xiàn)測試儀器與被測DUT的順利握手(這一點(diǎn)在Tx發(fā)送端測試的時候尤為重要,因為對于高速串行信號來說,往往需要測試不同類型的碼型,因此不僅需要誤碼測試儀器能夠發(fā)出不同碼型的激勵信號,同時為了快速自動化的測試,則需要測試儀器能夠自動的根據(jù)需要誘使DUT發(fā)出相應(yīng)的碼型給示波器進(jìn)行物理層測試,這需要測試儀器與被測DUT有非常好的協(xié)調(diào)和握手能力)。
2、如何讓DUT進(jìn)入Loopback模式,因為接收端測試時需要讓DUT工作在Loopback模式下才能進(jìn)行測試,讓DUT進(jìn)入Loopback模式有兩種方法,一種是通過內(nèi)部硬件編程的方法,另外一種是通過協(xié)議層級的握手;而很多板級的應(yīng)用工程師無法做到讓DUT工作到Loopback模式下。
3、如何處理由于發(fā)送端數(shù)據(jù)和接收端數(shù)據(jù)由于時鐘速率不一致而插入的時鐘對齊符號碼(如USB3.0中的SKP信號);在串行數(shù)據(jù)應(yīng)用中,發(fā)送端和接收端通常是異步工作模式,兩者使用的不是同一個時鐘,這樣就可能導(dǎo)致發(fā)送端數(shù)據(jù)的參考時鐘和接收端數(shù)據(jù)的參考時鐘的速率不一致,如下圖6所示為接收端接收到測試儀器發(fā)過來的數(shù)據(jù),當(dāng)其工作在Loopback模式時,接收端會通過Tx將數(shù)據(jù)返回給測試儀器的示意圖。由于Tx使用的基準(zhǔn)時鐘是板上的參考時鐘,而Rx使用的是從串行數(shù)據(jù)中的恢復(fù)時鐘,兩個異步時鐘的不一致可能會導(dǎo)致接收到的數(shù)據(jù)和發(fā)送出去的數(shù)據(jù)的不一致,從而導(dǎo)致誤碼的產(chǎn)生,這時候接收端芯片內(nèi)部會有一個Elastic Buffer,這個Buffer會通過插入或者丟掉一些特定的符號碼(如SKP碼)來協(xié)調(diào)接收端時鐘和發(fā)送端時鐘的速率差異。如下圖7所示為USB3.0的Elastic Buffer插入和丟掉SKP碼的圖示,在USB3.0中,鏈路兩端的產(chǎn)品的參考時鐘頻率可能是不一樣的,參考時鐘允許的精度為+/-300ppm,SSC展頻引入的頻率偏差為0到-5000ppm,所以總的頻率偏差在-5300ppm到300ppm。為了補(bǔ)償頻率偏差,在USB3.0中的數(shù)據(jù)流中每354個symbol要插入兩個SKP(即K28.1碼),接收端需要能識別和刪除SKP,在USB3.0芯片中,添加和刪除SKP是由Elastic Buffer來實現(xiàn)的(詳見USB3.0 Specification的6.4.3節(jié))。于是,在接收機(jī)測試時,PUT發(fā)送出的碼流會加入一些SKP,誤碼檢測器接收到的數(shù)據(jù)包括了測試碼型和一些SKP,然后對比碼型發(fā)生器發(fā)送出的測試碼型,傳統(tǒng)的BERT會誤認(rèn)為測量到了誤碼。而力科的PeRT3可以智能的添加和刪除SKP后,再來計算是否有誤碼。
評論