李晗,杜明玉
(1.武漢郵電科學研究院,湖北 武漢 430074;2.武漢虹信通信技術有限責任公司,湖北 武漢 430205)
光纖分布系統中光口模塊和MAC控制器的設計與實現
李晗1,杜明玉2
(1.武漢郵電科學研究院,湖北 武漢 430074;2.武漢虹信通信技術有限責任公司,湖北 武漢 430205)
在光纖分布系統中,為了解決射頻信號覆蓋和數據高速傳輸的問題,提出用光纖作為傳輸媒介,通過MAC控制器將監控數據封裝成以太網幀在光口上傳輸的方法。對光纖分布系統實際的組網需求、信號覆蓋和擴展性問題進行了研究,經測試,驗證了使用FPGA模擬MAC控制器進行底層鏈路設計的可行性。不但可以節約成本,在FPGA資源夠用的情況下,理論上可以無限擴充MAC控制器的數量,大大增加了系統的可擴展性,滿足了靈活的組網需求。
MAC控制器 FPGA 光纖分布系統
現如今4G網絡已成為移動網絡的主流,其建設重點由廣度覆蓋轉向了深度覆蓋及網絡優化。光纖分布系統有助于解決目前網絡覆蓋以及優化問題,該系統可以直接把各種通信制式的無線信號轉換成光信號,通過光纖傳輸到覆蓋區,實現網絡的深度覆蓋。光纖分布系統一般由MU(Main Unit,近端單元)、EU(Extended Unit,擴展單元)、RU(Remote Unit,遠端單元)三部分組成。在MU和EU上均有兩個相同的光口模塊,RU只有一個光口模塊,所以1個MU主設備可以管理4臺RU從設備,因此光口數量是隨著從設備數量呈正比例增長的。為了便于今后設備的擴容升級,設計光口MAC(Media Access Control,媒體介入控制)控制器時必須使其具備較好的擴展性。在這些設備中,光纖是主要的傳輸媒介,MAC控制器是實現CPU封裝數據幀在光纖中傳輸的必要前提,在光纖分布系統中,CPU片內外設的MAC控制器資源往往不夠用,為了滿足需求,時常需要增設外部MAC控制器的單芯片方案,但這種方式并不利于設備的擴容和維護。本文旨在通過一種FPGA(Field-Programmable Gate Array,現場可編程門陣列)片內模擬MAC控制器的方式來實現對光口物理層的接入,從而實現各個設備之間的互通。理論上,只要FPGA的資源夠用,MAC控制器的數量就可以無限增加,則可高度滿足設備今后的擴容需求,大大提高系統的靈活性。
在光纖分布系統中,用戶需要給RU設備配置各種監控數據。首先,用戶將PC上位機軟件通過以太網、串口或者2G/3G/4G Modem連接登陸到MU設備,然后在PC端設置各種監控數據,發送給MU設備;近端通過光口將監控數據發送給EU;擴展單元最后將各種監控數據發送到RU。所有的監控數據在各個設備之間都是依靠光口來傳輸的,光口模塊接收功能是先將從光口接收到的數據進行解幀,得到HDLC(High-level Data Link Control,高級數據鏈路控制)、DATA數據后將其發送給PPC模塊,同時將得到的I、Q數據發送給DUC。發送功能是把PPC的HDLC和DATA數據,DDC的I、Q數據經過協議組幀后發送到底層光口。該設計滿足CPRI(Common Public Radio Interface,通用公共無線電接口)協議,實現了鏈路之間的數據轉發和上行求和以及下行廣播。其中HDLC和DATA數據是上層鏈路的數據。CPU主控制器與底層光口之間需要通過MAC控制器來進行組幀、發送、接收、解幀,從而建立起標準的通信鏈路。光口模塊總體設計框圖如圖1所示。
MAC控制器的系統架構如圖2所示,主要由狀態模塊、控制模塊、MAC發送模塊、MII(Media Independent Interface,介質無關接口)管理模塊、MAC接收模塊、主機接口模塊構成。
光口模塊實現最底層數據流的封裝與解析,將監控數據與業務數據分開,而MAC控制器實現數據鏈路層的封裝,提供給CPU一個通用的TCP/IP協議數據鏈路層接口。光口模塊和MAC控制器分別實現了對底層鏈路和上層協議的封裝,CPU即可在光纖這種載體上通過標準的TCP/IP協議來建立多個設備之間的鏈接,上層軟件研發人員則無需關心底層鏈路的傳輸媒介,有效降低了軟硬件之間的耦合性。
本設計既滿足了HDLC數據和Datalink數據的傳輸,還提供給了上一層MAC控制可以訪問的接口,能夠實現較好的封裝性,同時給了軟件一個通用的訪問接口,有效降低了系統軟硬件之間的耦合度。
3.1 MUX模塊
MUX模塊的主要任務是檢測本機工作模式(包括正常狀態和環網),完成光口數據時鐘域的轉換,BFN、HFN的同步檢測,其結構框圖如圖3所示。光口0和1的處理方法沒什么差別,通過FIFO(First Input First Output,先進先出隊列)來實現時鐘域的轉換,FIFO的寫時鐘為光口的輸入時鐘,FIFO的讀時鐘為光口的處理時鐘。通過光口的BFN狀態可以檢測本機的工作模式,Link的BFN狀態正常則表示是環網模式,否則則是正常的組網方式(鏈性、星形組網等)。其中Link1表示MU,Link0表示RU。
3.2 數據接收模塊
數據接收模塊需要完成包括解幀、IQ數據和HDLC數據的分離、IQ數據的解碼、HDLC數據的時鐘域轉換、光口誤碼檢測等。對于IQ數據處理部分,根據數據包幀格式,在同步狀態下把IQ數據分離出來,通過映射表對IQ數據進行解碼,并同時解析出幀頭標志和基幀指示。對于HDLC數據,根據數據包幀格式在同步狀態下把HDLC數據分離出來。由于HDLC的鏈路速率和光口的處理時鐘速率不同,因此是通過FIFO來完成時鐘域的轉換的。圖4為數據接收模塊框圖。

圖1 光口模塊內部結構圖

圖3 MUX模塊實現框圖

圖2 MAC控制器的系統架構
3.3 HDLC數據處理模塊
HDLC數據處理模塊由HDLC數據接收模塊和數據發送模塊構成。
HDLC接收處理包括HDLC數據檢測,DATA數據檢測,SCC、PPC和HDLC數據轉發。HDLC接收處理,其數據幀頭為3個字節連續的0x7F,幀尾為一個字節的0x7F;而DATA數據的幀頭為3個字節連續的0x58,幀尾為一個字節0x58。由于處理HDLC和PPC的時鐘不一樣,所以PPC在接收HDLC數據和DATA數據時都用FIFO來完成時鐘域的轉換從而實現同步。圖5即為HDLC數據接收處理模塊。
單光口的HDLC數據發送的原理框圖如圖6所示,由圖可知,由于處理時鐘的頻率不相同,兩個FIFO是為了實現HDLC數據和DATA數據的時鐘域轉換與同步。之后將這些數據經過碰撞檢測后即可發送。在MU設備中沒有Link的轉發數據,因此只用進行HDLC和DATA數據的碰撞檢測;而RU設備需要進行Link數據的碰撞檢測。
3.4 數據發送模塊
如圖7所示是數據發送模塊的原理框圖,包括IQ數據的組幀、求和、編碼和時鐘域的轉化等功能。由于HDLC數據是串行模式,而組幀的數據是并行模式,且工作速率也不一樣,因此需要FIFO來完成時鐘域的同步與串行并行之間的轉換。在MU設備中,Link0和Link1鏈路都會對IQ數據進行編碼。而在RU設備中,Link0會對來自Link1方向的IQ數據進行求和、編碼操作,而在Link1方向上和MU一樣,只進行編碼,不求和。最后經過既定的數據幀格式組幀,就可以將數據發送到底層光口上了。

圖4 數據接收模塊框圖

圖5 HDLC數據接收處理

圖6 HDLC數據發送處理
由于FPGA具有較好的靈活性,因此,在光纖分布系統中,基于FPGA開發的MAC控制器能有效地提高系統的擴展性。MAC控制器通常由狀態模塊、控制模塊、MAC發送模塊、MII管理模塊、MAC接收模塊、主機接口模塊構成。其中狀態模塊和控制模塊都是控制和管理發送與接收功能的。MII管理模塊用于控制MAC與外部PHY之間的接口,用于對PHY(Physical Layer,物理層)進行配置并讀取其狀態信息。主機接口模塊主要是用于以太網的上層協議(如TCP/IP協議)與MAC控制器之間的數據交換,通過該接口,上層協議可以讀取MAC的狀態信息、設置MAC工作模式。MAC收發功能即是設計的核心,主要實現發送幀、接收幀、封裝幀、解封裝,功能框圖如圖8所示。其中幀計數功能表示按照發送、接收、幀長度、目的地址類型(單播、組播、廣播)分別統計包的數量。
4.1 發送模塊
MAC發送模塊從發送緩沖區讀取準備發送的數據,根據800.3以太網傳輸協議,對原始數據添加相應的字段,包括前導碼、CRC(Cyclic Redundancy Code,循環冗余校驗)校驗和填充字段等,通過這些操作將源數據封裝為以太網幀。根據以太網RMII(Reduced Media Independent Interface,簡化媒體獨立接口)接收的時序傳輸要求,將一幀數據發送給光口模塊,然后經過光口模塊的協議處理以及信號轉換,數據即可在光纖中傳輸。與此同時,一幀數據實時的狀態信息也會一并通過MAC狀態模塊反饋給上層協議。MAC發送模塊的結構框圖如圖9所示。
發送端的主要功能包括:
◆判決幀長度。長度不足最短幀長度(64字節,包含FCS)時,補充數據至最短幀;長度大于1 518字節時,為巨幀,若不支持巨幀功能,則拋棄。

圖7 數據發送模塊設計框圖

圖8 MAC控制器系統框圖

圖9 發送模塊設計框圖
◆發送數據緩存。緩存大小一般最少配置成最大幀長度的兩倍,所以由是否支持巨幀功能決定,若支持巨幀,緩存要配置成很大;否則緩存只需大于“1 518×2”字節即可。
◆CRC32計算。計算得到4字節的校驗碼,補充到幀尾。
◆在幀頭處添加8字節前導碼,前導碼固定為“55555555555555D5”。
◆根據以太網接口情況,按照標準協議轉換幀格式并發送。
4.2 接收模塊
MAC接收模塊的主要目的是完成數據幀的接收、解幀和錯誤校驗。首先從MII數據接口接收從底層光口發過來的數據,識別數據包中的前導碼和設備的目的地址,從而決定是否將當前收到的數據交給接收緩沖區,并對這一幀數據進行CRC校驗。與此同時,MAC接收模塊還會監測該過程中可能發生的各種狀況,并在接收結束后產生接收狀態信息rx_status,用戶可以通過讀取該狀態信息來得知該幀數據是否接收正常。MAC接收模塊的結構框圖如圖10所示。
接收端主要功能包括:
◆幀格式解析。按照輸入數據的以太網接口協議解析以太網幀。
◆去掉幀頭處8字節前導碼。
◆CRC32計算。包含FCS的以太網幀通過CRC32計算后,結果輸出為0,若不為0則表示以太網幀在之前的傳輸中存在誤碼。存在錯誤的幀應拋棄,正確幀則去掉FCS向后傳輸。
◆接收數據緩存,和發送端一樣。
◆目的地址判決。MAC需要解析以太網幀的目的地址(一般在多輸入的情況下發揮作用),再按照目的地址過濾掉不需要的包。同時,還有需求多種目的地址包的情況,則可以按照目的地址做簡單的優先級判定,優先放過需求的包。

圖10 接收模塊設計框圖
對FPGA端MAC控制器的設計進行了仿真,testbench文件在以太網端口模擬了以太網報文的發送,在CPU端用代碼模擬了CPU總線操作FPGA總線的過程,且在此處進行了環回。以下是RGMII接口的仿真時序,發送功能仿真如圖11所示,接收功能仿真如圖13所示。
圖11、圖13是接口的RGMII收發時序仿真圖,通過對比標準的RGMII時序(圖12、圖14),圖11和圖13的時序仿真圖顯示,在上升沿和下降沿都采集了數據,上升沿發送RXD[3:0]和TXD[3:0]數據,下降沿發送RXD[7:4]和TXD[7:4]數據。在發送端,TX_EN管腳上處理TX_ER和TX_EN信號,TX_CLK管腳的上升沿發送TX_EN數據,下降沿發送TX_ER數據;同樣,接收時序也是滿足該設計要求的。這些都符合標準RGMII時序要求。經過在FPGA內部做時序約束后,在實際測試過程中是可以建立穩定的通信鏈路的。綜上可知,該系統設計符合標準的RMII時序,因此MAC控制器設計符合802.3規范,是完全兼容單芯片MAC控制器方案的設計,滿足設計要求。

圖11 發送模塊時序仿真

圖12 標準RGMII接口發送時序圖

圖13 接收模塊時序仿真

圖14 標準RGMII接口接收時序圖
基于FPGA設計了一種符合802.3規范的MAC控制器以及符合CPRI協議的光口模塊。經實驗表明,該設計可以滿足上層監控數據通過光口傳輸的要求。提出的這種應用于光纖分布系統中光口數據傳輸的專用MAC控制器設計,舍棄了外部板載MAC控制器SOC(System-on-a-Chip,片上系統)的方案,將MAC控制器集成于FPGA內部,通過IP核來實現MAC控制器模擬,降低了系統成本,增加了系統的擴展性、靈活性,更加適用于光纖分布系統中底層光口通信的處理。
[1] 劉君,常明,秦娟,等. 基于硬件描述語言(VHDL)的數字時鐘設計[J]. 天津理工大學學報, 2007,23(4): 40-41.
[2] IEEE Std802.3, 2000 Edition. Part3: Carrier sense multiple access with collision detection(CSMA/CD) access method and physical layer specif i cations[S]. 2000.
[3] 廖日坤. CPLD/FPGA嵌入式應用開發技術白金手冊[M]. 北京: 中國電力出版社, 2003:212-218.
[4] 王開軍,姜宇柏. 面向CPLD/FPGA的VHDL設計[M]. 北京: 機械工業出版社, 2006: 28-65.
[5] 吳善兵,羅家融,吳一純,等. 基于CP2200的嵌入式以太網模塊設計[J]. 微計算機信息,2009(35): 54-55.
[6] 趙保經. 中國集成電路大全[M]. 北京: 國防工業出版社, 1985.
[7] 高吉祥. 電子技術基礎實驗與課程設計[M].北京: 電子工業出版社, 2002.
[8] 康華光. 電子技術基礎[M]. 北京: 高等教育出版社,2002.
[9] 宋春榮. 通用集成電路速查手冊[M]. 濟南: 山東科學技術出版社, 1995.
[10] 閻石. 數字電子技術基礎[M]. 4版. 北京: 高等教育出版社, 1998.
[11] 高澤華,高峰,林海濤,等. 室內分布系統規劃與設計——GSM/TD-SCDMA/TD-LTE/WLAN[M]. 北京: 人民郵電出版社, 2013.
[12] 李紅衛,吳靜怡,夏貴進,等. 光纖通信傳輸典型設備可靠性模型研究[J]. 半導體光電, 2015(5): 796-799. ★
Design and Implementation of Optical Interface Module and MAC Controller in Optical Fiber Distribution System
LI Han1, DU Mingyu2
(1. Wuhan Research Institute of Post and Telecommunications, Wuhan 430074, China;2. Wuhan Hongxin Communication Technology Co., Ltd., Wuhan 430205, China)
In order to deal with RF signal coverage and high-speed data transmission in the optical fi ber distribution system,a method was proposed, in which fi ber is used as the transmission medium and the monitoring data is encapsulated into Ethernet frame by MAC controller to be transmitted on optical interface. The networking requirements, signal coverage and scalability of optical fi ber distribution systems were investigated. Based on tests, the feasibility that to use FPGA simulates MAC controller to design the underlying link was veri fi ed. This not only saves the cost, but also in fi nitely expands the number of MAC controller in theory, greatly increasing the system expandability and satisfying the fl exible networking requirements.
MAC controller FPGA optical fi ber distribution system


10.3969/j.issn.1006-1010.2017.17.010
TN929
A
1006-1010(2017)17-0048-07
李晗,杜明玉. 光纖分布系統中光口模塊和MAC控制器的設計與實現[J]. 移動通信, 2017,41(17): 48-54.
2017-06-26
責任編輯:文竹 liuwenzhu@mbcom.cn
李晗:碩士研究生就讀于武漢郵電科學研究院通信與信號系統專業,現于武漢虹信通信技術有限責任公司實習,主要從事嵌入式軟件開發,光纖分布系統無線覆蓋相關的應用研究等工作。
杜明玉:高級工程師,畢業于華中科技大學,現任職于武漢虹信通信技術有限責任公司,從事無線網絡優化設備相關研究工作,主持過行業標準編寫,并獲得了多個通信相關專利。