周慶芳
【摘要】隨著以太網(wǎng)技術的不斷進步與發(fā)展,以太網(wǎng)MAC(媒體接入控制)層的傳輸時延將影響網(wǎng)絡的通信質(zhì)量,通過FPGA實現(xiàn)以太網(wǎng)MAC協(xié)議層數(shù)據(jù)包進行正確收發(fā),進而減少傳輸時延,提高網(wǎng)絡吞吐率,避免網(wǎng)絡擁塞,為千兆以太網(wǎng)的發(fā)展提供技術支撐。本文基于FPGA技術對以太網(wǎng)MAC協(xié)議層數(shù)據(jù)包進行收發(fā)設計。
【關鍵詞】MAC協(xié)議層 FPGA 數(shù)據(jù)幀收發(fā) 收發(fā)設計
一、引言
1975年,以太網(wǎng)技術在Palo Alto研究中心誕生,通過近30年的發(fā)展,各種新的局域網(wǎng)技術相繼產(chǎn)生,特別是令牌環(huán)、令牌總線等其他局域網(wǎng)技術的成熟與進步,促使以太網(wǎng)技術不斷向前發(fā)展。按照OSI(Open SystemInterconnection,開放系統(tǒng)互聯(lián))七層網(wǎng)絡模型,以太網(wǎng)技術的關鍵在于物理層和數(shù)據(jù)鏈路層,其中,數(shù)據(jù)鏈路層包括媒體接人控制MAC(Medium Access Control)子層和邏輯鏈路控制LLC(Logical Link Control)子層。
二、基于FPGA以太網(wǎng)的相關技術原理
IEEE802以局域網(wǎng)標準委員會將局域網(wǎng)的數(shù)據(jù)鏈路層分成兩個子層,即媒體接入控制MAC(Medium Access Control)子層和邏輯鏈路控制LLC(Logical Link Contrl)子層,其中,傳輸媒體主要涉及的內(nèi)容與MAC子層有關,而且MAC子層獨立性和兼容性較強,能夠適應不同的網(wǎng)絡通信拓撲結(jié)構(gòu)的變化.所以,同樣的網(wǎng)絡協(xié)議棧軟件可以運行在大多數(shù)的以太網(wǎng)上,不需要做很大的修改。憑借MAC協(xié)議層的靈活性以及易擴展性,以太網(wǎng)已經(jīng)從局域網(wǎng)擴大到城域網(wǎng)和廣域網(wǎng)的應用領域。
三、基于FPGA的以太網(wǎng)MAC協(xié)議層數(shù)據(jù)包的收發(fā)設計
(一)以太網(wǎng)MAC協(xié)議層的整體結(jié)構(gòu)設計
在對以太網(wǎng)MAC協(xié)議進行深入分析研究后,本文的設計將以太網(wǎng)MAC協(xié)議在整體功能上劃分為數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、控制管理等三個模塊。以太網(wǎng)數(shù)據(jù)包的封裝與解封主要通過數(shù)據(jù)接收和發(fā)送模塊完成,控制管理模塊主要用于實現(xiàn)與外部PHY其他芯片通信。
(二)數(shù)據(jù)接收和發(fā)送模塊的FPGA設計與實現(xiàn)
數(shù)據(jù)接收模塊將在PHY芯片接口處檢測輸入信號的變化,GMII模塊將GMII接口形式的信號轉(zhuǎn)換為系統(tǒng)內(nèi)SOP格式的數(shù)據(jù)信號。本文中的MAC控制器工作頻率為100MHz,而系統(tǒng)端的工作頻率為125MHz,所以必須將MAC時鐘域進行轉(zhuǎn)換。對于跨時鐘域的數(shù)據(jù)信號處理,我們采用雙鎖存器法,即將源時鐘域的信號在目的時鐘域利用鎖存器鎖存兩次。
數(shù)據(jù)發(fā)送模塊從內(nèi)部邏輯接口將數(shù)據(jù)包進行相關封裝操作之后發(fā)送到外部PHY芯片上。數(shù)據(jù)發(fā)送模塊的設計是以包為單位進行發(fā)送,當系統(tǒng)內(nèi)模塊準備好發(fā)送一個數(shù)據(jù)包時,此模塊就進行數(shù)據(jù)包的封裝工作。根據(jù)以太網(wǎng)MAC協(xié)議,發(fā)送給外部物理層PHY芯片的數(shù)據(jù)包需要在有效數(shù)據(jù)之前添加MAC前導幀。
四、系統(tǒng)仿真測試
本文中的以太網(wǎng)MAC協(xié)議設計實現(xiàn)方案使用Altera公司的CycloneII系列FPGA,經(jīng)過仿真與測試,可以實現(xiàn)以太網(wǎng)MAC協(xié)議層數(shù)據(jù)收發(fā)的基本功能,傳輸速率達到1Gbps。通過實踐,我們發(fā)現(xiàn)編譯的結(jié)果與仿真測試的結(jié)果一致,同時驗證了基于FPGA設計的以太網(wǎng)數(shù)據(jù)包收發(fā)模塊系統(tǒng)占用率低、傳輸速率高的特點。
五、總結(jié)與展望
本文詳細分析了以太網(wǎng)MAC協(xié)議的整體結(jié)構(gòu),然后將MAC協(xié)議層按功能劃分為接收模塊、發(fā)送模塊和控制模塊,并引入10/100/1000以太網(wǎng)MAC的IP核進行協(xié)議的邏輯控制,包括流量統(tǒng)計、數(shù)據(jù)幀的填充和校驗和,最后通過FPGA詳細設計了MAC協(xié)議層的收發(fā)數(shù)據(jù)幀模塊,而且還配置相關的外部PHY芯片接口。實驗仿真測試表明,基于FPGA平臺設計的以太網(wǎng)MAC收發(fā)數(shù)據(jù)包模塊能夠滿足實時網(wǎng)絡通信環(huán)境條件下的高速率傳輸要求,同時系統(tǒng)占用資源較小。