高速突發(fā)模式誤碼測試儀的FPGA實現(xiàn)方案
2 FPGA中邏輯功能模塊設(shè)計
作為實現(xiàn)突發(fā)模式誤碼測試儀的重要芯片,FPGA主要實現(xiàn)如下功能:
①發(fā)送端產(chǎn)生兩路高速的時分復(fù)用信號,這兩路信號要具有GPON上行數(shù)據(jù)包的特點,即32位保護時間,44位前導(dǎo)碼,20位定界符。
②接收部分將接收到的4位寬的數(shù)據(jù)并化為8位寬的數(shù)據(jù),并搜尋定界符將接收的數(shù)據(jù)進行邊界對齊。
③誤碼檢測器將接收到的邊界對齊后的數(shù)據(jù)與本地產(chǎn)生的偽隨機碼進行比對,僅對有效數(shù)據(jù)中出現(xiàn)的誤碼進行統(tǒng)計。
④同步檢測,失步后的重新同步。
圖2為FPGA中實現(xiàn)的主要邏輯功能模塊。
①控制信號譯碼器根據(jù)Microblaze微處理器通過GPIO_IN輸入的地址信息,將控制信息賦值給誤碼測試邏輯模塊相應(yīng)的控制信號。控制信息主要包括:包長度、保護時間長度、前導(dǎo)碼長度、碼型選擇、GTP屬性的DRP地址和值、時鐘合成芯片的控制信息等。
②狀態(tài)編碼器將誤碼測試模塊的狀態(tài)信息存儲映射到不同地址的GPIO_OUT上,然后傳送給Microblaze微處理器。輸出的狀態(tài)信息主要包括:誤碼比特數(shù)、接收到的總碼數(shù)、同步狀態(tài)、接收無信號等。
③碼型產(chǎn)生器模塊包含PRBS產(chǎn)生器和數(shù)據(jù)包頭產(chǎn)生器2個子模塊。PRBS產(chǎn)生器根據(jù)碼型選擇控制信號產(chǎn)生相應(yīng)碼型的8位寬度偽隨機序列,數(shù)據(jù)包頭產(chǎn)生器模擬GPON上行數(shù)據(jù)包包頭結(jié)構(gòu)的特點中產(chǎn)生類似前導(dǎo)碼和定界符的碼型。碼型產(chǎn)生器模塊還包含1個數(shù)據(jù)包封裝有限狀態(tài)機,它的主要作用是產(chǎn)生發(fā)送碼狀態(tài)的控制信號,將包頭數(shù)據(jù)、包間隔(保護時間)、CID(長連O/1)穿插在PRBS中以模擬GPON上行數(shù)據(jù)。包含兩路包信號的數(shù)據(jù)txdata在與包分離信號相與后,分離成兩路時分復(fù)用的信號txdata0和txdatal,時序如圖3所示。
④GTP0和GTPl為FPGA芯片的固核。它將低速的8位寬度的并行數(shù)據(jù)txdatal和txdata2串化為1路高速的串行數(shù)據(jù),可以通過修改GTP的DRP屬性來改變發(fā)送數(shù)據(jù)的速率。GTP還負責(zé)向發(fā)送端提供同步時鐘。
⑤數(shù)據(jù)重構(gòu)模塊將接收到的4位寬的數(shù)據(jù)并化為8位寬的數(shù)據(jù),并搜尋16位定界符將接收的數(shù)據(jù)進行邊界對齊。
⑥誤碼檢測器主要由1個本地偽隨機序列產(chǎn)生器、1個接收狀態(tài)機和1個同步檢測狀態(tài)機構(gòu)成。本地偽隨機序列產(chǎn)生器與發(fā)送端的隨機序列產(chǎn)生器階數(shù)和本原多項式相同,它生成的偽隨機數(shù)據(jù)與接收到的數(shù)據(jù)進行比對,對比的結(jié)果由誤碼計數(shù)器進行統(tǒng)計。接收狀態(tài)機根據(jù)定界符檢測信號和包長(包1或包2)計數(shù)器來判斷接收的數(shù)據(jù)是否為有效數(shù)據(jù),并生成一個有效數(shù)據(jù)指示信號。同步檢測狀態(tài)機根據(jù)比對結(jié)果判斷本地隨機序列產(chǎn)生器生成的數(shù)據(jù)與接收到的數(shù)據(jù)是否已經(jīng)同步,如果沒有同步,本地偽隨機序列產(chǎn)生器將從接收的數(shù)據(jù)中截取32位的連續(xù)信號作為其移位寄存器的初始值來產(chǎn)生后面的數(shù)據(jù)以重新同步(灌碼同步)。
⑦誤比特計數(shù)器用來統(tǒng)計誤比特數(shù),它僅對有效數(shù)據(jù)中出現(xiàn)的誤碼進行統(tǒng)計。接收字計數(shù)器用來統(tǒng)計接收到的有效數(shù)據(jù)字節(jié)數(shù)。
3 控制系統(tǒng)設(shè)計
本設(shè)計中使用Microblaze嵌入式軟核處理器來實現(xiàn)對誤碼測試儀邏輯部分的控制,控制部分的硬件框圖如圖4所示。GPIO1用于處理器與BERT核的通信;GPIO2與LED和撥碼開關(guān)相連,用于顯示狀態(tài)和板級控制誤碼測試儀;GPl03與LCD相連,將誤碼測試結(jié)果顯示于LCD上;count-er 64為64位寬的計數(shù)器,用于記時。UART通過RS232與電腦相連,讀取在PC上設(shè)定的控制信息并將誤碼測試結(jié)果和誤碼儀的狀態(tài)詳細地顯示在PC上。
評論