1回答

0收藏

领航者ZYNQ开发板试用5:测试千兆以太网

FPGA/DSP FPGA/DSP 7163 人阅读 | 1 人回复 | 2020-02-26


正点原子的领航者 ZYNQ开发板提供了两个千兆以太网接口,一个是连接到PS侧的以太网控制器外设,另外一个是连接到PL侧逻辑,注意二者所使用的PHY并不相同,连接PS侧的PHY芯片为Realtek瑞昱公司的RTL8211E-VL,是放在核心板上,连接PL侧的PHY芯片为博通公司的B50610,是放在底板上。下面用ZYNQ PS侧的以太网控制器来测试开发板提供的千兆以太网PHY的速度性能,开发板固件上使用一个轻量级TCP/IP的实现LWIP协议,这在嵌入式系统中应用的比较广泛,Xilinx SDK 2018.3直接支持的版本为LWIP 2.0.2。上位机我们使用PC上运行最常见TCP/IP和UDP/IP的性能测量工具Iperf软件,该工具能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。我们使用的工具软件版本为iperf-2.0.9,为了方便我已上传附件供大家下载,大家需要根据所用PC是32位还是64位先解压对应的压缩包,然后把文件夹下所有文件复制到%systemroot%目录,如WIN64位为C:\Windows目录后就可以用命令行启动测试,下面为具体测试步骤:

1、首先参考最初的Hello World实验新建一个工程,这里为了简便直接用vivado2018.3打开Hello World工程后选择File->Project->SaveAs...另存为“ethernet_test”工程。

2、在Flow Navigator 中,点击IP INTEGRATOR 下的Open Block Design,然后双击ZYNQ IP重新配置,在配置界面点击左侧的 MIO Configuration,在右侧的界面中展开“ I/OPeripherals”。然后勾选 ENET 0”和其下的MDIO,在“ IO”列选择 ENET 0的 IO为 MIO16…27 ,MDIO的 IO为 MIO52…53,并选择Bank1 I/O Voltage为 LVCOMS 1.8V。
另外设置 Speed列的速度为“ fast”,最后按OK, 如下图所示:


3、按Ctrl+S快捷键保存块图,然后在sources面板中,右键点击 Block Design设计文件 system.bd 然后依次执行Generate Output Products和Create HDL Wrapper。

4、选择 File -> Export ->Export hardware导出硬件,本实验没有用到PL故不需要勾选“ Include bitstream”。完成后再选择菜单 File->Launch SDK,启动SDK开发环境。
5、在SDK软件界面,选择File->New->ApplicationProject新建一个应用工程,工程名为“ethernet_test”,按如下图示选择后按下一步:

然后选择lwIP TCP Perf Server工程模板后点击 Finish按钮完成,如下图示:

6、把工程src文件夹中和本次测试用不到的文件删除,如下面图示划线的文件:


7、打开main.c文件,把下面代码删除:

第63~75行:

#if defined (__arm__) && !defined (ARMR5)

#if XPAR_GIGE_PCS_PMA_SGMII_CORE_PRESENT == 1 || \

               XPAR_GIGE_PCS_PMA_1000BASEX_CORE_PRESENT == 1

int ProgramSi5324(void);

int ProgramSfpPhy(void);

#endif

#endif


#ifdef XPS_BOARD_ZCU102

#ifdef XPAR_XIICPS_0_DEVICE_ID

int IicPhyReset(void);

#endif

#endif

第129~142行:

#if defined (__arm__) && !defined (ARMR5)

#if XPAR_GIGE_PCS_PMA_SGMII_CORE_PRESENT == 1 || \

              XPAR_GIGE_PCS_PMA_1000BASEX_CORE_PRESENT== 1

       ProgramSi5324();

       ProgramSfpPhy();

#endif

#endif


       /* Define this boardspecific macro in order perform PHY reset

        * on ZCU102

        */

#ifdef XPS_BOARD_ZCU102

       IicPhyReset();

#endif

8、把板卡的网口用网线直接连到电脑上,电脑的IPV4网络属性需要指定为固定IP,如下:

IP地址: 192.168.1.99

子网掩码:255.255.255.0

默认网关:192.168.1.1
9、鼠标右键点击SDK软件的“ethernet_test_bsp”,在弹出的菜单中选择 Board Support Package Settings,在里面配置禁止DHCP功能,然后编译后下载软件到板卡,最后在PC端的CMD命令窗口运行iperf–c 192.168.1.10 –i 5 –t 300 –w 2M命令来启动iperf客户端进行网速测试,具体过程和测试结果如下视频所示:


实测结果千兆网卡速度为830~850Mbps是在正常范围内。
最后提下,测试过程中可能会出现打印完第一次结果后异常退出问题,有提示write failed: connection reset by peer,经调查可能与电脑的杀毒软件有关,关闭后就正常了。


分享到:
回复

使用道具 举报

回答|共 1 个

倒序浏览

沙发

wdzfd-25908

发表于 2020-2-26 18:05:03 | 只看该作者

测试工具下载


iperf-2.0.9.rar

3.34 MB, 下载次数: 16

售价: 1 与非币  [记录]

测试工具

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条