《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 吉比特MAC接口IP軟核的分析與研究
吉比特MAC接口IP軟核的分析與研究
2015年微型機與應用第13期
趙 竹1,肖 帥2
1.湖南交通職業技術學院,湖南 長沙 410132; 2.湖南現代物流職業技術學院,湖南 長沙 410131
摘要: MAC(Media Access Control)層位于網絡結構七層協議中的數據鏈路層,控制局域網中的多個節點對共享介質的訪問,保證相鄰節點之間數據的可靠傳輸。本文介紹一種吉比特MAC接口的結構,該MAC采用基于描述符傳輸的DMA(Direct Memory Access)和雙通道的MTL(MAC Transaction Layer),在半雙工模式下支持10/100 Mb/s、全雙工模式下支持10/100/1 000 Mb/s的網絡數據傳輸速率。
關鍵詞: MAC 描述符 DMA MTL
Abstract:
Key words :

  摘  要MAC(Media Access Control)層位于網絡結構七層協議中的數據鏈路層,控制局域網中的多個節點對共享介質的訪問,保證相鄰節點之間數據的可靠傳輸。本文介紹一種吉比特MAC接口的結構,該MAC采用基于描述符傳輸的DMA(Direct Memory Access)和雙通道的MTL(MAC Transaction Layer),在半雙工模式下支持10/100 Mb/s、全雙工模式下支持10/100/1 000 Mb/s的網絡數據傳輸速率。

  關鍵詞: MAC;描述符;DMA;MTL

0 引言

  在計算機網絡技術飛速發展的新時期,人們對現有資源共享越來越依賴網絡,并設計開發了多種不同應用范圍的局域網技術。其中,以太網憑借其較高的靈活性和操作性,在局域網技術使用過程中得到了飛速迅猛的發展。隨著人們對網絡帶寬和數據傳輸速率要求的提高,千兆位以太網應運而生。千兆位以太網仍然保留了以太網的幀格式、CSMA/CS機制和MTU[1],并且引入了載波擴展和幀突發機制[2]。以太網IEEE802.3協議根據LAN的特點,把數據鏈路層分為LLC(邏輯鏈路控制)和MAC(介質訪問控制)兩個子層。MAC層協議作為數據幀收發的基礎,是以太網技術的核心,主要負責上層數據和物理層的數據流量控制以及數據流的檢測、校驗工作。

  IP核是采用Verilog等硬件描述語言實現的功能塊。使用IP核的方式便于實現元件系統引用、修改基本元件功能及IP核復用都非常容易。在SoC設計中,IP核的使用可以縮短設計周期,降低設計風險,已經成為SoC設計中不可缺少的部分[3]。

  本文主要介紹吉比特MAC接口IP軟核的結構和實現。

1 MAC功能

  本設計中的MAC遵守CSMA/CD協議,網絡數據在發送的過程中打包成標準的IEEE802.3幀格式;在接收數據過程中,對數據幀進行CRC校驗,有效刪除錯誤數據,提高數據傳輸效率[4]。支持半雙工和全雙工的操作模式,半雙工模式下支持10 Mb/s/100 Mb/s的網絡數據傳輸速率,提高載波擴展和幀突發機制,并以back-pressure的形式進行流控制;全雙工模式下支持10 Mb/s/100 Mb/s/1 000 Mb/s的網絡數據傳輸速率,并采用pause幀的方式進行流控制;支持可編程的幀間距以及幀長度以適應標準以太網幀和長達16 kB的超大以太網幀;支持IPv4、IPv6和ICMP網絡協議和TCP、UDP傳輸協議;提供GMII/RGMII/MII/RMII端口與相應的PHY端口連接,并且提供MDIO主機對PHY進行配置管理。

2 MAC體系結構

  如圖1所示,MAC由以下四個部分構成:MAC-AXI、MAC-DMA、MAC-MTL、MAC-CORE。MAC采用獨立的數據傳輸與寄存器訪問接口,通過AXI接口與DSP連接,通過AXI主機端口進行數據的傳輸,通過AXI從機端口訪問DMA和MAC的系統控制、狀態寄存器(CSR)[5]。AXI接口基于burst的傳輸方式和獨立的控制、數據及響應通道,提高了傳輸效率和總線的利用率;DMA提供獨立的數據和寄存器訪問接口,數據端采用基于描述符的傳輸將數據傳輸到MTL,大大提高了數據傳輸效率;MTL提供兩個FIFO對DMA與MAC-CORE之間傳輸的數據進行緩存;MAC-CORE對網絡數據幀進行接收發送并對PHY進行配置管理;各個層次都提供了單獨的發送、接收通道,加快數據傳輸速率。此外,該MAC IP核的各個層次可獨立,用戶可以根據自己的需求選擇合適的結構。

Image 001.png

  2.1 AXI接口

  MAC通過AMBA3 AXI總線接口與DSP連接。AXI主機接口支持burst請求以隊列的形式發出讀寫請求,并通過請求重排序,數據交錯使得主機可以更加靈活地選擇優先請求、慢速外設從機。在寫數據通道設計了一個深度為8的數據請求FIFO,這樣AXI總線上最多能支持8個讀寫請求。此外還設計了深度為2的數據FIFO和響應FIFO,用以支持DMA的OSF操作模式,提高數據傳輸效率。AXI從機接口訪問MAC的系統控制、狀態寄存器(CSR)。

  該接口提供128 bit的數據位寬、32 bit的地址位寬,最大burst長度為32,每個ID最多支持4個讀/寫請求,為數據的高效傳輸提供了保障。該接口允許來自不同DMA通道的讀寫同時傳輸,以提高總線的利用率。另外,為了減少整個芯片的功耗,DSP可以通過控制AXI接口使MAC進入低功耗模式。

  2.2 MAC-DMA

  DMA模塊實現MTL模塊和AXI接口之間的數據交換,DSP通過AXI從機接口配置DMA寄存器直接啟動MAC,DSP可以通過設置DMA CSR來控制DMA的操作。該模塊采用128 bit的數據位寬與AXI接口和MTL模塊連接。如圖2所示,DMA提供獨立的CSR訪問接口和數據接口;具有獨立的發送、接收引擎,發送引擎將數據從DSP的發送數據buffer傳輸到MTL,接收引擎將數據從MTL傳輸到DSP接收數據buffer,描述符作為這些buffer的指針;沖裁模塊除了對讀寫操作進行沖裁和發送接收之間的沖裁之外,還包括對描述符傳輸與數據傳輸的沖裁。讀寫數據通過數據單元緩沖,提高傳輸效率。

Image 002.png

  DMA通過描述符的傳輸在DSP盡量少干涉的情況下實現數據交互,每個描述符可以傳輸8 KB的數據,描述符地址寬度與總線寬度一致。描述符有兩類:發送描述符(TDES0-3)和接收描述符(RDES0-3),如圖3所示,每一類描述符包含兩個buffer、兩個字節計數buffer和兩個指向DSP發送、接收數據buffer的地址指針。每一個描述符最多指向兩個數據buffer,數據buffer可以包含一整幀的數據或者不滿一幀的數據,但是不能超過一幀,并且只含數據,buffer狀態包含在描述符中。一幀的數據可以跨越多個數據buffer,但是一個描述符中的數據不能跨越多幀。描述符列表有兩種結構:環型,每個描述符指向兩個數據buffer,執行到最后一個描述符時跳回描述符列表的首地址;鏈接型,將DES3配置成下一個描述符地址形成描述符鏈,這種模式下的描述符只能指向一個數據buffer。

Image 003.png

  與以往基于計數的DMA傳輸相比,采用基于描述符傳輸的DMA每次傳輸的數據量增大,傳輸速率更快。此外,DMA具有單獨的發送、接收引擎可加快數據的傳輸,并提供幀分隔符以優化報文結構的傳輸,對任何正確或錯誤的傳輸都給出狀態標識位,增強數據傳輸可靠性,支持可編程地發送、接收DMA引擎burst尺寸以提高總線利用率,支持每一幀的發送接收完成中斷控制和各種操作情況下可編程的中斷選擇。

  2.3 MAC-MTL

  MTL作為DMA的從設備,采用128 bit數據位寬與DMA和MAC-CORE相連,數據傳輸以簡單的FIFO協議執行操作。該模塊包含兩個數據通道,發送通道和接收通道。發送通道將DMA的數據傳輸到MAC-CORE,DMA控制發送通道的所有傳輸;接收通道則把MAC-CORE的數據傳輸到DMA,如圖4所示。每個通道都含有單獨的讀寫控制模塊。根據接收幀的狀態信息,接收寫控制模塊對接收幀進行過濾,刪除錯誤幀。在發送過程中產生沖突時,發送讀模塊將沖突的數據幀重新發送到MAC-CORE端。

Image 004.png

  MTL提供了兩個8 KB的雙端口異步FIFO緩存DMA與MAC-CORE之間傳輸的數據幀。Tx FIFO緩存DMA從DSP內存讀取且尚未被發送到MAC的數據,Rx FIFO保存從以太網接收且尚未被傳輸到DMA的數據。除了緩存每一幀的數據外,每一幀的狀態信息緊跟數據存入FIFO中,而不需要額外的FIFO來保存,因此只要FIFO未滿就能不斷接收數據幀,提高傳輸效率。數據FIFO通過選擇信號啟動,即FIFO不工作時處于休眠狀態,減小功耗。MTL將FIFO的空滿狀態信息反饋給DMA,再由DMA控制發送接收操作。此外,Rx FIFO滿的情況下,可以通過pause幀控制或產生back-pressure給MAC-CORE來控制數據幀的接收,進行流控制。Tx FIFO的flush操作則是通過軟件來控制的。

  2.4 MAC-CORE

  MAC-CORE有發送、接收兩個通道,實現PHY與MTL模塊的數據交互,具有單獨的地址過濾單元,對接收數據幀的地址進行檢查以便決定接收幀的傳輸與否。支持多種地址過濾方式:目的地址/源地址過濾、單播地址/多播地址過濾,另外還可以提供哈希表對地址進行過濾,具有單獨的CRC模塊,對每一個接收幀進行CRC校驗,對需要發送的幀產生CRC檢驗碼。支持可編程的IFG和接收幀的IEEE802.1Q VLAN檢測。對IPv4、IPv6數據包負載進行TCP、UDP、ICMP檢驗以及IPv4首部檢驗和驗證。提供四種PHY端口:MII、GMII、RMII、RGMII,并且輸出端口的數據并行輸出,提高數據傳輸效率。提供MDIO模塊對PHY進行配置和管理。

3 MAC體系結構

  在VCS驗證平臺下,分別在10 Mb/s/100 Mb/s/    1 000 Mb/s傳輸速率下對MAC IP核的RTL級代碼進行了模塊級和系統級驗證,主要驗證其邏輯功能的正確性,邏輯驗證和功能結果均符合要求。圖5為半雙工模式下100 Mb/s傳輸速率MAC模擬波形圖,圖6是全雙工模式下1 000Mb/s傳輸速率MAC模擬波形圖。模擬驗證表明,該結構的MAC設計達到了預期目標。

Image 005.png

4 結束語

  本文針對千兆位以太網的要求,介紹了一種吉比特MAC接口,用Verilog硬件描述語言,實現了一個RTL級的IP核,該MAC采用AXI接口,連續發送burst請求,各個通道獨立,提高總線利用率。基于描述符傳輸的DMA在沒有CPU干涉的情況下,一次可以傳輸大量的數據,獨立的雙通道MTL為數據快速傳輸提供了保障。MAC-CORE提供了多種類型的PHY端口,數據并行輸出,加快了傳輸速率。最后對該MAC進行了模擬和驗證。驗證結果表明,本文設計的模塊功能正確,達到了預期目標。

參考文獻

  [1] IEEE P802.3ba(tm) D3.2-2010. Telecommunication and information exchange between system-local and metropolitan area networks specific requirements Part3: carrier sense multiple access with collision detection(CSMA/CD)access methodand physical layer specifications[S]. 2010.

  [2] 蔡開裕,朱培棟,徐明.計算機網絡[M].北京:機械工業出版社,2008.

  [3] 韓建,陳嵐,粟雅娟,等.基于用戶的IP核評測方法[J].微電子學與計算機,2009,26(11):43-47.

  [4] 張偉華,魏仲慧,何昕.嵌入式通用千兆以太網接口的設計與實現[J].儀表技術與傳感器,2011(6):41-43,47.

  [5] 吳俊杰,吳建輝.以太網MAC控制器的MII接口轉RMII接口的實現[J].電子器件,2008(2):712-715.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 中国黄色a | 成人久久久精品乱码一区二区三区 | 狠狠大日本亚洲香蕉亚洲 | 免费一级毛片正在播放 | 123456成年免费视频 | 亚欧成人乱码一区二区 | 成人永久免费视频 | 福利理论片午夜片 | 人人爽人人澡人人高潮 | 午夜日本理论 | 午夜性色吃奶添下面69影院 | 中国一级特黄aa毛片大片 | 日本一区二区三区免费在线观看 | www.久久.com| 成人亚洲视频在线观看 | 国产精彩 | 免费大片黄在线观看 | 亚洲国产最新在线一区二区 | 在线免费观看黄色网址 | 亚洲不卡视频 | 午夜天堂| 亚洲你懂的 | 成人最新午夜免费视频 | 欧美黄色高清视频 | 欧美 另类 精品一区视频 | 国产精品一区二区三 | 精品91自产拍在线观看一区 | 嗯啊视频在线 | 欧美日韩另类在线 | 欧美一区二区视频三区 | 欧美综合图区亚洲综合图区 | 久久精品午夜 | 色香蕉视频 | 最近中文字幕2019 | 欧美精品亚洲 | 伊人久久大香线焦在观看 | 午夜影院小视频 | 一个人在线视频免费观看www | 欧美妇性猛交视频 | 一级黄色大全 | 在线中文高清资源免费观看 |