技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 千兆以太網(wǎng)MAC的FPGA實(shí)現(xiàn)與設(shè)計(jì) 

千兆以太網(wǎng)MAC的FPGA實(shí)現(xiàn)與設(shè)計(jì) 

時(shí)間:2018-06-21 17:49:24來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語(yǔ):?以太網(wǎng)作為一種高速的串行傳輸方式,是當(dāng)前最基本、最流行的局域網(wǎng)組網(wǎng)技術(shù),為了適應(yīng)各種新開展的業(yè)務(wù)如流視頻等,其速率也在不斷提高。GMII是標(biāo)準(zhǔn)的吉比特以太網(wǎng)接口,位于MAC層和物理層之間。因此,可以基于FPGA平臺(tái),實(shí)現(xiàn)GMII接口協(xié)議,完成數(shù)據(jù)在MAC和物理層間的通信。

摘要:在數(shù)字系統(tǒng)互聯(lián)設(shè)計(jì)中,高速串行I/O技術(shù)取代傳統(tǒng)的并行I/O技術(shù)成為當(dāng)前發(fā)展的趨勢(shì),與傳統(tǒng)并行接口技術(shù)相比,串行方案提供了更大的帶寬、更遠(yuǎn)的距離、更低的成本和更高的能力。以太網(wǎng)作為一種高速的串行傳輸方式,是當(dāng)前最基本、最流行的局域網(wǎng)組網(wǎng)技術(shù),為了適應(yīng)各種新開展的業(yè)務(wù)如流視頻等,其速率也在不斷提高。GMII是標(biāo)準(zhǔn)的吉比特以太網(wǎng)接口,位于MAC層和物理層之間。因此,可以基于FPGA平臺(tái),實(shí)現(xiàn)GMII接口協(xié)議,完成數(shù)據(jù)在MAC和物理層間的通信。

1 GMII接口協(xié)議簡(jiǎn)介

MII(MediaIndependentInterface(介質(zhì)無關(guān)接口)或稱為媒體獨(dú)立接口,是IEEE-802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn)。以太網(wǎng)中包括有一個(gè)數(shù)據(jù)接口以及一個(gè)MAC和PHY之間的管理接口[1]。數(shù)據(jù)接口包括兩條獨(dú)立的信道,這兩條信道分別用于發(fā)送和接收數(shù)據(jù),它們都獨(dú)自擁有數(shù)據(jù)信號(hào)、時(shí)鐘信號(hào)以及控制信號(hào)。GMII是千兆以太網(wǎng)的MII的接口,該數(shù)據(jù)接口總共需要16個(gè)信號(hào),接口信號(hào)如圖1所示。

GMII采用8位接口數(shù)據(jù),工作時(shí)鐘125MHz,因此傳輸速率可達(dá)1000Mbps。同時(shí)兼容MII所規(guī)定的10/100Mbps工作方式。MII接口主要分為四個(gè)部分,分別是MAC層到物理層的發(fā)送數(shù)據(jù)接口、物理層到MAC層的接收數(shù)據(jù)接口、物理層到MAC層的狀態(tài)指示接口、MAC層和物理層的控制和狀態(tài)信息接口(MDIO)。具體的信號(hào)說明如表1所示。

2 設(shè)計(jì)方案

Xilinx提供的千兆以太網(wǎng)開發(fā)套件為Virtex-5ML505/ML506開發(fā)板,該開發(fā)板支持10/100M、1/10G以太網(wǎng),是學(xué)習(xí)和研發(fā)高速連接設(shè)備的理想平臺(tái)。Xilinx提供了可參數(shù)化的10/1Gbps以太網(wǎng)物理層控制器功能的LogiCORE解決方案[2]。該核設(shè)計(jì)用來同最新的Virtex-5、Virtex-4和Virtex-IIPro平臺(tái)FPGA一起工作,并可以無縫集成到Xilinx設(shè)計(jì)流程中。

以太網(wǎng)系統(tǒng)的兩個(gè)主要模塊是媒體接入控制(MAC)和物理層PHY,MAC由數(shù)據(jù)拆裝和媒體訪問管理兩個(gè)模塊組成,完成數(shù)據(jù)幀的封裝、解封、發(fā)送和接收功能。PHY對(duì)發(fā)送的數(shù)據(jù)按照物理層的編碼規(guī)則將數(shù)據(jù)編碼,再進(jìn)行數(shù)模轉(zhuǎn)換變成模擬信號(hào)把數(shù)據(jù)送出去。接收數(shù)據(jù)則與之相反。

2.1電路架構(gòu)

以太網(wǎng)控制器主要進(jìn)行MAC子層、MAC層與上層協(xié)議的接口以及MAC層與PHY接口的GMII的FPGA設(shè)計(jì),總體結(jié)構(gòu)框圖如圖2所示。整個(gè)系統(tǒng)分為待發(fā)送數(shù)據(jù)的產(chǎn)生模塊、發(fā)送模塊、CRC編碼生成模塊、物理層編解碼模塊、接收及校驗(yàn)?zāi)K、GMII管理模塊等部分。發(fā)送模塊和接收模塊主要提供MAC幀的發(fā)送和接收功能,其主要操作有MAC幀的封裝與解包以及錯(cuò)誤檢測(cè),它直接提供了到外部物理層芯片的并行數(shù)據(jù)接口[3]。在實(shí)現(xiàn)中物理層處理直接利用商用的千兆PHY芯片,在仿真過程中利用物理層IP_CORE來實(shí)現(xiàn),所以本文重要關(guān)注在MAC控制器的開發(fā)上。

2.2MAC協(xié)議介紹

MAC控制模塊是由數(shù)據(jù)拆裝和媒體訪問管理兩個(gè)模塊組成,完成數(shù)據(jù)幀的封裝、解封、發(fā)送和接收功能。幀格式如表2所示。

前導(dǎo)碼的作用是讓物理層信號(hào)與接收幀時(shí)序達(dá)到永久同步。長(zhǎng)度類型表明后面發(fā)送數(shù)據(jù)的長(zhǎng)度,當(dāng)實(shí)際數(shù)據(jù)的長(zhǎng)度不夠時(shí),需要補(bǔ)0填充。類型0X0800代表IP協(xié)議數(shù)據(jù),16進(jìn)制0x809b代表Appletalk協(xié)議數(shù)據(jù)等,本文發(fā)送的是IP協(xié)議數(shù)據(jù)。幀結(jié)尾的數(shù)據(jù)是根據(jù)CRC電路計(jì)算生成的校驗(yàn)碼。

2.3以太網(wǎng)的FCS處理

校驗(yàn)位的FCS即為循環(huán)冗余碼CRC,它的編碼詳細(xì)過程是,根據(jù)數(shù)據(jù)流M的長(zhǎng)度和特性,選擇長(zhǎng)度為n次的特征多項(xiàng)式,在數(shù)據(jù)流M之后添加n個(gè)0,作為被除數(shù)除以由特征多項(xiàng)式構(gòu)成的(n+1)bit的二進(jìn)制數(shù)列P,得到商Q以及除數(shù)R,除數(shù)R為nbit,將R作為冗余碼添加在M之后發(fā)送出去。Crc8編碼的串行算法實(shí)現(xiàn)電路如圖3所示[4]:

編碼前先將所有寄存器初始化,之后將待發(fā)送的信息序列依次在input端輸入編碼器,信息序列全部輸入之后,寄存器中的值就是所要求的余數(shù),即CRC校驗(yàn)碼。本文使用的是crc32多項(xiàng)式,多項(xiàng)式的表達(dá)式如下所示,需要編碼的數(shù)據(jù)段從目的字段開始到數(shù)據(jù)字段結(jié)束,利用同樣的類似的電路,即可利用verilog實(shí)現(xiàn)冗余碼編碼。

3 電路實(shí)現(xiàn)與仿真

3.1MAC發(fā)送端-數(shù)據(jù)成幀

以太網(wǎng)的發(fā)送方式是按照一個(gè)幀一個(gè)幀來發(fā)送的,網(wǎng)絡(luò)設(shè)備和組件在接收一個(gè)幀以后,需要一段短暫的時(shí)間來恢復(fù)并為接收下一幀做準(zhǔn)備。幀間隙是幀與幀之間需要的時(shí)間余量,以太網(wǎng)的最小幀間隙為96bit(12byte)。所以在開始發(fā)送時(shí),要判斷是否滿足幀間隙。根據(jù)GMII接口的傳輸時(shí)序如圖4,設(shè)計(jì)圖5所示的狀態(tài)機(jī),通過對(duì)每個(gè)狀態(tài)中,對(duì)字節(jié)進(jìn)行計(jì)數(shù)實(shí)現(xiàn)狀態(tài)的跳轉(zhuǎn)。

在數(shù)據(jù)傳輸過程中,MAC發(fā)送模塊將上層協(xié)議需要發(fā)送的數(shù)據(jù)經(jīng)過以太網(wǎng)協(xié)議進(jìn)行封裝將數(shù)據(jù)發(fā)送給PHY層,發(fā)送模塊還可將從主機(jī)接收到的幀頭以及幀尾標(biāo)志信號(hào),與主機(jī)接口從外部存儲(chǔ)單元獲取的發(fā)送數(shù)據(jù)按照標(biāo)準(zhǔn)協(xié)議進(jìn)行封裝,將數(shù)據(jù)以8位數(shù)據(jù)寬度的格式在信道空閑時(shí)發(fā)送給PHY層,再通過PHY芯片將數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換發(fā)送到網(wǎng)絡(luò)中去。

在物理層部分,利用ISE平臺(tái)生成Etherent1000BASE-XPCS/PMAIPCORE來接收MAC層的數(shù)據(jù),該核支持內(nèi)部或外部GMII,可實(shí)現(xiàn)與MAC或定制邏輯的鏈接。IP核內(nèi)的主要組成部分為PMA和PCS,其中PMA為物理層的媒介層,PCS為物理層編碼模塊,可以進(jìn)行8B/10B編解碼,64B/66B編解碼,COMMA字符檢測(cè),將接收的數(shù)據(jù)對(duì)齊到合適的字邊界,偽隨機(jī)序列的生成和檢測(cè),時(shí)鐘修正和通道綁定等[5]。

3.2MAC接收端-數(shù)據(jù)提取

MAC端接收到傳回的數(shù)據(jù)后,需要對(duì)接收到的數(shù)據(jù)進(jìn)行檢測(cè),首先提取出pay_load數(shù)據(jù)和冗余檢驗(yàn)碼crc_cmp。當(dāng)發(fā)送數(shù)據(jù)包的長(zhǎng)度不確定時(shí),不能通過計(jì)數(shù)器來提取對(duì)應(yīng)的數(shù)據(jù)和校驗(yàn)碼,可行的操作如圖6的時(shí)序圖所示。

在接收端如果檢測(cè)到前導(dǎo)碼的第一個(gè)字節(jié)55時(shí),計(jì)數(shù)器開始計(jì)數(shù),當(dāng)計(jì)數(shù)到14時(shí),下一個(gè)時(shí)鐘,便是發(fā)送來的實(shí)際數(shù)據(jù),產(chǎn)生Rx_dv_i信號(hào),直到接收到四個(gè)字節(jié)的校驗(yàn)碼時(shí)拉低,并將Rx_dv_i延遲四拍得到Rx_dv_a4信號(hào),同時(shí)將Rx_data也延遲四拍,則在Rx_dv為高電平且Rx_dv_a4為高電平,取Rx_data_d4上的數(shù)據(jù),即為pay_load數(shù)據(jù),在Rx_dv為低電平,Rx_dv_a3為高電平時(shí),Rx_data_a4為校驗(yàn)碼。采用這種方案,在不確發(fā)送數(shù)據(jù)的個(gè)數(shù)情況下,可以分別提取出pay_load數(shù)據(jù)和fcs校驗(yàn)碼數(shù)據(jù)。

3.3電路功能仿真

提取到相應(yīng)的數(shù)據(jù)后,先將發(fā)送端的數(shù)據(jù)和接收到的數(shù)據(jù)進(jìn)行比較,如果不同,產(chǎn)生data_error信號(hào)的低電平,指示出錯(cuò),同時(shí)將接收到的數(shù)據(jù)送入CRC編碼電路,來產(chǎn)生校驗(yàn)碼rx_crc,將發(fā)送端的校驗(yàn)碼crc_cmp與rx_crc進(jìn)行比較,如果不同,產(chǎn)生crc_error的低電平信號(hào)。最終電路的錯(cuò)誤指示信號(hào)error由data_error和crc_error相與產(chǎn)生。

設(shè)計(jì)完成以后,利用modelsim軟件對(duì)電路進(jìn)行了仿真,仿真波形如圖7所示:可以看到三個(gè)錯(cuò)誤標(biāo)志信號(hào)error,在開始工作后均為高電平,表明該電路成功完成了在MAC和PHY之間的數(shù)據(jù)傳輸。

4 結(jié)論

高速串行傳輸技術(shù)是FPGA未來的三大應(yīng)用領(lǐng)域之一,本文從以太網(wǎng)傳輸?shù)目傮w結(jié)構(gòu)和基本協(xié)議出發(fā),設(shè)計(jì)了千兆以太網(wǎng)傳輸系統(tǒng)的方案,以MAC+PHY為核心,完成了網(wǎng)絡(luò)架構(gòu)中物理層和數(shù)據(jù)鏈路層的基本功能。通過仿真驗(yàn)證了數(shù)據(jù)在數(shù)據(jù)鏈路層和物理層之間準(zhǔn)確無誤的傳輸,穩(wěn)定性好,靈活性高,本系統(tǒng)還可以用來傳輸圖像和大數(shù)據(jù)信息。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:教你五招!選購(gòu)工業(yè)機(jī)器人力...

下一篇:AI在機(jī)器人運(yùn)動(dòng)控制領(lǐng)域應(yīng)用盤點(diǎn)

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)