以1.5 Gbps運行的PRBS發(fā)生器
PRBS(偽隨機二進制序列)或PN(偽噪聲)發(fā)生器在數(shù)字數(shù)據(jù)傳輸中有廣泛的應(yīng)用(參考文獻1)。這些電路通常由帶反饋的簡單移位寄存器構(gòu)成,它可以用作串行數(shù)據(jù)鏈路的測試源。正如它們名稱所示,輸出序列并非真正隨機,實際上是在2N-1位后重復(fù),其中N表示移位寄存器的長度。多項式標注的階數(shù)對應(yīng)于移位寄存器的長度,因此PRBS的周期就為描述序列提供了一個簡便的方法。
本文引用地址:http://2s4d.com/article/194127.htm通信設(shè)備的測試要使用某種標準多項式。例如,x7+x6+1產(chǎn)生一個 127位的PRBS周期,而x23+x18+1 則產(chǎn)生大于800萬位的周期,x31+x28+1產(chǎn)生的周期更長,256倍。有較長周期的 PRBS 通常提供更多的數(shù)據(jù)類型,從而能更仔細地檢測傳輸系統(tǒng)的性能。
一個采用中間級反饋的簡單移位寄存器就可以產(chǎn)生一個PRBS。構(gòu)成寄存器的觸發(fā)器運行速度必須與傳輸速度一致,如果你打算建立一個運行在千兆赫茲時鐘速率下的長周期PRBS發(fā)生器,則可能產(chǎn)生問題。德州儀器公司的高速串行器TLK2201B運行在高達1.6 Gbps速率下,它提供了一個可能的解決方法。但是,該串行器并不能以原有的全部串行格式接受PRBS,而一次只能接收10位部分。
圖1中電路表示一個31階的并行 PRBS 發(fā)生器,它提供10位輸出段,可以很容易適應(yīng)其它的PRBS序列和輸出寬度。在設(shè)計電路時,先畫一個有31個觸發(fā)器的圖,每行包含10個觸發(fā)器。在此例中,設(shè)計包含四行,第一行只有一個觸發(fā)器。圖1顯示了觸發(fā)器和編號約定之間的時序關(guān)系。
組成的結(jié)構(gòu)形成一個并行移位寄存器,其中第3行直接送至第 4 行,第2行送至第3行,等等。第2行的觸發(fā)器10至觸發(fā)器2和第1行的觸發(fā)器1從反饋路徑接受它們的輸入。這種排列可保證相連行中的觸發(fā)器提供10倍于當(dāng)時間隔的輸出,因而發(fā)生器的時鐘速度為等效串行移位寄存器PRBS實現(xiàn)速度的十分之一。
為確定反饋信號,推導(dǎo)出描述一個標準(即串行)PRBS 發(fā)生器輸出的公式,對多項式 x31+x28+1,得出 y(n)=y(n-31) xor y(n-28)。用此公式可以推導(dǎo)出描述反饋信號fdbk1 ~ fdbk10的公式。即:fdbk1:y (n+9)=y(n-22) xor y(n-19),fdbk2:y(n+8)=y(n-23) xor y(n-20),... fdbk10:y(n)=y(n-31) xor y(n-28)。例如,反饋信號 fdbk1 來自觸發(fā)器22和19輸出驅(qū)動的兩個輸入異或門的輸出。
圖1電路是用CPLD或FPGA器件實現(xiàn)的VHDL代碼。15行~18 行定義了并行移位寄存器,21行~23行定義了反饋電路的結(jié)構(gòu)。本設(shè)計實例的電路適合于Xilinx的XC3S50 Spartan 3器件,它運行在150 MHz 時鐘速率下;也可以通過一個10位接口,以150 MHz驅(qū)動一個德州儀器公司的 TLK2201B串行器。Xilinx's ISE 7.1i 軟件編譯電路的VHDL文件。圖2顯示串行器輸出的眼圖,并確保電路工作在1.5 Gbps。編譯軟件預(yù)測電路應(yīng)工作在300 MHz以上時鐘速率下,但TLK2201B的極限工作頻率為150 MHz。
參考文獻
1, Miller, Andy, and Mike Gulotta, PN generators using the SRL macro, Application Note APP211, Xilinx Inc, June 15, 2004.
評論