0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的UDP RGMII千兆以太網(wǎng)設(shè)計(jì)

CHANBAEK ? 來(lái)源:FPGA Zone ? 作者:stark ? 2023-09-06 17:04 ? 次閱讀

01概述

本文總結(jié)一下前段時(shí)間完成的FPGA以太網(wǎng)通信功能。該方案參考了MILIANKE的設(shè)計(jì),但在其基礎(chǔ)上簡(jiǎn)化了某些不必要的步驟以及解決了一些由于忽視細(xì)節(jié)導(dǎo)致的棘手的問(wèn)題。

02RGMII接口

本設(shè)計(jì)采用RGMII接口的88E1512芯片。RGMII接口的主要優(yōu)勢(shì)在于,它可以同時(shí)適用于1000M、100M、10M三種速率,并且接口占用引腳數(shù)較少。

RGMII 使用 4bit 數(shù)據(jù)接口采用上下沿 DDR(Double Data Rate)的方式在一個(gè)時(shí)鐘周期內(nèi)傳輸 8bit 數(shù)據(jù)信號(hào),即上升沿發(fā)送或者接收數(shù)據(jù)的低4位[3:0],下降沿發(fā)送或者接收數(shù)據(jù)的高4位[7:4]。同理,使用 1bit 控制接口采用 DDR 的方式在一個(gè)時(shí)鐘周期內(nèi)傳輸 2bit 控制信號(hào)。

  • 發(fā)送端:tx_clk,tx_d[3:0],tx_ctrl;
  • 接收端:rx_clk,rx_d[3:0],rx_ctrl;

圖片

圖1 RGMII接口

  • 三種速率模式

MII接口適用于1000M、100M、10M三種傳輸速率。

當(dāng)工作于1000M 時(shí),時(shí)鐘信號(hào) TXC 和 RXC 均為 125MHz,4bit數(shù)據(jù)信號(hào)上下沿值均有效,控制信號(hào)上下沿值也均有效。

當(dāng)工作于 100M時(shí),時(shí)鐘信號(hào) TXC 和 RXC均為25MHz,4bit數(shù)據(jù)信號(hào)只有上升沿值[3:0]有效,相當(dāng)于此時(shí)數(shù)據(jù)信號(hào)切換為單沿SDR(Single Data Rata)4位輸模式。控制信號(hào)仍為上下沿有效。

當(dāng)工作于10M時(shí),時(shí)鐘信號(hào)TXC和RXC均為2.5MHz,數(shù)據(jù)信號(hào)和控制信號(hào)的使用和100M速率時(shí)完全相同。

03UDP通信方案

該以太網(wǎng)通信方案如圖2所示,最上層為用戶邏輯模塊,用于處理和使用解析后的以太網(wǎng)通信數(shù)據(jù);uiudp_stack模塊采用MILIANKE提供的協(xié)議棧網(wǎng)表文件;FPGA 以太網(wǎng)IP核采用Tri Mode Ethernet Mac;PHY芯片采用88E1512;最后RJ-45接口通過(guò)網(wǎng)線與上位機(jī)連接。

圖片

圖2 FPGA UDP以太網(wǎng)通信方案

  • IP核配置

使用千兆通訊,因此將速率設(shè)為 1Gbps;

圖片

接口參數(shù)配置如下:

圖片

有關(guān)Shared Logic的選擇可參考我之前寫(xiě)的文章。

圖片

04以太網(wǎng)數(shù)據(jù)流回環(huán)傳輸方案

如圖3所示,以太網(wǎng)數(shù)據(jù)環(huán)路傳輸方案,是在電腦上通過(guò)網(wǎng)絡(luò)調(diào)試助手向FPGA發(fā)送任意小于1472字節(jié)長(zhǎng)度的UDP數(shù)據(jù)包。由于Tri Mode Ethernet Mac IP核接口數(shù)據(jù)流為8bits/125M,而uiudp_stack為64bits/15.625M,因此需要在中間插入FIFO緩存模塊,進(jìn)行數(shù)據(jù)位寬轉(zhuǎn)換以及跨時(shí)鐘域處理。

圖片

圖3 以太網(wǎng)數(shù)據(jù)回環(huán)傳輸方案

05調(diào)試遇到問(wèn)題

修改電腦IP地址、子網(wǎng)掩碼,上位機(jī)UDP端口號(hào)、IP地址,然后測(cè)試了軟件功能,發(fā)現(xiàn)UDP丟包率較高,為30%左右,而且FPGA端接收回路數(shù)據(jù)沒(méi)問(wèn)題,只是發(fā)送回路有問(wèn)題。因此對(duì)軟件中所有模塊進(jìn)行測(cè)試,修改所有可能影響丟包率的代碼部分,都沒(méi)能解決問(wèn)題。

“排除一切不可能的原因,剩下的即使再不可能,那也是真相”,當(dāng)軟件沒(méi)有問(wèn)題,那只能是硬件部分有問(wèn)題了。于是我考慮這很可能是因?yàn)镕PGA引腳配置不對(duì)。

一開(kāi)始tx_d引腳I/O電平標(biāo)準(zhǔn)配置為L(zhǎng)VCMOS,考慮到RGMII接口為雙沿動(dòng)作,數(shù)據(jù)傳輸速率較高,可能LVCMOS無(wú)法滿足,因此參考了DDR3的設(shè)計(jì),改用SSTL電平。編譯之后重新做回環(huán)測(cè)試,UDP丟包率<1/1000,問(wèn)題解決。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21985

    瀏覽量

    615059
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8963

    瀏覽量

    153332
  • 千兆以太網(wǎng)
    +關(guān)注

    關(guān)注

    0

    文章

    70

    瀏覽量

    14041
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    34523
  • RGMII
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    12381
收藏 1人收藏
  • jf_703269911

評(píng)論

相關(guān)推薦
熱點(diǎn)推薦

基于Xilinx FPGA千兆以太網(wǎng)控制器的開(kāi)發(fā)

千兆以太網(wǎng)利用了原以太網(wǎng)標(biāo)準(zhǔn)所規(guī)定的全部技術(shù)規(guī)范,其中包括CSMA/CD協(xié)議、以太網(wǎng)幀、全雙工、流量控制以及IEEE 802.3標(biāo)準(zhǔn)中所定義的管理對(duì)象。##
發(fā)表于 01-23 11:13 ?3.1w次閱讀
基于Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>控制器的開(kāi)發(fā)

簡(jiǎn)談基于FPGA千兆以太網(wǎng)

大家好,又到了學(xué)習(xí)時(shí)間了,學(xué)習(xí)使人快樂(lè)。今天我們來(lái)簡(jiǎn)單的聊一聊以太網(wǎng),以太網(wǎng)FPGA學(xué)習(xí)中屬于比較高級(jí)的內(nèi)容了,有些同學(xué)肯定會(huì)感覺(jué)以太網(wǎng)學(xué)習(xí)起來(lái)非常不容易。其實(shí),我可以告訴大家,前期
的頭像 發(fā)表于 08-05 10:28 ?1.3w次閱讀
簡(jiǎn)談基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>

【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十三章】千兆以太網(wǎng)傳輸實(shí)驗(yàn)

本實(shí)驗(yàn)將實(shí)現(xiàn)FPGA芯片和PC之間進(jìn)行千兆以太網(wǎng)數(shù)據(jù)通信, 通信協(xié)議采用Ethernet UDP通信協(xié)議。 FPGA通過(guò)
的頭像 發(fā)表于 04-07 10:38 ?1.5w次閱讀
【紫光同創(chuàng)國(guó)產(chǎn)<b class='flag-5'>FPGA</b>教程】【第二十三章】<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>傳輸實(shí)驗(yàn)

如何使用Vitis自帶的LWIP模板進(jìn)行PS端千兆以太網(wǎng)TCP通信?

開(kāi)發(fā)板有兩路千兆以太網(wǎng),通過(guò)RGMII接口連接,本實(shí)驗(yàn)演示如何使用Vitis自帶的LWIP模板進(jìn)行PS端千兆以太網(wǎng)TCP通信。
的頭像 發(fā)表于 04-28 10:44 ?5353次閱讀
如何使用Vitis自帶的LWIP模板進(jìn)行PS端<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>TCP通信?

百兆以太網(wǎng)千兆,要怎么修改程序?

各位前輩你們好,我是剛開(kāi)始學(xué)習(xí)fpga的新人。最近在altera fpga的一個(gè)板子上調(diào)試網(wǎng)口,任務(wù)是用千兆以太網(wǎng)實(shí)現(xiàn)
發(fā)表于 10-03 09:12

簡(jiǎn)談基于FPGA千兆以太網(wǎng)

,只是說(shuō)以太網(wǎng)的速率為千兆,也就是1G。除了千兆網(wǎng),還有百兆網(wǎng),萬(wàn)兆網(wǎng),當(dāng)然這些都是指的
發(fā)表于 02-03 15:11

簡(jiǎn)談基于FPGA千兆以太網(wǎng)設(shè)計(jì)

大俠帶來(lái)簡(jiǎn)談基于FPGA千兆以太網(wǎng)設(shè)計(jì),話不多說(shuō),上貨。今天我們來(lái)簡(jiǎn)單的聊一聊以太網(wǎng)以太網(wǎng)FPGA
發(fā)表于 06-01 18:39

基于FPGA的十端口千兆以太網(wǎng)接口的設(shè)計(jì)與實(shí)現(xiàn)

當(dāng)前的路由器或交換機(jī)產(chǎn)品都提供多端口千兆以太網(wǎng)接口。采用高性能FPGA 設(shè)計(jì)十端口千兆以太網(wǎng)接口, 闡述了系統(tǒng)平臺(tái)的硬件設(shè)計(jì)及主要單元模塊的
發(fā)表于 08-29 09:30 ?51次下載

千兆以太網(wǎng)發(fā)展現(xiàn)狀 千兆以太網(wǎng)技術(shù)優(yōu)勢(shì)

以太網(wǎng)其實(shí)是我們?nèi)粘I钪卸紩?huì)用到的,比如大家小區(qū)里的千兆以太網(wǎng)等。為增進(jìn)大家對(duì)以太網(wǎng)的了解,本文講對(duì)千兆
的頭像 發(fā)表于 03-21 11:30 ?8101次閱讀
<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>發(fā)展現(xiàn)狀 <b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>技術(shù)優(yōu)勢(shì)

如何快速分辨以太網(wǎng)千兆以太網(wǎng)

本文解釋并比較了兩種類(lèi)型的以太網(wǎng):快速以太網(wǎng)千兆以太網(wǎng)??焖?b class='flag-5'>以太網(wǎng)千兆
的頭像 發(fā)表于 05-06 16:35 ?5051次閱讀
如何快速分辨<b class='flag-5'>以太網(wǎng)</b>與<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>

FPGA如何為以太網(wǎng)千兆以太網(wǎng)解決低功耗問(wèn)題

探索新的中檔 FPGA 如何為以太網(wǎng)千兆以太網(wǎng) (GbE) 鏈路執(zhí)行橋接功能,同時(shí)解決低功耗問(wèn)題。
的頭像 發(fā)表于 05-07 16:54 ?4602次閱讀
<b class='flag-5'>FPGA</b>如何為<b class='flag-5'>以太網(wǎng)</b>和<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>解決低功耗問(wèn)題

基于FPGAUDP千兆以太網(wǎng)光通信

本文介紹一個(gè)FPGA開(kāi)源項(xiàng)目:UDP千兆以太網(wǎng)光通信。利用SFP接口,可以通過(guò)使用SFP轉(zhuǎn)RJ45模塊或者直接使用光纖進(jìn)行以太網(wǎng)通信。
的頭像 發(fā)表于 08-31 11:26 ?5324次閱讀
基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>UDP</b><b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>光通信

基于FPGAUDP萬(wàn)兆光通信測(cè)試

本文開(kāi)源一個(gè)FPGA項(xiàng)目:UDP萬(wàn)兆光通信。該項(xiàng)目實(shí)現(xiàn)了萬(wàn)兆光纖以太網(wǎng)數(shù)據(jù)回環(huán)傳輸功能。Vivado工程代碼結(jié)構(gòu)和之前開(kāi)源的《UDP RGMII
的頭像 發(fā)表于 09-01 16:25 ?3568次閱讀
基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>UDP</b>萬(wàn)兆光通信測(cè)試

基于FPGAUDP RGMII千兆以太網(wǎng)通信方案

本文介紹一個(gè)FPGA開(kāi)源項(xiàng)目:UDP RGMII千兆以太網(wǎng)通信。該項(xiàng)目在我之前的工作中主要是用于FPGA
的頭像 發(fā)表于 09-04 16:49 ?2231次閱讀
基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>UDP</b> <b class='flag-5'>RGMII</b><b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>通信方案

千兆以太網(wǎng)發(fā)展現(xiàn)狀 千兆以太網(wǎng)技術(shù)優(yōu)勢(shì)

以太網(wǎng)其實(shí)是我們?nèi)粘I钪卸紩?huì)用到的,比如大家小區(qū)里的千兆以太網(wǎng)等。為增進(jìn)大家對(duì)以太網(wǎng)的了解,本文講對(duì)千兆
的頭像 發(fā)表于 12-08 16:40 ?1463次閱讀

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品