一、实验环境
PC机电脑配置:
品牌型号:联想笔记本电脑 小新Pro 16
CPU:13th Gen intel Core i5-13500H
内存:16GB
1000M网口:是UGREEN的USB转1000M网口的转换器
fpga 开发板:
品牌型号:正点原子的ATK-DF7A100P V2.3
fpga: Xilinx Artix-7 系列 xc7a100tfgg484-2
1000M网口PHY芯片:YT8511 同fgpa相连的接口为RGMII
网口桥接IP: 幻智星科技开发的 DMA/Bridge Subsystem for ethernet interface IP
二、实验原理
这个系统中的各个部分都很清晰:
- PC机通过1000M网口与FPGA开发板相连。这种高速以太网接口可以提供较大的带宽和快速数据传输。
- FPGA开发板使用1000MPHY芯片的RGMII接口与FPGA连接。这种接口可以将以太网数据流转换为FPGA内部逻辑所需的数据格式。
- FPGA内部的逻辑电路非常简单,只是在以太网桥的AXI full接口上连接了一个大小为4KB的Block RAM。这可以用来存储批量测试数据等。
fpga内部逻辑电路图如下:
测试方法
pc机通过udp协义,重复向BrockRam写数据,当udp数据包 出错丢失时,得重发数据,要保证数据可靠传输。
三、测试结果
用windows自带的任务管理器查看测试结果如下图:
速度稳定在199Mbps左右。远大于理论值125Mbps。
用wireshark软进行验证如下图:
从图中可以看出,udp数据包发送间隔在10us左右。
速度=(1000000/10)*1284/1024/1024=122Mbps
数字1284 实际发送的有用数据,是去掉了ip包头和udp包头的数据。结果同理论值差不多。
四、实验结果
本次实验得出以下结论:
- pc机能够充分利1000M网口的带宽;
- 用fpga rtl逻辑实现的udp协义接收udp数据包不会因为缓存不够而丢包。
- windows 自带的任务管理器测网速的功能,测出来的数值偏大。
通过1000M网口pc电脑同fpga进行udp通信,用window自带的任务管理器测网速,测得发送数据速度>573Mbps(二)
基于fpga的1000M以太网UDP双向传输测试(三) 发送速度达到882Mbps