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