《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的數(shù)字直放站鏈路切換設計
基于FPGA的數(shù)字直放站鏈路切換設計
2015年微型機與應用第18期
俞沁璐,趙 霞
(同濟大學 電子與信息工程學院,上海 201804)
摘要: 針對數(shù)字光纖直放站系統(tǒng)的遠端單元給出了一種簡單高效的鏈路切換設計方案。首先對通信鏈路進行檢測,其次切換同步時鐘,最后改變物理接口與上下行數(shù)據(jù)的映射關(guān)系,并使用FPGA進行實現(xiàn)。實驗平臺測試表明,在光纖故障和設備故障等通信鏈路故障時,通過鏈路切換實現(xiàn)了環(huán)網(wǎng)自愈,系統(tǒng)組網(wǎng)更為靈活,大大提高了系統(tǒng)的可靠性,可應用于安全性要求高的場合。
Abstract:
Key words :

  摘  要: 針對數(shù)字光纖直放站系統(tǒng)的遠端單元給出了一種簡單高效的鏈路切換設計方案。首先對通信鏈路進行檢測,其次切換同步時鐘,最后改變物理接口與上下行數(shù)據(jù)的映射關(guān)系,并使用FPGA進行實現(xiàn)。實驗平臺測試表明,在光纖故障和設備故障等通信鏈路故障時,通過鏈路切換實現(xiàn)了環(huán)網(wǎng)自愈,系統(tǒng)組網(wǎng)更為靈活,大大提高了系統(tǒng)的可靠性,可應用于安全性要求高的場合。

  關(guān)鍵詞數(shù)字直放站;環(huán)網(wǎng);鏈路切換;FPGA

0 引言

  近年來,數(shù)字光纖直放站在無線信號補盲方面應用廣泛。實際應用中,數(shù)字光纖直放站系統(tǒng)常以靈活的組網(wǎng)方式來降低投資成本,增大信號覆蓋面積。數(shù)字光纖直放站系統(tǒng)中的近端機與遠端機(RU Remote Unit)主要的組網(wǎng)方式有星形組網(wǎng)、鏈形組網(wǎng)和環(huán)形組網(wǎng)。星形組網(wǎng)方式簡單,適用于信號圓形覆蓋場合,在狹長型地帶則利用率不高。鏈形組網(wǎng)通過級聯(lián)方式能夠適用于狹長地帶的覆蓋,但是如果鏈路中某級設備發(fā)生故障或者某段光纖發(fā)生故障,會導致故障節(jié)點后級設備無法正常工作[1]。以上兩種組網(wǎng)方式都不適用于可靠性要求高的領(lǐng)域,如鐵路通信系統(tǒng)。環(huán)形組網(wǎng)能夠通過切換倒換等方式進行故障鏈路的通信恢復,保證了通信的實時性和可靠性,可以適用于安全性要求高的領(lǐng)域。

  目前,環(huán)形組網(wǎng)故障自愈實現(xiàn)有以下幾種方式:參考文獻[2]介紹了光纖切換保護系統(tǒng),通過備份光纖鏈路來保護通信鏈路,當工作鏈路出現(xiàn)故障時切換到備份光纖鏈路,但不能解決因為設備掉電等故障導致通信故障的問題。參考文獻[3]提出基于系統(tǒng)拓撲的環(huán)網(wǎng)自愈,通過近端機輪詢當前系統(tǒng)中RU的狀態(tài)來更新當前拓撲信息,但不能及時發(fā)現(xiàn)鏈路中的故障,同時占用較多的系統(tǒng)資源。參考文獻[4]提出基于設備端口鏈路切換的機制,由故障節(jié)點前級設備上報相關(guān)告警信息,再由近端機重新發(fā)起拓撲確認信息對故障后級設備進行建鏈。

  為了實時監(jiān)控環(huán)網(wǎng)中故障節(jié)點,由RU對通信鏈路進行檢測是必要的,通過RU及時上報自身鏈路狀態(tài)可進一步縮短環(huán)網(wǎng)自愈時間。本文主要針對RU設計了一種基于FPGA的簡易高效端口鏈路切換方法,實時監(jiān)測鏈路狀態(tài)以及時發(fā)現(xiàn)故障節(jié)點,通過映射建立物理光口和上下行數(shù)據(jù)流的對應關(guān)系,使實際組網(wǎng)更為簡單靈活。

1 環(huán)網(wǎng)自愈工作原理

  1.1 環(huán)網(wǎng)自愈

001.jpg

  當環(huán)形網(wǎng)絡中某個RU出現(xiàn)故障或者光纖斷鏈,該級RU的前級與后級RU能檢測到故障,并根據(jù)本機的鏈接情況自動判斷是否切換上下行鏈路端口。環(huán)網(wǎng)斷鏈自動切換鏈路端口保證了環(huán)網(wǎng)中除去故障節(jié)點外的其他節(jié)點能夠正常工作。以圖1的環(huán)形組網(wǎng)方式為例,如圖1(a)所示,下行數(shù)據(jù)流方向為近端機-RU0-RU1-RU2-RU3-RU4-RU5,如果RU1和RU2中間的光纖發(fā)生斷鏈故障,此時RU2及之后的設備應自動倒換端口,網(wǎng)絡拓撲分裂為兩條鏈型拓撲,數(shù)據(jù)流方向分別為近端機-RU0-RU1和近端機-RU5-RU4-RU3-RU2(圖1(b))。為了實現(xiàn)上述機制,系統(tǒng)中RU接收發(fā)送的上下行數(shù)據(jù)與物理光口之間并不是一一對應關(guān)系,本文將接收系統(tǒng)下行數(shù)據(jù)且恢復接收時鐘作為系統(tǒng)參考時鐘的物理光口定義為邏輯主口,接收上行數(shù)據(jù)的物理光口定義為邏輯從口。

  1.2 時鐘同步機制

  為了保證系統(tǒng)的正常工作,系統(tǒng)無線數(shù)據(jù)收發(fā)正確,RU與近端機之間需要進行時鐘同步。RU通過CDR(Clock Data Recovery)技術(shù)從近端機或上一級RU傳送過來的光纖數(shù)據(jù)中恢復出接收時鐘,并將接收時鐘送入RU時鐘電路做時鐘參考。在時鐘電路中,本地晶振時鐘由壓控晶體振蕩器產(chǎn)生,通過鎖相環(huán)與接收時鐘完成同步鎖定,鎖定后的時鐘為RU的工作時鐘。RU恢復的接收時鐘是時鐘同步的核心,也是RU是否正常工作的基礎。

  1.3 鏈路切換機制

  為了適應各種組網(wǎng)方式,降低系統(tǒng)功耗,減少系統(tǒng)的資源消耗,本文設計的鏈路切換機制可根據(jù)系統(tǒng)的組網(wǎng)方式進行自適應調(diào)整。當系統(tǒng)組網(wǎng)為非環(huán)形網(wǎng)絡時,該模式下RU對接收到的近端機切換信令視為無效信息,不進行參考時鐘與底層數(shù)據(jù)流間的切換。當系統(tǒng)組網(wǎng)為環(huán)形網(wǎng)絡時,RU通過光功率檢測信號和幀丟失信號來監(jiān)測當前邏輯主口的光路狀態(tài)。當監(jiān)測到邏輯主口光路狀態(tài)異常時,邏輯主從口同時關(guān)閉停止發(fā)送數(shù)據(jù)。其次,將本地參考時鐘切換到另一物理光口的接收恢復時鐘。待保護時間過后重新對光路狀態(tài)進行監(jiān)測,當光路狀態(tài)正常后,交換RU的邏輯主從口,并由當前邏輯主口向近端機上報鏈路切換告警。

2 FPGA鏈路切換設計

  本系統(tǒng)使用的是Xilinx公司的FPGA Spartan6芯片xc6vlx75T[5],軟件平臺為Xilinx公司提供的ISE14.7開發(fā)工具,使用的硬件描述語言是Verilog。FPGA實現(xiàn)環(huán)網(wǎng)自愈的鏈路切換單元主要由控制模塊、GTP模塊、檢測模塊、時鐘選擇模塊、數(shù)據(jù)映射模塊等組成,如圖2所示??刂颇K完成環(huán)網(wǎng)切換狀態(tài)機,對整個環(huán)路光纖鏈路的檢測和切換進行控制。GTP模塊完成物理光口接收時鐘和光纖數(shù)據(jù)的恢復。檢測模塊完成對端口光纖鏈路狀態(tài)的監(jiān)測。時鐘選擇模塊實現(xiàn)遠端機參考時鐘的選擇和切換。數(shù)據(jù)映射模塊完成物理光口數(shù)據(jù)和邏輯主從口數(shù)據(jù)的映射。

002.jpg

  2.1 GTP模塊

  FPGA Spartan6系列芯片集成了低功耗、高數(shù)據(jù)收發(fā)的GTP收發(fā)器[6],GTP工作范圍為614 Mb/s~3.125 Gb/s,支持收發(fā)雙向,且收發(fā)獨立;本設計中使用了GTP硬核來完成物理光口的數(shù)據(jù)接收與發(fā)送。調(diào)用GTP核時,選擇線速率為2.457 6 Gb/s,選擇8 B/10 B編碼,數(shù)據(jù)位寬16 bit。GTP將接收到的數(shù)據(jù)解碼恢復送入映射模塊,同時將映射模塊的數(shù)據(jù)進行編碼后發(fā)送。此外,GTP還將恢復的接收時鐘送入時鐘選擇模塊。

  2.2 控制模塊

  控制模塊產(chǎn)生鏈路切換動作的控制信號。狀態(tài)機當前狀態(tài)指示信號和鏈路切換控制信號輸出送給時鐘選擇、GTP模塊和數(shù)據(jù)映射模塊??刂茽顟B(tài)機由檢測模塊的監(jiān)測信號和GTP模塊的復位完成指示信號來啟動、遷移和終止。控制狀態(tài)機有8個狀態(tài),狀態(tài)機的遷移圖如圖3所示。狀態(tài)機初始狀態(tài)為空閑(IDLE),在環(huán)網(wǎng)模式時受上位機配置信令和監(jiān)測信號驅(qū)動。如果接收到上位機配置的切換信令或監(jiān)測端口鏈路異常,狀態(tài)遷移至映射靜默狀態(tài)(MAP_SILENCE),該狀態(tài)下邏輯主從口關(guān)閉數(shù)據(jù)的接收與發(fā)送通道。隨后狀態(tài)遷移至時鐘切換狀態(tài)(CLK_SWITCH),此狀態(tài)下時鐘接口模塊完成參考時鐘的切換,控制時鐘切換信號selrefclk0取反。接著狀態(tài)遷移至失鎖恢復等待狀態(tài)(WAIT_LOF),考慮到光纖的傳輸時延防止RU之間時鐘互鎖,因此在該狀態(tài)下加入保護時間:當?shù)却龝r間達到0.1 s后再進行失鎖狀態(tài)監(jiān)測;如果參考時鐘端口失鎖指示正常,則進入映射更改狀態(tài)(MAP_CHANGE),否則,超時返回MAP_SILENCE。MAP_CHANGE狀態(tài)的下一狀態(tài)為GTP接收復位狀態(tài)(RST_SRX),該狀態(tài)下對GTP模塊的接收單元進行復位,當接收到復位完成信號后,狀態(tài)遷移至切換結(jié)束狀態(tài)(SWITCH_OVER)。最后,狀態(tài)遷移至IDLE。

  2.3 時鐘選擇模塊

  RU兩個物理光口恢復的接收時鐘獨立,為了完成底層的時鐘切換以及保證本地時鐘工作正常,通過全局緩存選擇器(BUFGMUX)選擇本地時鐘的參考輸入[7]。selrefclk0是由控制模塊產(chǎn)生的BUFGMUX選擇信號。當selrefclk0信號為1時,BUFGMUX輸出的時鐘為物理光口0接收恢復時鐘,反之為物理光口1接收恢復時鐘。

  2.4 數(shù)據(jù)映射模塊

004.jpg

  系統(tǒng)中,RU的主口與前一級設備(如近端機)鏈接,接收系統(tǒng)下行數(shù)據(jù),并發(fā)送上行數(shù)據(jù);從口與后一級設備連接,轉(zhuǎn)發(fā)主口接收的下行數(shù)據(jù),接收后級設備發(fā)送的上行數(shù)據(jù)。RU數(shù)據(jù)收發(fā)接口結(jié)構(gòu)示意如圖4所示。由于邏輯主口和邏輯從口的接口數(shù)據(jù)差異性,需要獨立設計。為了簡化設計,降低模塊內(nèi)部耦合度,設計中將邏輯主口與邏輯從口封裝成核,留出數(shù)據(jù)接口,與GTP接口之間通過數(shù)據(jù)映射模塊來完成數(shù)據(jù)流的對應關(guān)系。若當前控制模塊的控制狀態(tài)遷移為MAP_CHANGE時,根據(jù)selrefclk0信號狀態(tài)更改映射狀態(tài)信號Cur_mapping_state,由該狀態(tài)信號決定物理光口和邏輯主從口之間數(shù)據(jù)映射關(guān)系。

  2.5 監(jiān)測模塊

  一般在板間通信中,接收端在接收時,首先進行鏈路同步操作以保證之后的通信工作正常。系統(tǒng)中RU與近端機之間的通信協(xié)議使用了cpri協(xié)議[8],當RU與近端機之間為同步狀態(tài)時,幀丟失信號LOF為0。若通信過程中接收的數(shù)據(jù)出現(xiàn)錯誤,同步狀態(tài)無效,LOF信號為1。FPGA外部電路提供了光模塊檢測信號丟失信息SFP_LOS和光模塊在位信號SFP_PST。因此將邏輯主口的上述三個信號作為檢測端口鏈路是否正常的判斷條件,即每次控制狀態(tài)機進入檢測狀態(tài)時,都對邏輯主口所對應物理端口的相關(guān)信號進行監(jiān)聽,當任意信號的翻轉(zhuǎn)邊沿被觸發(fā)時,輸出detect_sync信號到控制模塊。

3 實驗驗證

005.jpg

  測試平臺包括軟件平臺和硬件平臺。軟件平臺為直放站系統(tǒng)上位機調(diào)試軟件和計算機串口通信軟件。硬件平臺包括一臺數(shù)字直放站近端機、4臺RU設備以及PC,測試平臺實物圖如圖5所示。其中近端機有4個光口,RU有2個光口。RU_2通過光纖接入近端機3號光口,RU_3通過光纖與RU_2級聯(lián);RU_31的0號光口通過光纖與近端機4號光口連接,1號光口與RU_4通過光纖級聯(lián)。RU_4的1號光口與RU_3的1號光口通過光纖連接。PC接入近端機上的調(diào)試網(wǎng)口和RS232串口,通過上位機軟件遠程控制近端機和RU并讀取拓撲信息。為了獲得可靠準確的結(jié)果,通過上位機軟件讀取系統(tǒng)的拓撲結(jié)構(gòu),RS232串口打印CPU通信消息隊列輔助分析測試結(jié)果。

006.jpg

  測試初始的系統(tǒng)拓撲如圖6(a)所示,系統(tǒng)分配RU_2的設備號為2,RU_3的設備號為3,由近端機3號光口管控;系統(tǒng)分配RU_4的設備號為4,RU_31的設備號為31,由近端機4號光口管控;上位機軟件表示當前系統(tǒng)物理實際拓撲為環(huán)形,顯示為“光口3_4/光口4_3”,3號光口和4號光口是環(huán)形拓撲的兩個節(jié)點,但是邏輯拓撲兩條鏈型;如果物理拓撲結(jié)構(gòu)是鏈形則顯示為“光口3_3(X)/光口4_4(X)”,(X)表示管控的RU設備數(shù)目。

  測試用例1:斷開RU_31和RU_4間的光纖。

  理論結(jié)果:近端機光口4管控鏈形拓撲中的末級RU_4發(fā)生鏈路切換,級聯(lián)至RU_3,成為光口3所管控的鏈形末級設備。故障節(jié)點前級RU_31不發(fā)生改變。系統(tǒng)物理拓撲為一條鏈形和一個星形。

  實際結(jié)果:RS232串口打印結(jié)果顯示鏈路中出現(xiàn)故障,上報故障節(jié)點的設備ID為31即為RU_31,且收到設備ID號為4的鏈路方向調(diào)轉(zhuǎn)指示告警,如圖6(b)所示;上位機軟件顯示當前拓撲為兩條鏈形,近端機3號光口管控3臺RU,分別為RU_2、RU_3和RU_4;4號光口管控一臺RU_31,如圖6(c)所示。測試結(jié)果與理論結(jié)果一致。

  恢復RU_31與RU_4之間的鏈路,此時拓撲由鏈形拓撲更新為環(huán)形拓撲。

  測試用例2:RU_3掉電。

  理論結(jié)果:RU_4發(fā)生鏈路切換,RU_4級聯(lián)到RU_31。近端機光口4管控的拓撲由星形變?yōu)?級RU級聯(lián)的鏈形拓撲。故障節(jié)點前級RU_2不發(fā)生改變。系統(tǒng)物理拓撲更新后只有3臺RU設備,即RU_2、RU_31和RU_4。

  實際結(jié)果:RS232串口打印結(jié)果顯示上報故障節(jié)點的設備ID為2,且收到設備ID為4的鏈路切換指示告警;上位機軟件顯示當前拓撲為一條鏈形和一個星形,近端機3號光口管控RU_2,4號光口管控RU_31和RU_4。測試結(jié)果與理論結(jié)果一致。

  實際測試結(jié)果表明,系統(tǒng)在光纖故障和設備故障時能定位故障節(jié)點,并進行相應的切換,上位機監(jiān)控的系統(tǒng)拓撲結(jié)構(gòu)與實際拓撲一致。

4 結(jié)論

  鏈路切換是環(huán)網(wǎng)自愈的重要組成部分,本文介紹了一種基于FPGA的鏈路切換設計方案。該方案在通信鏈路出現(xiàn)光纖故障或設備故障等問題時,可及時檢測到故障節(jié)點并實現(xiàn)自動切換鏈路,保證了系統(tǒng)正常通信不受影響,提高了系統(tǒng)穩(wěn)定性;通過邏輯映射對物理接口與邏輯接口進行數(shù)據(jù)映射,設計簡便,系統(tǒng)組網(wǎng)也更為靈活。通過實驗驗證了該方案可大大提高系統(tǒng)的可靠性,有重要應用價值。

  參考文獻

  [1] 陳禮波,覃寧,張怡.BBU+RRU分布式基站傳輸組網(wǎng)建設探討[C].四川省通信學會2014年學術(shù)年會論文集,2014.

  [2] 黃朋.光纖自動切換保護系統(tǒng)的控制系統(tǒng)實現(xiàn)[D].北京:北京郵電大學,2010.

  [3] 深圳市零一通信技術(shù)有限公司.在數(shù)字光纖直放站中自適應組網(wǎng)的方法[P].中國:CN102497234A.2011-12-07.

  [4] 奧維通信股份有限公司.可環(huán)形組網(wǎng)自愈的數(shù)字光纖直放站系統(tǒng)及其數(shù)據(jù)通信方法[P].中國:CN101902281A.2010-12-01.

  [5] Xilinx, Inc. Spartan-6 Family overview,DS160(v2.0) [DB/OL]. (2011-10-25)[2015-04-20].http://www.xilinx.com/.

  [6] Xilin, Inc. Spartan-6FPGA GTP Trsansceivers,UG386(v2.2)[DB/OL].(2010-4-30)[2015-04-20].http://www.xilinx.com/.

  [7] 宋威,方穗明.基于BUFGMUX與DCM的FPGA時鐘電路設計[J].現(xiàn)代電子技術(shù),2006,29(2):141-143.

  [8] Cpri. CPRI Specification V5.0[DB/OL].(2011-09-21)[2015-04-20]. http://www.cpri.info/.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。