孫述桂 張騫
【摘要】 為完成對(duì)某型號(hào)SDH設(shè)備、PDH設(shè)備光接口狀態(tài)的檢測,提出了一種利用FPGA技術(shù)實(shí)現(xiàn)PDH、STM- 1、STM- 4光接口全集成的測試方案。
【關(guān)鍵詞】 1B1H編解碼 PRBS MSTP
一、前言
當(dāng)前,隨著光纖通信技術(shù)的飛速發(fā)展,SDH、MSTP設(shè)備在城域網(wǎng)、電信網(wǎng)等領(lǐng)域發(fā)揮著重要的作用。同時(shí),鑒于歷史因素,以前搭建的光纖傳輸網(wǎng)絡(luò)中仍然有部分PDH設(shè)備。且SDH、MSTP設(shè)備成本較高,帶寬利用率相對(duì)較小,所有在傳輸帶寬要求不高的光通信傳輸網(wǎng)絡(luò)中,PDH還在發(fā)揮著作用。本文提出了一種能夠測試指定廠商生產(chǎn)的PDH光接口和標(biāo)準(zhǔn)STM-1、STM-4光接口的通用光數(shù)據(jù)分析儀的解決方案。
二、硬件設(shè)計(jì)
硬件總體設(shè)計(jì)如圖 1所示。
如圖,測試儀的光接口接收方向經(jīng)一2×2電平交叉開關(guān)芯片的輸入,電平交叉開關(guān)芯片的輸出一路直接進(jìn)入FPGA,另外一路則連接到E1映射/解映射集成電路上。同理,光接口發(fā)送方向硬件連接與接收方向類似。通過FPGA控制電平交叉開關(guān)芯片的選通引腳,可實(shí)現(xiàn)光接口在FPGA和E1映射/解映射芯片之間的切換,也就是光接口在PDH和SDH之間的類型切換,這樣設(shè)計(jì)節(jié)約了硬件開銷。
為了對(duì)集成電路進(jìn)行配置和提供可視化界面,測試儀采用一顆32位的嵌入式CPU芯片,實(shí)現(xiàn)顯示屏的顯示和按鍵的掃描。同時(shí)提供了一個(gè)串口用于測試儀軟件的升級(jí)和維護(hù)。
三、軟件設(shè)計(jì)
本設(shè)計(jì)軟件部分由FPGA模塊、CPU底層2部分組成。FPGA模塊
FPGA模塊主要有兩個(gè)功能,一是實(shí)現(xiàn)PDH的E1信號(hào)復(fù)用和解復(fù)用、1B1H編解碼;二是實(shí)現(xiàn)E1信號(hào)的HDB3編解碼;三是實(shí)現(xiàn)PRBS的插入與誤碼檢測。
PRBS 插入與誤碼檢測
本設(shè)計(jì)使用的PRBS(偽隨機(jī)序列)速率為標(biāo)準(zhǔn)2.048Mb/ s,速率等級(jí)采用215-1,相位“正”、“反”可選。檢測部分電路采用幀頭檢測法,在偽隨機(jī)序列中插入固定的幀頭“0011011”,這也是PCM標(biāo)準(zhǔn)幀頭,在接收端通過檢測幀頭信號(hào)實(shí)現(xiàn)同步,當(dāng)連續(xù)16次在正確位置檢測到幀頭信號(hào)則認(rèn)為幀同步,當(dāng)幀同步后,將信號(hào)送入比較器,比較器本地生成一個(gè)與發(fā)送PRBS模塊一樣的PRBS,并將本地PRBS序列和同步后的信號(hào)進(jìn)行比較,以1024個(gè)bit為一個(gè)比較序列,設(shè)置數(shù)據(jù)正確指示信號(hào),用于指示當(dāng)前比較的結(jié)果。另外設(shè)置誤碼計(jì)數(shù)器,用于存儲(chǔ)錯(cuò)誤發(fā)生時(shí),產(chǎn)生的誤碼bit數(shù)。
E1信號(hào)成幀
本設(shè)計(jì)將PRBS封裝到標(biāo)準(zhǔn)的E1信號(hào),復(fù)用進(jìn)PDH光通道中,或映射到SDH的VC-12中。從而實(shí)現(xiàn)PDH光通道的性能監(jiān)控和對(duì)SDH低階支路狀態(tài)的監(jiān)控。通常,E1有5種幀格式:非成幀、PCM30、PCM30CRC、PCM31、PCM31CRC。對(duì)這5種幀格式,本設(shè)計(jì)做了較為靈活的處理,將設(shè)計(jì)主要分成3個(gè)通用模塊:幀頭生成電路、復(fù)幀生成電路、CRC校驗(yàn)電路。對(duì)這三個(gè)模塊進(jìn)行簡單的配置,即可實(shí)現(xiàn)相應(yīng)的幀格式。
HDB3編解碼
在二進(jìn)制消息代碼序列中,HDB3碼的編碼規(guī)則:
(1)當(dāng)連“0”的數(shù)量不大于3時(shí),HDB3編碼規(guī)律與AMI碼相同;(2)當(dāng)出現(xiàn)4個(gè)或超過4個(gè)連“0”時(shí),將每4連“0”小段的第4個(gè)0變換成與前一非0符號(hào)(+1或-1)同極性的符號(hào),用“V”脈沖表示,以破壞AMI碼極性交替規(guī)律.所以,“V”脈沖稱為破壞脈沖,“V”脈沖和前3個(gè)連“0”(“000V”)稱為破壞節(jié);(3)為了使脈沖序列不含直流分量,必須使相鄰的破壞點(diǎn)V脈沖極性也交替;(4)當(dāng)相鄰V符號(hào)之間有奇數(shù)個(gè)非0符號(hào)時(shí),能保證(2)和(3)條件成立;當(dāng)有偶數(shù)個(gè)非0符號(hào)時(shí),則得不到保證,這時(shí)應(yīng)將該小段的第1個(gè)“0”變換成“+B”或“-B”,B符號(hào)的極性與前一非0符號(hào)相反,并讓后面的非0符號(hào)從V符號(hào)開始再交替變化[1]。本設(shè)計(jì)采用D觸發(fā)器和與門、或門等門級(jí)電路實(shí)現(xiàn)HDB3編碼和解碼。
1B1H編解碼
1B1H碼:把B1~B4、H1~H4交替按順序編排,以同步復(fù)接方式形成線路碼流。碼速率約為68Mb/s,B1-B4各傳輸120個(gè)話路,H1、H3各傳輸120個(gè)話路,H2可傳輸60或90個(gè)話路,因此1B1H線路碼可傳輸780至810個(gè)話路。比普通(34Mb/s)多傳輸330個(gè)話路,傳輸速率提高了一倍。電路簡單,最大連“0”、“1”為4,具有良好的傳輸特性,可靠性高,誤碼檢測精度高,缺點(diǎn)是碼速率提升大,靈敏度代價(jià)高。
1B1H幀結(jié)構(gòu)如下:
圖 2 1B1H碼結(jié)構(gòu)
本設(shè)計(jì)編解碼模塊采用讀寫脈沖速率差異的方法實(shí)現(xiàn)H碼的插入。讀出脈沖速率比寫入脈沖速率高,這樣B碼分組后出現(xiàn)多余的空位,在此多余空位插入H碼。
軟件設(shè)計(jì)框圖如圖 3、圖 4所示。
CPU底層程序設(shè)計(jì)
CPU底層程序主要由以下模塊組成: 顯示控制模塊、按鍵掃描模塊、性能監(jiān)控模塊。
本設(shè)計(jì)采用了一個(gè)65K色的TFT顯示屏,顯示屏通信方式為串口,顯示屏與CPU之間數(shù)據(jù)吞吐量較大,因此底層軟件設(shè)計(jì)了一個(gè)環(huán)形緩沖器,環(huán)形緩沖器定長256byte。另外,為矩陣鍵盤設(shè)計(jì)了一個(gè)專門的掃描算法,設(shè)計(jì)了一個(gè)狀態(tài)機(jī),將正確的按鍵路徑存儲(chǔ)在一個(gè)查找表中,狀態(tài)機(jī)根據(jù)查找表的內(nèi)容做出相應(yīng)的操作或者提示。同時(shí)查找表中有無效操作項(xiàng),當(dāng)用戶采用了無效操作后,給出提示,讓用戶重新操作。
底層軟件設(shè)計(jì)了一個(gè)性能監(jiān)控模塊,創(chuàng)建了一個(gè)告警監(jiān)控任務(wù),該任務(wù)即時(shí)監(jiān)控FPGA送出的當(dāng)前E1信道上的誤碼情況,從而實(shí)現(xiàn)對(duì)PDH光口和SDH光口低階的監(jiān)控。FPGA同時(shí)將E2復(fù)用和1B1H編解碼的信道誤碼和告警報(bào)告給CPU,由CPU顯示控制。為了監(jiān)控SDH再生段、復(fù)用段誤碼情況,底層軟件創(chuàng)建了一個(gè)分析任務(wù),讀取E1映射/解映射芯片的B1、B2字節(jié),通過B1、B2字節(jié)的情況判斷當(dāng)前光接口再生段、復(fù)用段是否誤碼。
底層軟件設(shè)計(jì)了一個(gè)SDH開銷字節(jié)監(jiān)控模塊,并在顯示屏上設(shè)計(jì)了一個(gè)可視化窗體,用于顯示當(dāng)前SDH開銷字節(jié)的具體值,并能通過可視化窗體向被測設(shè)備開銷字節(jié)中插入數(shù)值。
四、總結(jié)
本設(shè)計(jì)提出的光數(shù)據(jù)分析儀解決方案完美的將對(duì)PDH設(shè)備光接口和SDH設(shè)備光接口的測試功能集成在了一個(gè)體積小巧、功耗較低的便攜式儀器上。設(shè)計(jì)完成的樣機(jī)有美觀簡潔的可視化窗體和靈活的功能按鍵,這使儀器具有很高的操作性。
參考文獻(xiàn)
[1]徐進(jìn) 一種基于VHDL的HDB3碼編碼器的設(shè)計(jì)技術(shù)[J/OL].《電子工程師》,2008:1[2013.1.6]