FPGA之千兆网调试(一)_RGMII

        最近接了一个项目,使用K7通过RGMII实现千兆网功能。vivado中带有SGMII的IP核,RGMII的接口需要自己写一个GMII和RGMII的转换器(zynq系列带有GMII转RGMII的IP核)。K7中提供IDDR和ODDR的原语,可以分别实现RGMII到GMII和GMII到RGMII的转换。然后数据到UDP,实现数据的解析。UDP发送和接受接口各自接一个FIFO,实现数据缓冲,提高收发效率。PHY芯片使用88E1512。千兆网结构框图如下所示。

RGMII接口介绍

RGMII接口:

FPGA之千兆网调试(一)_RGMII_第1张图片

RGMII即Reduced GMII,是RGMII的简化版本,将接口信号线数量从24根减少到14根(COL/CRS端口状态指示信号,这里没有画出),时钟频率仍旧为125MHz,TX/RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送GMII接口中的TXD[7:4]/RXD[7:4]。RGMI同时也兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。

你可能感兴趣的:(以太网)