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

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

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

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

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

本文介紹一個(gè)FPGA開(kāi)源項(xiàng)目:UDP RGMII千兆以太網(wǎng)通信。該項(xiàng)目在我之前的工作中主要是用于FPGA和電腦端之間進(jìn)行圖像數(shù)據(jù)傳輸。本文簡(jiǎn)要介紹一下該項(xiàng)目的千兆以太網(wǎng)通信方案、以太網(wǎng)IP核的使用以及Vivado工程源代碼結(jié)構(gòu)。

Vivado 的 Tri Mode Ethernet MAC IP核需要付費(fèi)才能使用,因此本文提供完整工程源碼。

01軟硬件平臺(tái)

  • 軟件平臺(tái):Vivado 2017.4;
  • 硬件平臺(tái):XC7K410TFFG900-2;

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;

圖片

  • 三種速率模式

RGMII 接口適用于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)通信方案參考米聯(lián)客例程設(shè)計(jì),硬件接口采用RGMII,IP核調(diào)用Vivado 的 Tri Mode Ethernet MAC。通信方案如下圖所示,最上層為用戶邏輯模塊,用于處理和使用解析后的以太網(wǎng)通信數(shù)據(jù);uiudp_stack 模塊采用米聯(lián)客例程提供的協(xié)議棧網(wǎng)表文件;FPGA 以太網(wǎng)IP核采用Tri Mode Ethernet Mac;PHY芯片采用 88E1512;最后 RJ-45 接口通過(guò)網(wǎng)線與上位機(jī)連接。

圖片

下圖為以太網(wǎng)數(shù)據(jù)環(huán)路傳輸測(cè)試方案,在電腦上通過(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ù)據(jù)跨時(shí)鐘域處理。

圖片

04工程源碼結(jié)構(gòu)

下圖是該項(xiàng)目 Vivado 工程源碼結(jié)構(gòu):

圖片

其中,

  • udp_transmit:UDP以太網(wǎng)數(shù)據(jù)收發(fā)模塊;
  • loopback_test:UDP以太網(wǎng)數(shù)據(jù)回環(huán)傳輸測(cè)試模塊;
  • tri_mode_ethernet_mac_0_axi_lite_sm:用于配置、讀取以太網(wǎng)IP核寄存器等。

05IP核參數(shù)配置

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

圖片

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

圖片

另外,有關(guān) UDP 協(xié)議棧 uiudp_stack 的詳細(xì)信息這里不再介紹,其pdf文檔和源碼一起提供,有需要的小伙伴可以自己去查閱。

06其它注意事項(xiàng)

  • PHY芯片 復(fù)位信號(hào) :上電后將復(fù)位信號(hào)拉高;
  • FPGA RGMII輸出 I/O 口 電平標(biāo)準(zhǔn) :配置成 SSTL 電平標(biāo)準(zhǔ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)注

    1625

    文章

    21620

    瀏覽量

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

    關(guān)注

    0

    文章

    66

    瀏覽量

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

    關(guān)注

    0

    文章

    322

    瀏覽量

    33849
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    804

    瀏覽量

    66222
  • RGMII
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    12141
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【紫光同創(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
    的頭像 發(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 ?2848次閱讀
    如何使用Vitis自帶的LWIP模板進(jìn)行PS端<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>TCP<b class='flag-5'>通信</b>?

    以太網(wǎng)通信S7是什么意思?

    以太網(wǎng)通信
    YS YYDS
    發(fā)布于 :2023年06月25日 00:07:18

    基于AlteraFPGA千兆以太網(wǎng)實(shí)現(xiàn)方案

    `基于AlteraFPGA千兆以太網(wǎng)實(shí)現(xiàn)方案`
    發(fā)表于 06-10 11:59

    PC與FPGA以太網(wǎng)通信

    我現(xiàn)在在做FPGA和PC之間的以太網(wǎng)通信,PC和FPGA用交叉線直連,板子上的以太網(wǎng)phy芯片是88e1111,以太網(wǎng)
    發(fā)表于 07-05 21:37

    DE2-115開(kāi)發(fā)板以太網(wǎng)通信問(wèn)題

    4位數(shù)據(jù)端口,千兆以太網(wǎng)的實(shí)現(xiàn)要用RMGII模式,但是signaltapii里看到的125M的時(shí)鐘GTX_CLK就根本沒(méi)有信號(hào),為什么沒(méi)有時(shí)鐘?RGMII模式該怎么驅(qū)動(dòng)???(3)需要配置寄存器嗎?硬件又該怎么配置寄存器? 有沒(méi)有
    發(fā)表于 04-12 09:18

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

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

    以太網(wǎng)通訊控制儀器,使用UDP協(xié)議,儀器無(wú)響應(yīng)

    一、背景 儀器支持TCP/IP協(xié)議,欲使用FPGA編寫(xiě)UDP協(xié)議的以太網(wǎng)通訊模塊,對(duì)儀器進(jìn)行控制。因此,在使用FPGA控制儀器之前,首先使用LabVIEW平臺(tái)進(jìn)行
    發(fā)表于 03-22 10:07

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

    介紹百兆網(wǎng)和千兆網(wǎng)的接口形式。 這是網(wǎng)口與FPGA連接的常用方案,RJ45就是咱們平常說(shuō)的水晶頭,Ethernet PHY是以太網(wǎng)的PHY芯片,之后就是Ethernet PHY與
    發(fā)表于 06-01 18:39

    關(guān)于工業(yè)以太網(wǎng)通信的解決方案介紹

    瑞薩電子工業(yè)以太網(wǎng)通信解決方案
    的頭像 發(fā)表于 07-23 00:43 ?4060次閱讀

    Xilinx KU系列三速以太網(wǎng)IP核RGMII時(shí)序約束方法

    基于RGMII時(shí)序廣泛應(yīng)用于以太網(wǎng)通信中,基于Xilinx的三速以太網(wǎng)時(shí)序分析,不同的Xilinx系列方法不一樣
    的頭像 發(fā)表于 07-07 14:15 ?3798次閱讀
    Xilinx KU系列三速<b class='flag-5'>以太網(wǎng)</b>IP核<b class='flag-5'>RGMII</b>時(shí)序約束方法

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

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

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

    本文總結(jié)一下前段時(shí)間完成的FPGA以太網(wǎng)通信功能。該方案參考了MILIANKE的設(shè)計(jì),但在其基礎(chǔ)上簡(jiǎn)化了某些不必要的步驟以及解決了一些由于忽視細(xì)節(jié)導(dǎo)致的棘手的問(wèn)題。
    的頭像 發(fā)表于 09-06 17:04 ?1819次閱讀
    基于<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>設(shè)計(jì)

    解決以太網(wǎng)RGMII通信的電源時(shí)序難題

    電子發(fā)燒友網(wǎng)站提供《解決以太網(wǎng)RGMII通信的電源時(shí)序難題.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 11:23 ?0次下載
    解決<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>RGMII</b><b class='flag-5'>通信</b>的電源時(shí)序難題