在FPGA上快速搭建以太网

在本文中,我们将介绍如何在FPGA上快速搭建以太网 (LWIP )。为此,我们将使用 MicroBlaze 作为主 CPU 运行其应用程序。

LWIP 是使用裸机设计以太网的良好起点,在此基础上我们可以轻松调整软件应用程序以提供更详细的应用程序。LWIP Echo 服务器的使用首先使我们能够确定底层硬件设计是否正确。

此设计的核心是 Vivado IP 中的 AXI Ethernet Lite IP 模块(我在该项目中使用Vivado 2023.1)。AXI Ethernet Lite IP 适用于 10 或 100 Mbps 以太网链路。这提供了一个资源很少的以太网接口,对于我们低成本的设备(例如 Artix 7 FPGA)来说是理想的选择。通过简单的以太网接口,设计人员可以使用以太网对最终应用进行命令和控制。

为了验证这一IP,将使用 Arty A7-35T 板。创建项目后,创建框图,从 IP Designer 的 Board 选项卡添加以下 IP

可以使用 Git Repo 中存储的 TCL 脚本重新创建完整的设计。关键设计点包括使用 DDR 时钟输出为除 AXI Ethernet Lite IP 模块(时钟频率为 100 MHz)之外的所有 AXI 网络提供时钟。

DDR 的系统时钟频率为 100 MHz,参考时钟频率为 200 MHz。DDR 接口运行频率为 324.99 MHz,其接口频率为大多数 AXI 接口频率的 1/4 (81.2475MHz)。

除了 AXI Ethernet Lite IP 之外,我们还需要提供 25MHz 参考时钟来配置以太网 Phy。

Vivado 中的设计如下所示。

有了可用的比特流,从 Vivado 导出XSA,并为 Vitis 中新应用项目导入XSA。

以 MicroBlaze 处理器为目标并选择 LWIP Echo Server 应用程序。

创建项目后,可以构建应用程序和平台。请注意,在 Vitis 2023.1 中编译 LWIP 时,xadaptor.c 文件中存在错误,第 388 行有两个状态声明,分别为 16 位和 32 位变量。如果发生这种情况,请注释掉 16 位声明并重新编译设计。

将 Arty A7 板通过网线连接到 PC 后,可以在 Arty A7 板上下载并运行应用程序。

终端将输出 IP 地址并提供发送到端口 7 的所有命令。

为了能够通过 Telnet 连接到 Arty A7,我们需要首先将主机的 IP 地址配置为与 Arty A7 类似。

主机上的 IP 设置正确后,我们可以打开与 Arty Board 的 Telnet 会话并发送要回显的命令。

最好将终端程序设置为执行本地回显并将 CR/LF 附加到消息中。

然后我们可以输入文本并观看它的回显。

今天的历程差不多就这样,这为我们开发以太网应用提供了一个良好的起点,后续我们就可以开发新的以太网项目。

相关推荐
KOAN凯擎小妹12 小时前
晶振信号质量:上升下降时间与占空比
单片机·嵌入式硬件·fpga开发·信息与通信
cmc102813 小时前
148.PCIE参考时钟无法绑定
fpga开发
我爱C编程16 小时前
【硬件片内测试】基于FPGA的完整BPSK链路测试,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·定时·bpsk·帧同步·卷积编码·维特比译码·频偏估计
FPGA_小田老师16 小时前
FPGA基础知识(十一):时序约束参数确定--从迷茫到精通
fpga开发·时序约束·建立时间·保持时间·约束参数计算
FPGA_小田老师16 小时前
FPGA基础知识(十二):详解跨时钟域约束
fpga开发·时序约束·跨时钟域·约束完整性
第二层皮-合肥1 天前
基于FPGA的雷达信号处理设计工具包分享
fpga开发·信号处理
美好的事情总会发生1 天前
FPGA的LVDS接口电压
嵌入式硬件·fpga开发·硬件工程·智能硬件
卡奥斯开源社区官方2 天前
量子计算“平价革命”深度解析:AMD破局FPGA方案+中国千比特云服务,技术拐点已至?
fpga开发·量子计算
贝塔实验室2 天前
译码器的结构
驱动开发·算法·网络安全·fpga开发·硬件工程·信息与通信·信号处理
bnsarocket2 天前
Verilog和FPGA的自学笔记9——呼吸灯
笔记·fpga开发·verilog·自学·硬件编程