高速突發(fā)模式誤碼測試儀的FPGA實現(xiàn)方案
摘要:突發(fā)模式誤碼測試儀與一般連續(xù)誤碼測試儀不同,其接收端在誤碼比對前要實現(xiàn)在十幾位內(nèi),對具有相位跳變特點的信號進行時鐘提取和數(shù)據(jù)恢復,并且在誤碼比對時須濾除前導碼和定界符,僅對有效數(shù)據(jù)進行誤碼統(tǒng)計。本文提出一種基于FPGA實現(xiàn)的高速突發(fā)模式誤碼測試儀設(shè)計方案,并介紹該方案的總體設(shè)計過程,以及FPGA中主要功能邏輯模塊的工作原理和控制系統(tǒng)的設(shè)計。該測試儀應(yīng)用于1.25 GHz GPON系統(tǒng)突發(fā)式光接收模塊的誤碼測試中,具有較好的性能和實際意義。
關(guān)鍵詞:突發(fā)模式;誤碼測試儀;時鐘相位對齊;高速串行收發(fā)器
引言
無源光網(wǎng)絡(luò)PON以其獨特的優(yōu)勢在網(wǎng)絡(luò)中已經(jīng)規(guī)模化地應(yīng)用。由于GPON系統(tǒng)在現(xiàn)有PON系統(tǒng)中帶寬利用率最高,系統(tǒng)成本最低,且具有全業(yè)務(wù)支持能力,因此其前景被普遍看好,成為眾多電信運營商和設(shè)備制造商推崇的寬帶接入技術(shù)。
在GPON中,下行數(shù)據(jù)是以廣播形式發(fā)送的,上行數(shù)據(jù)由多個用戶終端按時分多址的方式發(fā)送的數(shù)據(jù)包組成。因傳輸路徑不同,各數(shù)據(jù)包有不同衰減,不同數(shù)據(jù)包相位間存在跳變,數(shù)據(jù)包中存在長連“1”、“0”,這些因素的影響使得OLT突發(fā)接收模塊接收的信號是特殊的突發(fā)光信號。對于上行的突發(fā)信號,OLT突發(fā)接收模塊不僅要從中恢復出幅值相等的信號,而且要消除相位突變,即完成時鐘和相位的對齊,因此OLT輸出的信號應(yīng)該為幅值相等且時鐘和相位對齊的電信號。本突發(fā)模式誤碼測試儀的作用是,準確地判斷被測的OLT突發(fā)接收模塊的完成幅值恢復響應(yīng)時間和其可靠性。
1 突發(fā)模式誤碼測試原理
與一般連續(xù)誤碼測試儀相同的是,突發(fā)誤碼測試儀也由發(fā)送和接收兩部分組成。發(fā)送部分發(fā)送可預知的信號作為測試信號來模擬實際信道中傳輸信號,并將該信號送到待測設(shè)備中;接收部分產(chǎn)生與發(fā)送部分相同的信號,用以和接收的信號逐位比對,并統(tǒng)計誤碼數(shù)和誤碼率。
與一般連續(xù)誤碼測試儀不同的是,突發(fā)誤碼測試儀發(fā)送部分發(fā)送的測試信號要模擬突發(fā)信號,即具有相位突變和幅度不均衡的特點。此外,接收部分要從接收到的可能存在相位跳變信號中準確地提取時鐘和恢復數(shù)據(jù)。
根據(jù)突發(fā)誤碼測試儀的特點,其總體設(shè)計框圖如圖1所示。
突發(fā)接收模塊(BMRx)是要測試的模塊。突發(fā)誤碼測試儀用FPGA邏輯來實現(xiàn)兩路時分復用(TDMA)數(shù)據(jù)的輸出,兩路數(shù)據(jù)先分別通過光可變衰減器不同幅度的衰減后,再經(jīng)過不同長度的光纖的時延,最后經(jīng)過光合路器合為1路信號輸出。光合路器的輸出數(shù)據(jù)近乎于實際GPON中的上行突發(fā)信號,且假定信號在經(jīng)過這些路徑后沒有出現(xiàn)誤碼。模擬的突發(fā)信號在經(jīng)過待測突發(fā)接收模塊后,經(jīng)過包分離電路提取1路包數(shù)據(jù)(ON-U#1或ONU#2),該路包數(shù)據(jù)最后經(jīng)過突發(fā)模式時鐘數(shù)據(jù)恢復芯片提取出時鐘和4路并行數(shù)據(jù)。FPGA將提取的時鐘作為誤碼比對的源時鐘,并將4路并行數(shù)據(jù)重構(gòu)造后與本地產(chǎn)生的數(shù)據(jù)進行比對,統(tǒng)計誤碼。[!--empirenews.page--]
2 FPGA中邏輯功能模塊設(shè)計
作為實現(xiàn)突發(fā)模式誤碼測試儀的重要芯片,F(xiàn)PGA主要實現(xiàn)如下功能:
①發(fā)送端產(chǎn)生兩路高速的時分復用信號,這兩路信號要具有GPON上行數(shù)據(jù)包的特點,即32位保護時間,44位前導碼,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)的控制信號??刂菩畔⒅饕ǎ喊L度、保護時間長度、前導碼長度、碼型選擇、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)生類似前導碼和定界符的碼型。碼型產(chǎn)生器模塊還包含1個數(shù)據(jù)包封裝有限狀態(tài)機,它的主要作用是產(chǎn)生發(fā)送碼狀態(tài)的控制信號,將包頭數(shù)據(jù)、包間隔(保護時間)、CID(長連O/1)穿插在PRBS中以模擬GPON上行數(shù)據(jù)。包含兩路包信號的數(shù)據(jù)txdata在與包分離信號相與后,分離成兩路時分復用的信號txdata0和txdatal,時序如圖3所示。
④GTP0和GTPl為FPGA芯片的固核。它將低速的8位寬度的并行數(shù)據(jù)txdatal和txdata2串化為1路高速的串行數(shù)據(jù),可以通過修改GTP的DRP屬性來改變發(fā)送數(shù)據(jù)的速率。GTP還負責向發(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上。
[!--empirenews.page--]
控制程序包含的函數(shù)主要有GPIO驅(qū)動、UART驅(qū)動、LCD驅(qū)動、GTP DRP屬性的讀改寫函數(shù)、BERT的控制和狀態(tài)讀取函數(shù)、誤碼率計算函數(shù)、主函數(shù)等。主函數(shù)提供一個用戶與誤碼測試儀交互的平臺,其流程如圖5所示。
在上電或復位后,系統(tǒng)初始化LCD和UART,并加載上次保存的用戶設(shè)置以初始化BERT。然后進入主菜單,主菜單上可以通過選擇相應(yīng)選項進入相應(yīng)的操作。通過讀取誤碼測試加載的上次保存的用戶設(shè)置,核對本次用戶需要的設(shè)置是否與上次保存的設(shè)置相同,如果不同可以返回主菜單,從主菜單進入相應(yīng)的設(shè)置操作,進行參數(shù)的修改。修改完畢后,如果用戶要保存本次設(shè)置,可以進行保存再返回主界面;如果不需要保存,則直接返回主界面。從主界面上可以選擇誤碼測試顯示進入誤碼測試結(jié)果顯示界面,在顯示誤碼測試結(jié)果前,控制程序會先進行計算誤碼率,以保證實時顯示誤碼測試結(jié)果。
4 系統(tǒng)驗證與設(shè)計總結(jié)
為了驗證系統(tǒng)的性能,分別用該儀器做了自環(huán)測試和對1.25 GHz GPON系統(tǒng)突發(fā)式光接收模塊的誤碼測試。在自環(huán)測試中,發(fā)送的數(shù)據(jù)不通過光路直接送到BMCDR的接收端。測試結(jié)果表明,在電信號信道中誤碼測試系統(tǒng)自身不會誤碼。在對1.25 GHz GPON系統(tǒng)突發(fā)式光接收模塊測試過程中,采用兩個步驟的測試。步驟1中,按圖1連接誤碼測試系統(tǒng),兩路數(shù)據(jù)包信號0UN#1和0UN#2都不經(jīng)過可變光衰減器的衰減,經(jīng)光合路器合路后的光信號中所有包信號幅值一致,用以驗證誤碼測試系統(tǒng)光路中是否產(chǎn)生誤碼,實驗結(jié)果同樣驗證了誤碼測試系統(tǒng)自身不會產(chǎn)生誤碼。步驟2中,對一路數(shù)據(jù)包信號進行不同幅度的衰減,使光合路器輸出的光信號存在幅值的跳變,并在兩路數(shù)據(jù)包信號存在不同幅值跳變的情況下,分別測試突發(fā)式光接收模塊的誤碼性能。試驗中使用的被測突發(fā)式光接收模塊強包弱包幅度相差20 dB,保護時間為32位,速率為1.248 8 Gbps的情況下誤碼率低于10-12。,說明此誤碼測試系統(tǒng)具有較好的性能。