概述
本文介绍一个FPGA开源项目:UDP千兆以太网光通信。利用SFP接口,可以通过使用SFP转RJ45模块或者直接使用光纤进行以太网通信。
本工程主要是围绕“Tri Mode Ethernet MAC”IP核以及“1G/2.5G Ethernet PCS/PMA or SGMII”IP核建立。其中,“Tri Mode Ethernet MAC”IP作为以太网MAC,通过GMII接口与“1G/2.5G Ethernet PCS/PMA or SGMII”IP核进行核间通信。
软硬件平台
软件平台 :Vivado 2017.4;
硬件平台 :XC7Z035FFG676-2;
IP核参数配置
Tri Mode Ethernet MAC
- 该工程使用千兆速率,选择 1Gbps ;
- 接口选择 **Internal ** ,因为该IP核通过GMII接口与“1G/2.5G Ethernet PCS/PMA or SGMII”通信,不需要产生外部物理接口;
- MAC速率选择 1000Mbps ,与“1G/2.5G Ethernet PCS/PMA or SGMII”1000BASEX通信标准匹配;
- 内部时钟源选择1G/2.5G Ethernet PCS/PMA or SGMII IP核提供的user clk2;
- 选择 AXI-Lite 接口,对IP核参数进行配置;
- AXI-Lite接口时钟同样选择user_clk2,即 125Mhz ;
- Shared Logic与Features保持默认即可。
1G/2.5G Ethernet PCS/PMA or SGMII
- Ethernet MAC选择 Tri Mode Ethernet MAC ;
- 该IP核采用1000BASEX模式,因此将速度设为 1G ;
- 选择 **1000BASEX **标准;
- 物理接口为 **GTX **收发器作为SFP接口;
- 时钟源选择GTX收发器的输出时钟 **TXOUTCLK ** ;
- 不使用MDIO接口配置IP核;
- 选择自协商功能;
- Shared Logic选择将共享逻辑包含在IP核内;
接口互联
上述两个IP核之间通过GMII接口进行通信,Tri Mode Ethernet MAC工作时钟源采用1G/2.5G Ethernet PCS/PMA or SGMII输出的125Mhz的userclk2,GMII接口各信号与userclk2时钟同步。
功能测试
该Vivado工程实现的功能为千兆以太网光纤数据回环传输。在电脑端通过网络调试助手向FPGA板卡发送长度小于1472字节的数据包,FPGA收到数据后解析、缓存用户数据,最后回传给电脑端,数据传输方案如下图所示:
其中uiudp_stack数据位宽为64bits,而Tri Mode Ethernet MAC数据位宽为8bits,因此二者之间需要插入FIFO进行数据位宽以及时钟域转换。
通过wireshark软件对电脑和FPGA之间传输的UDP数据包进行捕获,部分结果如下图所示:
-
FPGA
+关注
关注
1625文章
21663浏览量
601670 -
接口
+关注
关注
33文章
8486浏览量
150805 -
千兆以太网
+关注
关注
0文章
67浏览量
13852 -
光通信
+关注
关注
19文章
859浏览量
33938 -
IP核
+关注
关注
4文章
326浏览量
49418
发布评论请先 登录
相关推荐
评论