小马哥FPGA

  • 首页
  • 教程
  • 开源
  • 实物
  • 淘宝店铺
  • 联系
  1. 首页
  2. 教程
  3. 征服者zynq7020开发板
  4. 正文

征服者zynq7020裸机开发教程2--基于LWIP的以太网TCP传输速度测试

574点热度 0人点赞 0条评论

简介

    本教程采用官方的lwip库sdk案例实现TCP服务器,并采用iperf.exe测速工具对以太网TCP传输进行测速,实测速度最高可达920MBits/秒。

软件版本

    Vivado2020.2+Vitis2020.2。

Vivado工程创建

    基于《征服者zynq7020裸机开发教程1--USB Device接口测试(zynq模拟U盘)》的Vivado工程进行微小修改。

1.打开《征服者zynq7020裸机开发教程1--USB Device接口测试(zynq模拟U盘)》的Vivado工程,双击BD文件;

 

2.双击打开zynq处理器IP核的配置界面;

3.勾选以太网控制器Ethenet0相关的选项--然后点击“OK”;

4.此时zynq处理器的IP配置就完成了,右键空白处--点击"Validate Design";

5.在source界面中右键BD文件--点击"Generate Output Products";

6.点击"Generate";

7.点击"OK";

8.再次右键BD文件--点击"Create HDL Wraper...";

9.点击"OK";

10.至此,Vivado工程的建立就完成了,接下来进行Vitis SDK代码设计。

Vitis SDK程序设计

1.在Vivado工程中点击"File"--"Export"--"Export Hardware";

2.点击"Next";

3.选择"Presynthesis"--点击"Next",因为是纯PS程序开发,不需要用到FPGA的bit文件;

4.使用默认名称即可,点击"Next";

5.由于是沿用的USB Device案例的工程,此时工程目录下已经存在之前的.xsa文件,这里选择覆盖即可(放心覆盖,这里不会影响USB功能);

6.点击"Finish";

7.双击打开Vitis2020.2,点击"Browse.."--浏览到zfz7020_ps.vitis文件夹--点击"Launch";

8.同样的,由于沿用了USB Device案例,打开Vitis以后不需要再重新建立平台工程,只需要更新下已存在的平台工程即可(因为.xsa文件改变了)

9.接下来设置下BSP,添加lwip库;

10.勾选lwip211库;

11.接下来需要配置lwip211库的部分设置,否则测速的速率达不到900M以上;

a.点击“lwip211”进入设置界面;

b.本例程使用RAW API,即函数调用不依赖操作系统,传输效率也比SOCKET API高,将use_axieth_on_zynq和use_emaclite_on_zynq设为0;

c.修改lwip_memory_options设置,将mem_size,memp_n_pbuf,mem_n_tcp_pcb,memp_n_tcp_seg这4个参数值设大,这样会提高TCP传输效率,如下图所示;

d.修改pbuf_options设置,将pbuf_pool_size设大,增加可用的pbuf数量,这样同样会提高TCP传输效率;

e.修改tcp_options设置,将tcp_snd_buf,tcp_wnd参数设大,这样同样会提高TCP传输效率;

f.修改temac_adapter_options设置,将n_rx_descriptors和n_tx_descriptors参数设大。这样可以提高zynq内部emac dma的数据迁移效率,同样能提高TCP传输效率;

g.其他参数保持默认,点击“OK”保存并退出;

h.修改BSP以后,需要重新编译一下平台工程,点击"zfz7020_ps(Out-of-data)"--"Ctrl+B",括号里的提示也可以看出,平台工程不是最新的需要重新编译了,编译后"(Out-of-data)"就消失了;

12.接下来产生官方LWIP的SDK例程;

a.空白处右键--点击“New”--“Aplication Project...”;

b.点击"Next";

c.点击"Next";

d.输入Application Project的名字,这里我定义为lwip_tcp_server,然后点击“Next”;

e.点击"Next";

f.选择"lwIP TCP Perf Server"--点击"Finish";

g.此时,在Vitis工程中新生成了一个"lwip_tcp_server"的工程;

h."Ctrl+B"编译工程;

12.下载程序进行测速实验;

a.测速需要用到iperf.exe这个软件点此下载,下载解压后将该软件拷贝到电脑的C:\Windows目录下;

b.采用千兆网线将开发板和电脑的网口连接起来

c.点击电脑左下角windos图标“开始”-->设置,点击“更改适配器选项”;

d.右键“以太网”-->点击“属性”-->双击“Internet 协议版本4(TCP/IPv4)”;

e.选中“使用下面的IP地址”,填入IP:192.168.1.100,再点击下“子网掩码的空白处,自动填充255.255.255.0”,点击“确定”;

f.给开发板上电,打开串口助手,选择开发板的串口号(不固定,除了com1的那个就是),设置如下图;

 

g.右键下图所示位置,将程序debug到开发板中;

h.点击绿色三角形的运行按钮开始运行程序;

i.回到串口助手界面,等待直到串口助手显示如下信息;

j.打开电脑的 CMD(按 win+r 键后输入 cmd),输入“iperf -c 192.168.1.10 -i 5 -t 30 -w 2M”,如下图所示;

k.回车后,打印连接信息,并启动测试,如下图所示;

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

您需要 登录 之后才可以评论
分类
最新 热点 随机
最新 热点 随机
基于FPGA的简易红外热成像采集和处理系统 基于FPGA的智能温度检测系统 【开源】基于FPGA的帧差法单运动目标检测Verilog代码 FPGA串口传图、图像自动白平衡算法、亮度/色度/饱和度调节算法 基于ZYNQ7020帧差法多运动目标检测(HDMI接口输出) 基于DE2-115开发板的温度采集和显示(ds18b20+lcd1602)
FPGA图像双边滤波和高斯滤波(实物、源码、仿真、matlab算法、方案框图、原理图) FPGA改进sobel边缘检测(实物、源码、仿真、参考文档、原理图) 基于FPGA的2DPSK调制和解调程序 FPGA指纹识别门禁系统(实物、原理图、源码) 基于FPGA的DDS信号发生器(实物、原理图、源码、仿真、文档) 基于DE2-115开发板的温度采集和显示(ds18b20+lcd1602)
联系我们

QQ : 3305241370

微信:ikkkkg

COPYRIGHT © 2022 小马哥FPGA. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

苏ICP备18068628号-1