ZYNQ 网络通信的四种实现方案

一,ZYNQ  MIO以RGMII 接口连接外部PHY芯片实现LWIP网络通信。

ZYNQ 网络通信的四种实现方案

ZYNQ 网络通信的四种实现方案

ZYNQ 网络通信的四种实现方案

二,ZYNQ  PS 的 ENET0/ENET1 通过 EMIO 的方式扩展至 PL,在 PL 中通过 RGMII 接口连接扩展子卡实现 LWIP 网络通信。

ZYNQ 网络通信的四种实现方案

在PL中搭建了1个AXI 1G/2.5G Ethernet Subsystem以及1个AXI Direct Memory Access IP 核。这两个 IP核均通过AXI 总线经S_AXI_HP0 口与PS 连接,PS 通过AXI 总线对其进行配置和控制。其中,AXI 1G/2.5GEthernet Subsystem IP 核通过 RGMII 接口与RTL8211 芯片连接。在PS 端通过SDK 自带的lwip echo server 与PC 机实现TCP 网络通信。每个DMA占四个中断,最多可扩展4个PL的LWIP网口。

ZYNQ 网络通信的四种实现方案

由于默认的驱动不支持RTL8211 的寄存器配置,所以无法支持自动适应速度(通过自己修改库可以实现自动适应 但是工作量大,考虑到投入时间和产出比,这里就不修改了)。所以手动修改LWIP 库让RTL8211 工作于1000Mbps。

ZYNQ 网络通信的四种实现方案

将千兆网线插入MZ7XB的LAN 接口,并与电脑连接,将电脑的 ip 地址设为 192.168.1.100,子网掩码为255.255.255.0。然后给开发板上电,通过 SDK 将程序下载入开发板后,观察SDK 串口打印信息,如下图示所示。表示千兆网络连接正常。

ZYNQ 网络通信的四种实现方案

三,将 PS 上 ENET0/ENET1 通过 EMIO 的方式扩展至 PL。在 PL 中分别通过 AXI 1G/2.5GEthernet Subsystem 和 AXI Direct Memory Access 两个 IP 核来实现 PS 中以太网外设GEMAC 和 DMA 的功能, PS 通过 AXI 总线控制两个 IP 核经扩展子卡实现 LWIP 网络通信。

四,将 PS 的ENET0/ENET1 通过 EMIO 的方式扩展至 PL。ENET0/ENET1 在 PL 部分通过 1G/2.5G Ethernet  PCS/PMA or SGMII IP 核与高速串行收发器 GTX 连接,从而可通过 SFP 接口实现 PS 的 LWIP 光/电网络通信。

ZYNQ 网络通信的四种实现方案

1,将 ENET1 及其 MDIO 接口以 EMIO引出,设置 PS 输出 1 路 200MHz 的时钟,用于给 1G/2.5G Ethernet PCS/PMA or SGMII IP 核提供参考时钟。使用 FCLK_CLK0 输出 200M 时钟。

ZYNQ 网络通信的四种实现方案

2,1G/2.5G Ethernet PCS/PMA or SGMII IP核设置:

     (1)把IP 核设置为 PS 的以太网控制器;选择 1000BASEX 模式;

ZYNQ 网络通信的四种实现方案

(2)配置GTX 收发器作为 SFP 的接口,输入 IP 核内部的 MMCM 的时钟源选择为 GTX 收发器输出的时钟 TXOUTCLK,该 MMCM 将产生我们所需要的用户接口时钟。MDIO 接口默认启用,使能自协商。为了简化设计,当设计中只包含 1 个此 IP 核时,应当将可共享的逻辑资源和硬件模块包含在 IP 核内部,这样会减少所生成的模块数量。

ZYNQ 网络通信的四种实现方案

3,vivado工程配置

由于 1G/2.5G Ethernet PCS/PMA or SGMII IP 核在 1000BASEX 模式下固定为千兆速率全双工,所以通过
EMIO 引出的 ENETI 的 GMII 引脚中的 COL 和 CRS 无需使用,全部通过 IP 核 Constant 置为 0 即可