吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

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

CHANBAEK ? 來源:FPGA Zone ? 作者:stark ? 2023-09-06 17:04 ? 次閱讀

01概述

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

02RGMII接口

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

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

  • 發(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 時,時鐘信號 TXC 和 RXC 均為 125MHz,4bit數(shù)據(jù)信號上下沿值均有效,控制信號上下沿值也均有效。

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

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

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接口通過網(wǎng)線與上位機連接。

圖片

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

  • IP核配置

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

圖片

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

圖片

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

圖片

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

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

圖片

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

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

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

“排除一切不可能的原因,剩下的即使再不可能,那也是真相”,當(dāng)軟件沒有問題,那只能是硬件部分有問題了。于是我考慮這很可能是因為FPGA引腳配置不對。

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

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

    關(guān)注

    1630

    文章

    21798

    瀏覽量

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

    關(guān)注

    33

    文章

    8694

    瀏覽量

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

    關(guān)注

    0

    文章

    67

    瀏覽量

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

    關(guān)注

    0

    文章

    327

    瀏覽量

    34045
  • RGMII
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    12216
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    以太網(wǎng)其實是我們?nèi)粘I钪卸紩玫降模热绱蠹倚^(qū)里的千兆以太網(wǎng)等。為增進(jìn)大家對以太網(wǎng)的了解,本文講對千兆
    的頭像 發(fā)表于 03-21 11:30 ?7891次閱讀
    <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)勢

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

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

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

    探索新的中檔 FPGA 如何為以太網(wǎng)千兆以太網(wǎng) (GbE) 鏈路執(zhí)行橋接功能,同時解決低功耗問題。
    的頭像 發(fā)表于 05-07 16:54 ?4172次閱讀
    <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>解決低功耗問題

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

    本文介紹一個FPGA開源項目:UDP千兆以太網(wǎng)光通信。利用SFP接口,可以通過使用SFP轉(zhuǎn)RJ45模塊或者直接使用光纖進(jìn)行以太網(wǎng)通信。
    的頭像 發(fā)表于 08-31 11:26 ?4680次閱讀
    基于<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萬兆光通信測試

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

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

    本文介紹一個FPGA開源項目:UDP RGMII千兆以太網(wǎng)通信。該項目在我之前的工作中主要是用于FPGA
    的頭像 發(fā)表于 09-04 16:49 ?1776次閱讀
    基于<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)勢

    以太網(wǎng)其實是我們?nèi)粘I钪卸紩玫降模热绱蠹倚^(qū)里的千兆以太網(wǎng)等。為增進(jìn)大家對以太網(wǎng)的了解,本文講對千兆
    的頭像 發(fā)表于 12-08 16:40 ?1176次閱讀
    威尼斯人娱乐注册网址| 宾利百家乐官网现金网| 娱乐百家乐官网下载| 大发888娱乐游戏下载| 百家乐官网翻天粤语qvod| 国际娱百家乐的玩法技巧和规则| 百家乐官网网络公式| 太阳城百家乐如何看路| 皇冠网上投注| 网上百家乐如何作假| 惠东县| 百家乐有几种打法| 合法赌博网站| e世博百家乐娱乐场| 彩票| CEO百家乐的玩法技巧和规则| 网络百家乐官网内幕| 百家乐官网官网| 金塔县| 百家乐网络赌博网| 澳门百家乐官网海星王娱乐城| LV百家乐赢钱LV| 百家乐官网路纸下| 九乐棋牌官网| 百家乐号论坛博彩正网| 百家乐官网视频双扣游戏| 威尼斯人娱乐城优惠| 百家乐官网baccarat| 利记现金| 希尔顿百家乐试玩| 百家乐官网能赢到钱吗| 百威百家乐的玩法技巧和规则| 百家乐官网的弱点| 516棋牌游戏下载| 百家乐台布兄弟| 赌博百家乐官网赢钱方法| 亿酷棋牌室| 澳门百家乐要注意啥| 百家乐官网7杀6| 一路发| 百家乐娱乐平台会员注册|