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

科创闲谈 2026-02-12 趣味人生 55515

本章以太网通信实验是基于ZYNQ-MZ702P开发板进行实现,在配置方面,需要读者自主修改不同的地方。文章末尾有本项目原工程压缩包,提供参考。

下面直接进行操作。

1.打开vivado,选择好开发板芯片后,新建完成工程,点击open block design,再点击右边Diagram框图中的加号添加zynq再进行相关配置。

f0ea6ce2-058c-11f1-90a1-92fbcf53809c.png

配置输出时钟

下面根据个人使用的开发板进行配置。

f1a48c76-058c-11f1-90a1-92fbcf53809c.png

f25a9c64-058c-11f1-90a1-92fbcf53809c.png

选择DDR型号。

f2b7e784-058c-11f1-90a1-92fbcf53809c.png

开启中断。

f31dfaa6-058c-11f1-90a1-92fbcf53809c.png

2.添加AXI 1G/2.5G Ethernet Subsystem模块并进行配置。

f37bad2c-058c-11f1-90a1-92fbcf53809c.png

f3d5c78a-058c-11f1-90a1-92fbcf53809c.png

f458b4a6-058c-11f1-90a1-92fbcf53809c.png

其他保持默认即可,点击OK。

3.添加AXI Direct Memory Access模块。

f4b0d28a-058c-11f1-90a1-92fbcf53809c.png

4.添加concat模块,并修改为4个端口。连接PL至PS的中断。

f512b5e0-058c-11f1-90a1-92fbcf53809c.png

f573d244-058c-11f1-90a1-92fbcf53809c.png

5.添加两个AXI Interconnect模块,其中一个默认,另一个进行修改。

f5d85d90-058c-11f1-90a1-92fbcf53809c.png

f63423dc-058c-11f1-90a1-92fbcf53809c.png

6.进行连线,先进行自动连线,不对的地方需要自己手动修改,最终连线效果如下图。

f6957f7e-058c-11f1-90a1-92fbcf53809c.png

7.对引脚进行改名。

f6fbe73c-058c-11f1-90a1-92fbcf53809c.png

8.点击Validate Design验证block是否存在问题。

f753206a-058c-11f1-90a1-92fbcf53809c.png

9.添加约束文件。

### -----------------RX------------------### set_property PACKAGE_PIN B19[get_ports rgmii_rxc]set_property PACKAGE_PIN A21[get_ports rgmii_rx_ctl]set_property PACKAGE_PIN B20[get_ports {rgmii_rd[0]}]set_property PACKAGE_PIN C18[get_ports {rgmii_rd[1]}]set_property PACKAGE_PIN A19[get_ports {rgmii_rd[2]}]set_property PACKAGE_PIN A18[get_ports {rgmii_rd[3]}]### -----------------TX------------------### set_property PACKAGE_PIN B15[get_ports rgmii_txc]set_property PACKAGE_PIN C15[get_ports rgmii_tx_ctl]set_property PACKAGE_PIN A17[get_ports {rgmii_td[0]}]set_property PACKAGE_PIN A16[get_ports {rgmii_td[1]}]set_property PACKAGE_PIN B17[get_ports {rgmii_td[2]}]set_property PACKAGE_PIN B16[get_ports {rgmii_td[3]}]set_property IOSTANDARD LVCMOS18[get_ports rgmii_rxc]set_property IOSTANDARD LVCMOS18[get_ports rgmii_rx_ctl]set_property IOSTANDARD LVCMOS18[get_ports {rgmii_rd[*]}]set_property IOSTANDARD LVCMOS18[get_ports rgmii_txc]set_property IOSTANDARD LVCMOS18[get_ports rgmii_tx_ctl]set_property IOSTANDARD LVCMOS18[get_ports {rgmii_td[*]}]set_property PACKAGE_PIN R18[get_ports mdio_mdc]set_property PACKAGE_PIN T17[get_ports mdio_mdio_io]set_property IOSTANDARD LVCMOS18[get_ports mdio_mdc]set_property IOSTANDARD LVCMOS18[get_ports mdio_mdio_io]set_property IOSTANDARD LVCMOS18[get_ports phy_reset_n_0[0]]set_property PACKAGE_PIN T19[get_ports phy_reset_n_0[0]]

10.先生成顶层文件,再点击下方的Generate Output...。

f7bd4300-058c-11f1-90a1-92fbcf53809c.png

11.生成bit流文件。

f81952da-058c-11f1-90a1-92fbcf53809c.png

12.若生成比特流成功,则导出比特流,打开vitis软件进行工程创建。若显示失败,参考本人另一帖子。https://blog.csdn.net/c_lllll_ll/article/details/154642857?spm=1001.2014.3001.5501

13.导出bit流文件。

f874ccbe-058c-11f1-90a1-92fbcf53809c.png

f8d75500-058c-11f1-90a1-92fbcf53809c.png

14.打开SDK。若读者使用vitis,则需要自主创建工程。

f92ec092-058c-11f1-90a1-92fbcf53809c.png

15.新建工程。

f98834f6-058c-11f1-90a1-92fbcf53809c.png

f9ed8a90-058c-11f1-90a1-92fbcf53809c.png

16.选择lwIP Echo Server,点击finish

fa520128-058c-11f1-90a1-92fbcf53809c.png

17.此时需要打开bsp setting查看配置。

faaabcdc-058c-11f1-90a1-92fbcf53809c.png

18.上面两个value需要配置为1,因为是进行pl端扩展的以太网通信实验。ps端以太网测试则修改为0即可,下方的phy_link_speed需要设置为自动检测。

fb061ba4-058c-11f1-90a1-92fbcf53809c.png

19.phy_link_speed的设置需要与电脑网口配置相同,由于电脑网口配置一般都为自动检测,读者也可以自行检查。

(1)终端搜索 查看网络连接

fb69f3d6-058c-11f1-90a1-92fbcf53809c.png

(2)点击属性

fbcb11e8-058c-11f1-90a1-92fbcf53809c.png

(3)点击上方的 配置。

fc24fce4-058c-11f1-90a1-92fbcf53809c.png

(4)点击 高级,在下面的属性中找到 连接速度和双工模式,右边查看电脑网口配置。

fc7f13dc-058c-11f1-90a1-92fbcf53809c.png

20.在左侧文件栏中打开main.c函数,

fcdbeb84-058c-11f1-90a1-92fbcf53809c.png

21.查看sdk自动生成的测试代码中的mac地址

fd37283c-058c-11f1-90a1-92fbcf53809c.png

21.打开cmd,输入ipconfig,查看局域网内是否有相同的mac地址的设备,若有则需要修改代码,修改为不同的即可。

fd9202ca-058c-11f1-90a1-92fbcf53809c.png

22.进行编译。

fe029738-058c-11f1-90a1-92fbcf53809c.png

23.sdk需要点击run configuration进行配置。

fe59bc48-058c-11f1-90a1-92fbcf53809c.png

24.进行勾选,勾选后,连接好开发板的电源线,串口线,下载线,以太网的网线。

feb751dc-058c-11f1-90a1-92fbcf53809c.png

ff16cf2c-058c-11f1-90a1-92fbcf53809c.jpg

25.打开串口。

ff71e9f2-058c-11f1-90a1-92fbcf53809c.png

ffccb512-058c-11f1-90a1-92fbcf53809c.png

26.配置电脑网址。

点击属性。

0025dc6e-058d-11f1-90a1-92fbcf53809c.png

点击协议版本4。

00811552-058d-11f1-90a1-92fbcf53809c.png

需要配置网址,与开发板网址处于同一ip。

00d93494-058d-11f1-90a1-92fbcf53809c.png

27.烧录程序。

012f8e02-058d-11f1-90a1-92fbcf53809c.png

27.此时可以看到串口正常打印出开发板的ip地址,子网掩码,端口号。然后在终端进行ping连接。

0194d4ce-058d-11f1-90a1-92fbcf53809c.png

01f0cf36-058d-11f1-90a1-92fbcf53809c.png

28.打开网络调试助手,选择TCP Client,点击连接。

025710a2-058d-11f1-90a1-92fbcf53809c.png

选择指定本地主机地址,并选择配置的ip地址,点击确定。

02bd70f4-058d-11f1-90a1-92fbcf53809c.png

29.连接成功后,输入数据,回传成功,实验结束。

0316dc52-058d-11f1-90a1-92fbcf53809c.png