作者丨鼎陽(yáng)科技 張賀陽(yáng)
什么是PRBS碼型
PRBS的全稱是Pseudo-Random Binary Sequence,也就是偽隨機(jī)二進(jìn)制序列。這是一種通過(guò)確定性算法生成的序列,但是很難預(yù)測(cè),所以它的統(tǒng)計(jì)結(jié)果類似于真正的隨機(jī)序列。
我們形容不同的PRBS碼型時(shí),通常用PRBSk或PRBS-k符號(hào)(例如PRBS5或PRBS-5)來(lái)指示不同序列的大小。在序列中最大有N=2k-1個(gè)比特?cái)?shù),因此在PRBS-k中,k表達(dá)了序列中唯一的數(shù)據(jù)字節(jié)的長(zhǎng)度。如果將N位數(shù)據(jù)分割成長(zhǎng)度為k的每一種可能的字段,那么除了全是0的字之外,我們可以找到k位二進(jìn)制字的每一種可能的0和1的組合。
我們以PRBS-4為例子,可以看出除了0000的狀態(tài)外,剩下的15個(gè)狀態(tài)都輸出過(guò):
已知PRBS-4的生成多項(xiàng)式為1+X3+X4
這里1代表輸入,計(jì)算移位寄存器的第3位和第4位的異或計(jì)算結(jié)果作為下一個(gè)狀態(tài)的輸入,將第四位作為輸出,假設(shè)我們令多項(xiàng)式的狀態(tài)從1111開(kāi)始,則生成的隨機(jī)碼序列為:
得到結(jié)果111100010011010。
以此類推,最后的幾個(gè)四比特字節(jié)繞到序列的另一端來(lái)補(bǔ)全,這樣就除去0000狀態(tài)外,該序列在剩下的15個(gè)狀態(tài)中循環(huán)切換的序列。其中不同的k對(duì)應(yīng)的生成多項(xiàng)式也是不同的,比如:
每一個(gè)多項(xiàng)式都規(guī)定了反饋的位數(shù),如果選用其他的情況會(huì)怎樣?我們還以PRBS-4為例,如果選擇第二位和第四位的異或作為反饋,得到的結(jié)果為111001111,可以看到,只經(jīng)過(guò)了6個(gè)狀態(tài)就已經(jīng)回到了初始狀態(tài),隨機(jī)性要更差。
當(dāng)PRBS-4信號(hào)在500M比特率的速度下運(yùn)行時(shí),使用頻譜儀掃描的結(jié)果如下圖所示:
圖1-1 使用頻譜儀觀察PRBS信號(hào)
從圖中可以看到,比特率500MHz的PRBS信號(hào)能量集中在500MHz以內(nèi),由多條線狀譜構(gòu)成。在頻率譜的主葉中,含有15根譜線(包括DC的0Hz)。每根譜線之間的間距為33.333MHz(500MHz÷15)。
PRBS序列的頻譜分量取決于比特率和序列長(zhǎng)度,通常,PRBS-k序列的長(zhǎng)度為2k-1位。在給定的比特率,頻譜分量會(huì)以等間隔出現(xiàn),間隔大小為比特率除以序列長(zhǎng)度。
為了觀察除了主葉之外的頻譜成分對(duì)信號(hào)帶來(lái)的影響,我們使用示波器觀察信號(hào),如下圖所示。在不同的帶寬限制下觀察信號(hào)??梢杂^察到,為了獲得一個(gè)信號(hào)完整性較好的波形,至少要包含兩組諧波分量,也就是信號(hào)路徑的模擬帶寬最好大于比特率的三倍。這對(duì)于測(cè)試高速數(shù)字接口信號(hào)非常重要。
圖1-2 示波器帶寬為1.5GHz的測(cè)試結(jié)果
圖1-3 示波器帶寬為1GHz測(cè)試結(jié)果
圖1-4 示波器帶寬為500MHz的測(cè)試結(jié)果
PRBS碼型的應(yīng)用
在真實(shí)的使用場(chǎng)景中,數(shù)據(jù)流是完全隨機(jī)的,PRBS碼型與實(shí)際場(chǎng)景的數(shù)據(jù)流很相似,因此我們常用PRBS來(lái)模擬真實(shí)的數(shù)據(jù)流。
在信號(hào)完整性測(cè)試中,為了驗(yàn)證通道的性能,我們通常需要發(fā)送PRBS碼型來(lái)觀察輸出的信號(hào)質(zhì)量,特別是對(duì)于眼圖測(cè)試、誤碼率和抖動(dòng)容限測(cè)試。
PRBS-7是目前10Gbps以下的串行總線中最常用的測(cè)試碼型。因?yàn)镻RBS-7的碼型與8b/10b NRZ編碼的數(shù)據(jù)流很相似,因此,在PCIe、SATA、100base-TX、SAS等采用8b/10b編碼的串行總線中,PRBS-7是最常用的測(cè)試碼型。