本文介紹一個FPGA開源項目:UDP RGMII千兆以太網(wǎng)通信。該項目在我之前的工作中主要是用于FPGA和電腦端之間進行圖像數(shù)據(jù)傳輸。本文簡要介紹一下該項目的千兆以太網(wǎng)通信方案、以太網(wǎng)IP核的使用以及Vivado工程源代碼結構。
Vivado 的 Tri Mode Ethernet MAC?IP核需要付費才能使用,因此本文提供完整工程源碼。文章末尾有該工程源碼獲取方式,有需要的小伙伴可以收藏、分享一下。
一、軟硬件平臺
- 軟件平臺:Vivado 2017.4;
-
硬件平臺:XC7K410TFFG900-2;
二、RGMII接口
本設計采用 RGMII 接口的 88E1512 芯片。RGMII 接口的主要優(yōu)勢在于,它可以同時適用于1000M、100M、10M三種速率,并且接口占用引腳數(shù)較少。
RGMII 使用 4bit 數(shù)據(jù)接口采用上下沿 DDR(Double Data Rate)的方式在一個時鐘周期內傳輸 8bit 數(shù)據(jù)信號,即上升沿發(fā)送或者接收數(shù)據(jù)的低4位[3:0],下降沿發(fā)送或者接收數(shù)據(jù)的高4位[7:4]。同理,使用 1bit 控制接口采用 DDR 的方式在一個時鐘周期內傳輸 2bit 控制信號。
- 發(fā)送端:tx_clk,tx_d[3:0],tx_ctrl;
-
接收端:rx_clk,rx_d[3:0],rx_ctrl;
-
三種速率模式
RGMII?接口適用于1000M、100M、10M三種傳輸速率。
當工作于1000M時,時鐘信號TXC和RXC均為?125MHz,4bit數(shù)據(jù)信號上下沿值均有效,控制信號上下沿值也均有效。
當工作于100M時,時鐘信號TXC和RXC均為25MHz,4bit數(shù)據(jù)信號只有上升沿值[3:0]有效,相當于此時數(shù)據(jù)信號切換為單沿SDR(Single Data Rata)4位輸模式。控制信號仍為上下沿有效。
當工作于10M時,時鐘信號TXC和RXC均為2.5MHz,數(shù)據(jù)信號和控制信號的使用和100M速率時完全相同。
三、UDP通信方案
該以太網(wǎng)通信方案參考米聯(lián)客例程設計,硬件接口采用RGMII,IP核調用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 接口通過網(wǎng)線與上位機連接。
下圖為以太網(wǎng)數(shù)據(jù)環(huán)路傳輸測試方案,在電腦上通過網(wǎng)絡調試助手向FPGA發(fā)送任意小于1472字節(jié)長度的UDP數(shù)據(jù)包。由于Tri Mode Ethernet Mac IP核接口數(shù)據(jù)流為8bits/125M,而uiudp_stack為64bits/15.625M,因此需要在中間插入FIFO緩存模塊,進行數(shù)據(jù)位寬轉換以及數(shù)據(jù)跨時鐘域處理。
四、工程源碼結構
下圖是該項目 Vivado?工程源碼結構:
其中,
-
udp_transmit:UDP以太網(wǎng)數(shù)據(jù)收發(fā)模塊;
-
loopback_test:UDP以太網(wǎng)數(shù)據(jù)回環(huán)傳輸測試模塊;
-
tri_mode_ethernet_mac_0_axi_lite_sm:用于配置、讀取以太網(wǎng)IP核寄存器等。
五、IP核參數(shù)配置
使用千兆通訊,因此將速率設為 1Gbps;
接口參數(shù)配置如下:
另外,有關 UDP 協(xié)議棧?uiudp_stack 的詳細信息這里不再介紹,其pdf文檔和源碼一起提供,有需要的小伙伴可以自己去查閱。
六、其它注意事項
-
PHY芯片?復位信號:上電后將復位信號拉高;
-
FPGA RGMII輸出 I/O 口?電平標準:配置成 SSTL 電平標準。文章來源:http://www.zghlxwxcb.cn/news/detail-631065.html
七、源碼獲取方式
需要該工程源碼的小伙伴,請下載我的 資源:《FPGA優(yōu)質開源項目獲取方式》?,里面有Vivado工程源碼免費獲取方式。?或者點擊鏈接,跳轉到原文獲?。骸禙PGA優(yōu)質開源項目 - UDP RGMII千兆以太網(wǎng)???????》。文章來源地址http://www.zghlxwxcb.cn/news/detail-631065.html
到了這里,關于FPGA優(yōu)質開源項目 - UDP RGMII千兆以太網(wǎng)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!