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

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

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

0 引言

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

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

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

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

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

001.jpg

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

  1.2 時鐘同步機(jī)制

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

  1.3 鏈路切換機(jī)制

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

2 FPGA鏈路切換設(shè)計

  本系統(tǒng)使用的是Xilinx公司的FPGA Spartan6芯片xc6vlx75T[5],軟件平臺為Xilinx公司提供的ISE14.7開發(fā)工具,使用的硬件描述語言是Verilog。FPGA實現(xiàn)環(huán)網(wǎng)自愈的鏈路切換單元主要由控制模塊、GTP模塊、檢測模塊、時鐘選擇模塊、數(shù)據(jù)映射模塊等組成,如圖2所示。控制模塊完成環(huán)網(wǎng)切換狀態(tài)機(jī),對整個環(huán)路光纖鏈路的檢測和切換進(jìn)行控制。GTP模塊完成物理光口接收時鐘和光纖數(shù)據(jù)的恢復(fù)。檢測模塊完成對端口光纖鏈路狀態(tài)的監(jiān)測。時鐘選擇模塊實現(xiàn)遠(yuǎn)端機(jī)參考時鐘的選擇和切換。數(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ā)獨立;本設(shè)計中使用了GTP硬核來完成物理光口的數(shù)據(jù)接收與發(fā)送。調(diào)用GTP核時,選擇線速率為2.457 6 Gb/s,選擇8 B/10 B編碼,數(shù)據(jù)位寬16 bit。GTP將接收到的數(shù)據(jù)解碼恢復(fù)送入映射模塊,同時將映射模塊的數(shù)據(jù)進(jìn)行編碼后發(fā)送。此外,GTP還將恢復(fù)的接收時鐘送入時鐘選擇模塊。

  2.2 控制模塊

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

  2.3 時鐘選擇模塊

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

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

004.jpg

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

  2.5 監(jiān)測模塊

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

3 實驗驗證

005.jpg

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

006.jpg

  測試初始的系統(tǒng)拓?fù)淙鐖D6(a)所示,系統(tǒng)分配RU_2的設(shè)備號為2,RU_3的設(shè)備號為3,由近端機(jī)3號光口管控;系統(tǒng)分配RU_4的設(shè)備號為4,RU_31的設(shè)備號為31,由近端機(jī)4號光口管控;上位機(jī)軟件表示當(dāng)前系統(tǒng)物理實際拓?fù)錇榄h(huán)形,顯示為“光口3_4/光口4_3”,3號光口和4號光口是環(huán)形拓?fù)涞膬蓚€節(jié)點,但是邏輯拓?fù)鋬蓷l鏈型;如果物理拓?fù)浣Y(jié)構(gòu)是鏈形則顯示為“光口3_3(X)/光口4_4(X)”,(X)表示管控的RU設(shè)備數(shù)目。

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

  理論結(jié)果:近端機(jī)光口4管控鏈形拓?fù)渲械哪┘塕U_4發(fā)生鏈路切換,級聯(lián)至RU_3,成為光口3所管控的鏈形末級設(shè)備。故障節(jié)點前級RU_31不發(fā)生改變。系統(tǒng)物理拓?fù)錇橐粭l鏈形和一個星形。

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

  恢復(fù)RU_31與RU_4之間的鏈路,此時拓?fù)溆涉溞瓮負(fù)涓聻榄h(huán)形拓?fù)洹?/p>

  測試用例2:RU_3掉電。

  理論結(jié)果:RU_4發(fā)生鏈路切換,RU_4級聯(lián)到RU_31。近端機(jī)光口4管控的拓?fù)溆尚切巫優(yōu)?級RU級聯(lián)的鏈形拓?fù)?。故障?jié)點前級RU_2不發(fā)生改變。系統(tǒng)物理拓?fù)涓潞笾挥?臺RU設(shè)備,即RU_2、RU_31和RU_4。

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

  實際測試結(jié)果表明,系統(tǒng)在光纖故障和設(shè)備故障時能定位故障節(jié)點,并進(jìn)行相應(yīng)的切換,上位機(jī)監(jiān)控的系統(tǒng)拓?fù)浣Y(jié)構(gòu)與實際拓?fù)湟恢隆?/p>

4 結(jié)論

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

  參考文獻(xiàn)

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

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

  [3] 深圳市零一通信技術(shù)有限公司.在數(shù)字光纖直放站中自適應(yīng)組網(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時鐘電路設(shè)計[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)載。