0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【ALINX 教程】FPGA 10G 以太网实现——基于 Zynq US+ Z7-P 开发板+FH1223 子卡

alinx 来源:alinx 作者:alinx 2026-01-08 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

教程目的

本教程基于ALINX Zynq US+ MPSoC开发板 Z7-P+万兆以太网FMC子卡 FH1223,在Xilinx 2020.1/PetaLinux 2020.1开发环境下,完整演示如何在Linux系统中实现万兆以太网(10GbE)接口,并对其进行速率测试与处理器负载测试。

开发环境

硬件环境

开发板:ALINX Z7-P

产品链接:https://www.alinx.com/detail/593

Z7-P 是基于AMD Zynq UltraScale+ MPSoC系统级开发平台,支持 Xilinx Vitis-AI DPU 和 PCle3.0x8,集成 H.264/H.265 视频编解码器,可用于 4K 视频图像处理;配备一个 FMC HPC 接口,可自由扩展开发。

wKgZO2lfBGaAaRftAAc3qzQXIa8262.png(ALINX基于Zynq UltraScale+ MPSoC开发板Z7-P)

FMC子卡:ALINX FH1223

产品链接:https://www.alinx.com/detail/315

4 路 SFP+ 光纤FMC 子卡FH1223 通过标准 FMC 接口与 Z7-P 相连,提供完整的 10GbE 硬件支持。


wKgZPGlfBPWATOCvAARcxF1e104759.png(ALINX 4路SFP+光纤FMC子卡 FH1223)


Z7-P + FH1223 的模块化组合,能够显著简化您的开发流程,缩短验证周期,亦能提升产品复用性,降低开发成本。

软件环境

vivado2020.1

petalinux2020.1

相关资料

https://pan.baidu.com/s/1NnG9ULlE4ojY3FtcrXeQiw提取码: dt15

Vivado 工程

请参考我们提供的 Vivado 工程

整体框图如图所示

wKgZPGlfBRiALJ6nAACKrz_dmYQ872.png


主要 IP 配置如下

wKgZO2lfBS2AHF_hAARGupFwOcI784.pngwKgZPGlfBSyAYGkgAAQAIFc94iE613.pngwKgZO2lfBSyAcWjmAARh35v8RMw939.pngwKgZPGlfBSyAO6AsAARVyDKMjck794.png


注意时钟连线以及对应数据流传输的关系,读写数据主要通过 dma 实现。

Petalinux工程

使用 vivado 工程导出的包含 bit 流的 xsa 文件,搭建基础的 petalinux 工程。(该部分可参考 Z7-P 的《course_s3_ALINX_ZYNQ_MPSoC开发平台Linux基础教程》第一章 使用 Petalinux 定制 Linux 系统。)

wKgZO2lfBUyAHCxvAAGXctCSwKI550.png

修改petalinux工程project-spec/meta-user/recipes-bsp/device-tree/files路径下的设备树文件system-user.dtsi,指定SFP1和SFP2接口的mac地址,修改后内容如下

wKgZO2lfBYOAdjL3AAA0KJLFSj8250.png

/include/"system-conf.dtsi"/ {};
&sdhci1 {    disable-wp;   no-1-8-v;};
&xxv_ethernet_0 {   local-mac-address = [000a 3566668d];    xlnx,rxmem = <   0x2400   >;};
&xxv_ethernet_0_1 {   local-mac-address = [000a 3566669d];    xlnx,rxmem = <   0x2400   >;};

输入命令,进入 rootfs 配置界面

etalinux-config -c rootfs
wKgZPGlfBbyAEaOvAACPzmgc4aI650.pngwKgZO2lfBbyADSLeAADLlywylF4537.png

使能Petalinux Package Groups --->packagegroup-petalinux-benchmarks --->[*] packagegroup-petalinux-benchmarks

wKgZO2lfBbyAD78CAADWLZT-Uv0096.png


使能Petalinux Package Groups --->packagegroup-petalinux-utils --->[*] packagegroup-petalinux-utils

wKgZPGlfBbyACkP_AADR6lz0dnk507.png

保存配置并退出

编译petalinux工程,生成BOOT.BIN文件

petalinux-build
petalinux-package --boot --u-boot --fsbl --fpga --force
wKgZPGlfB8yAQS_TAAEDNklfYfk641.pngwKgZO2lfB8yAYQQcAAGnrem4wcg488.png

将生成的系统镜像文件BOOT.BIN、boot.scr、image.ub拷贝到sd卡

wKgZPGlfB8yAQxXCAACNhteOydA683.png

速率测试

硬件环境:

主机(cpu: i5-14600k 主板: tuf b760m-plus wifi d4)

Intel E810-2SFP28 万兆网卡

wKgZO2lfB8yAUiXCAAHjoNjbS5Q199.png

10G光纤模块

wKgZO2lfB_-AGhA9AADSZfIUsqA875.png

软件环境:

主机:windows10系统

开发板:petalinux2020.1系统

测速软件:iperf3.7

硬件准备:

sd卡插入Z7_P,拨码调整为sd启动模式

FH1223接到Z7_P FMC接口上

Z7_P PS_UART接口连接到主机USB接口

10g光纤模块连接FH1223的SFP1接口和主机万兆网卡的光纤接口

wKgZO2lfB_-AGhA9AADSZfIUsqA875.pngwKgZPGlfB_-AR8itAAG_RMPP3Ic445.png

软件准备:

板卡上电启动后,在其串口终端中输入如下命令,配置SFP1对应的网口ip地址和mtu值,并关闭其余网口

ifconfig eth1 mtu 9000
ifconfig eth1 192.168.8.100
ifconfig eth1 up
ifconfig eth0 down

输入ifconfig命令查看当前网口配置

wKgZPGlfB_-ADxG5AABVE0MgVVA614.png

在windows主机中,点击左下角“开始”菜单,进入设置界面,选择“网络和Internet”

wKgZO2lfB_-AKf0gAAEbRj11eHE960.pngwKgZPGlfCKOAcJS1AABEAIlXfDo903.png

选择”Windows防火墙“,关闭所有的防火墙(此时可以选择将主机其余网口的网线拔出,仅保留万兆网卡连接的光纤模块)

wKgZPGlfCKOAUpqdAABEQUnAYFU788.pngwKgZO2lfCKOAVpiiAADy6TeBwVE478.png

选择“更改适配器选项”,然后双击选择万兆网卡接口对应的设备(此处为“以太网7”)

wKgZPGlfCKOAcJS1AABEAIlXfDo903.pngwKgZPGlfCKOASjpJAACRxuEm_Ew218.png

确认网卡速率协商到的是10Gbps,点击“属性”

wKgZO2lfCKOAL6-_AABRPx7a9AM845.png

点击”配置“,选择”高级“,开启巨帧数据包,值为9014,然后点击”确定“

wKgZPGlfCKOAIYp0AABtAiheyqw778.png

点击”属性“,双击”Internet 协议版本 4(TCP/IPv4)“

wKgZO2lfCKOAFO6FAABi-6lfu60370.png

设置网卡的ip地址,修改如下图所示,修改完成后点击”确定“

wKgZO2lfCKOASEUeAABpMGmBWNU452.png

最后在适配器设备界面点击”确定“,使所有配置生效

wKgZPGlfCKOAA--yAABtNqE_dJ4110.png

将iperf3的windows可执行程序拷贝到windows主机中(注意,路径无中文)

wKgZPGlfCSuAP4yXAAAi7X56y-A663.png

在当前界面上方地址栏中输入cmd 并回车,就能快速打开一个当前路径的命令行终端

wKgZO2lfCSuAd7x-AAAX8Qey84w273.pngwKgZO2lfCSuAN1oNAABAYckgXyA925.png

在该命令行终端中输入如下命令,进行主机ping开发板测试

ping  192.168.8.100
wKgZPGlfCSuAc0CbAAAd4v3pqQ0210.png

在开发板的串口终端输入如下命令,进行开发板ping主机测试,按ctrl+c停止

ping  192.168.8.130
wKgZO2lfCSuATzaBAABCCP91MM4532.png

UDP RX

为了便于查看处理器负载,在开发板的串口终端中输入如下命令,将iperf3服务端线程绑定到指定的cpu核上(Z7_P ps端有4个cpu核,此处绑定到cpu核2),并指定端口号5301

taskset -c 2 iperf3 -s -p 5301 -i 60 &
wKgZPGlfCSuAK0IYAAAUm41L27M670.png

在串口终端中输入如下命令,每秒打印一次cpu所有核心的使用情况,共计打印60次

mpstat -P ALL 1 60 
wKgZO2lfCSuAQ-8mAAAoQeu3tVw060.png

在windows主机,iperf3测试程序路径下打开的命令行终端中,输入如下命令,开始iperf3 udp传输60s测试

iperf3 -c 192.168.8.100 -u -T s1 -p 5301 -t 60 -i 60 -b 10G -l 8960
wKgZO2lfCSuAP43FAAASG_ynp6k254.png

在udp传输测试过程中,板卡串口终端mpstat程序每秒打印的cpu核心负载情况,由此可知cpu核2基本保持满负载运行

wKgZO2lfCeCAPjm3AACQ7-ZT5QY906.png

当60s传输测试完成后,主机命令行终端中会打印出测试结果,由下图可知板卡万兆网口 UDP RX 速率为4.37Gbits/sec

wKgZPGlfCSuANkW0AAAip0ll_D0220.png

在板卡的串口终端中输入如下命令,终止测试时设置的后台iperf3服务端线程

killall  iperf3
wKgZO2lfCgyAJSbeAAANGZw2YZc142.png

UDP TX

在主机的命令行终端中,输入如下命令,设置4个后台执行的iperf3服务端线程

start /B iperf3 -s -p 5301
start /B iperf3 -s -p 5302
start /B iperf3 -s -p 5303
start /B iperf3 -s -p 5304
wKgZO2lfCg2ATLn_AAAhxFdcWeg488.png

在板卡串口终端中输入如下命令,开启4个iperf3客户端线程,并将其绑定到cpu核0~3

taskset -c 0 iperf3 -c 192.168.8.130 -u -T s1 -p 5301 -t 60 -i 60 -b 10G -l 8960&
taskset -c 1 iperf3 -c 192.168.8.130 -u -T s2 -p 5302 -t 60 -i 60 -b 10G -l 8960&
taskset -c 2 iperf3 -c 192.168.8.130 -u -T s3 -p 5303 -t 60 -i 60 -b 10G -l 8960&
taskset -c 3 iperf3 -c 192.168.8.130 -u -T s4 -p 5304 -t 60 -i 60 -b 10G -l 8960&
wKgZPGlfCgyAX4WpAACSDl2ajzg884.png

在串口终端中输入命令,使用mpstat监测处理器负载

mpstat -P ALL 1 60 

在udp传输测试过程中,板卡串口终端mpstat程序每秒打印的cpu核心负载情况如图所示,处理器总负载为75%左右

wKgZPGlfCg2ARYaPAAChjMTj_B4755.png

当60s传输测试完成后,主机命令行终端中会打印出测试结果,此时主机作为服务端,也就是接收方,所以板卡的 UDP TX 速率合计为 6.94 Gbits/sec

wKgZO2lfCg2APXiJAABEGFgnR3o450.png

在主机的命令行终端中输入命令,终止测试时设置的后台iperf3服务端线程

taskkill /im iperf3.exe /f
wKgZO2lfCgyAUCYHAAAQ0_OMbO0218.png

TCP RX

在开发板的串口终端中输入命令,启动iperf3服务端线程,并绑到cpu核2上

taskset -c 2 iperf3 -s -p 5301 -i 60 &
wKgZPGlfCg2AdffxAAAT7miKKO0605.png

在串口终端中输入命令,监测处理器负载

mpstat -P ALL 1 60 

在主机的命令行终端输入命令,启动iperf3测试

start  /B  iperf3 -c 192.168.8.100   -T s1 -p 5301 -t 60 -i 60
wKgZO2lfCg2AUreXAAAPyGeNmoM640.png

在tcp传输测试过程中,板卡串口终端mpstat程序每秒打印的cpu核心负载情况如图所示,虽然cpu核2的负载并未跑满,但此时cpu核0因为软中断处理已经处于满载状态

wKgZPGlfCg2AeVbfAABsqUIHshU251.png

当60s传输测试完成后,主机命令行终端中会打印出测试结果,如图所示,板卡的 TCP RX 速率为2.63Gbits/sec

wKgZO2lfCg2APZRoAAAiEekSWf8961.png

在开发板的串口终端中输入如下命令,终止后台的iperf3服务端线程

killall  iperf3
wKgZPGlfCqyABckSAAATMNVDUjE883.png

TCP TX

在主机的命令行终端中,输入如下命令,设置4个后台执行的iperf3服务端线程

start /B iperf3 -s -p 5301
start /B iperf3 -s -p 5302
start /B iperf3 -s -p 5303
start /B iperf3 -s -p 5304
wKgZO2lfCg2ATLn_AAAhxFdcWeg488.png

在板卡串口终端中输入如下命令,开启4个iperf3客户端线程,并将其绑定到cpu核0~3

taskset -c 0 iperf3 -c 192.168.8.130  -T s1 -p 5301 -t 60 -i 60 -b 2560M &
taskset -c 1 iperf3 -c 192.168.8.130  -T s2 -p 5302 -t 60 -i 60 -b 2560M &
taskset -c 2 iperf3 -c 192.168.8.130  -T s3 -p 5303 -t 60 -i 60 -b 2560M &
taskset -c 3 iperf3 -c 192.168.8.130  -T s4 -p 5304 -t 60 -i 60 -b 2560M &
wKgZO2lfCqyAf3yVAACEOiF84F4651.png

在串口终端中输入命令,使用mpstat监测处理器负载

mpstat -P ALL 1 60 

在tcp传输测试过程中,板卡串口终端mpstat程序每秒打印的cpu核心负载情况如图所示,处理器总负载约为41%

wKgZO2lfCqyAFxcYAACe7YdqwZw481.png

当60s传输测试完成后,主机命令行终端中会打印出测试结果,如图所示,板卡的 TCP TX 速率合计约为3.83Gbits/sec

wKgZPGlfCqyAFSh5AAAuoIPwNjM566.png

测试总结

wKgZO2lfCqyAaLlGAACGsqzjaV8203.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1663

    文章

    22494

    浏览量

    638983
  • 以太网
    +关注

    关注

    41

    文章

    6167

    浏览量

    181515
  • 开发板
    +关注

    关注

    26

    文章

    6409

    浏览量

    120582
  • MPSoC
    +关注

    关注

    0

    文章

    203

    浏览量

    25225
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析 ICS83PN161I:10G 以太网 FEC 时钟转换的理想之选

    深入解析 ICS83PN161I:10G 以太网 FEC 时钟转换的理想之选 在 10G 以太网 LAN/WAN 传输应用中,时钟频率转换至关重要,而 IDT 的 ICS83PN161
    的头像 发表于 04-12 12:40 374次阅读

    重磅新品亮相国际!ALINX 诚邀您莅临 Embedded World 2026

    欢迎莅临 ALINX 展台 5 号馆 5-437 展位 -新品亮相- New Release HEA13 Virtex US+ XCVU13P+Jeston Thor/Orin 顶级异构计算
    的头像 发表于 03-06 10:15 1577次阅读
    重磅新品亮相国际!<b class='flag-5'>ALINX</b> 诚邀您莅临 Embedded World 2026

    基于ZYNQ-MZ702P开发板实现以太网通信

    本章以太网通信实验是基于ZYNQ-MZ702P开发板进行实现,在配置方面,需要读者自主修改不同的地方。文章末尾有本项目原工程压缩包,提供参考。
    的头像 发表于 02-11 11:42 2167次阅读
    基于<b class='flag-5'>ZYNQ-MZ702P</b><b class='flag-5'>开发板实现以太网</b>通信

    ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    教程目的 本教程介绍如何在  ALINX Artix US+ AXAU25 FPGA  开发板上,通过  Multiboot  实现多个 b
    的头像 发表于 01-05 15:41 1616次阅读
    【<b class='flag-5'>ALINX</b> 教程】<b class='flag-5'>FPGA</b> Multiboot 功能<b class='flag-5'>实现</b>——基于 <b class='flag-5'>ALINX</b> Artix <b class='flag-5'>US+</b> AXAU25 <b class='flag-5'>开发板</b>

    FPGA 专业级开发平台性价比之选,ALINX Artix US+ PCle AXAU25

    。   ALINX AXAU25 的存在,就是为了解决这个痛点。 (ALINX AMD Artix US+ FPGA 开发板 AXAU25)
    的头像 发表于 12-24 10:54 917次阅读
    <b class='flag-5'>FPGA</b> 专业级<b class='flag-5'>开发</b>平台性价比之选,<b class='flag-5'>ALINX</b> Artix <b class='flag-5'>US+</b> PCle AXAU25

    L-com诺通推出710G以太网线缆组件

    随着工业以太网传输要求越来越高,需要更好应对嘈杂的连接环境。为了满足快速传输的网络需求,L-com诺通推出了一系列710G以太网线缆组件。
    的头像 发表于 10-28 16:10 782次阅读

    fpga开发板 璞致 Kintex UltraScale Plus PZ-KU3P 与 PZ-KU5P核心开发板用户手册

    Xilinx Kintex UltraScale+系列FPGA器件采用FinFET工艺,具有120万逻辑单元、UltraRAM、100G以太网MAC等资源,功耗比7系列降低60%。璞致
    的头像 发表于 09-26 10:46 1708次阅读
    <b class='flag-5'>fpga</b><b class='flag-5'>开发板</b> 璞致 Kintex UltraScale Plus PZ-KU3<b class='flag-5'>P</b> 与 PZ-KU5<b class='flag-5'>P</b>核心<b class='flag-5'>板</b>与<b class='flag-5'>开发板</b>用户手册

    ALINX 助力希腊 SpaceDot AcubeSAT 卫星项目,2026 将入太空

    卫星 时,采用了 SatNOGS 通信开发板内集成了  ALINX AC7Z020 FPGA SoM 。   (
    的头像 发表于 09-16 11:56 676次阅读
    <b class='flag-5'>ALINX</b> 助力希腊 SpaceDot AcubeSAT 卫星项目,2026 将入太空

    转让一块ALINXFPGA开发板

    转让一块ALINX的AXKU040开发板,成色非常新,买来基本没用过
    发表于 08-02 16:53

    企业与工厂为什么都在上10G以太网?一文看懂!

    10Gb以太网正成为企业与工业网络升级的关键选择。相比传统千兆网络,10G网络具备更高的带宽、更低的延迟以及更强的稳定性,能够应对数据中心、高清视频、边缘计算和工业控制等高负载场景。文章详解了
    的头像 发表于 07-22 09:45 2922次阅读
    企业与工厂为什么都在上<b class='flag-5'>10G</b><b class='flag-5'>以太网</b>?一文看懂!

    ALINX AMD RFSoC射频开发板选型指南

    ALINX 作为 FPGA 开发板领域领先供应商,RFSoC 系列开发板精准定位于雷达通信、5G 基站、卫星通信、测试测量等对性能要求严苛的
    的头像 发表于 07-11 10:03 1848次阅读
    <b class='flag-5'>ALINX</b> AMD RFSoC射频<b class='flag-5'>开发板</b>选型指南

    一文读懂——Air8000开发板以太网融合技术!

    Air8000开发板以多融合为核心优势,通过以太网供网技术突破传统组网局限。无论是工业自动化还是智能家居场景,该功能均可实现网络与电力同步供应,为设备集群管理提供灵活解决方案。 通过
    的头像 发表于 06-17 11:07 724次阅读
    一文读懂——Air8000<b class='flag-5'>开发板</b>的<b class='flag-5'>以太网</b>供<b class='flag-5'>网</b>多<b class='flag-5'>网</b>融合技术!

    高通自研5G10G以太网芯片,网络性能全面升级

    高通(Qualcomm)长期以来在路由器平台上依赖第三方的5G10G以太网芯片来实现高速口功能。然而,随着技术的进步,高通正式推出了自家
    的头像 发表于 06-05 12:08 3208次阅读
    高通自研5<b class='flag-5'>G</b>与<b class='flag-5'>10G</b><b class='flag-5'>以太网</b>芯片,网络性能全面升级

    正点原子Z15I ZYNQ 开发板资料发布!板载PCIe2.0、SPFx2、MIPI CSI等接口,资料丰富!

    的型号是XC7Z015CLG485-2I。开发板由核心+底板组成,外设资源丰富,板载2路千兆以太网接口、PCle2.0x2、SFP光口x2(每路速率高达6.25Gbps)、MIPI
    发表于 05-30 16:59

    正点原子Z20 ZYNQ 开发板发布!板载FMC LPC、LVDS LCD和WIFI&amp;蓝牙等接口,资料丰富!

    芯片型号是XC7Z020CLG484-2I。开发板由核心+底板组成,外设资源丰富,板载2路千兆以太网接口、一个FMC LPC座,HDMI输入和输出接口、LVDS LCD接口、音频接口
    发表于 05-30 16:55