RGMII 接口

本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。

概述

以太网的通信离不开物理层 PHY 芯片的支持,以太网 MAC 和 PHY 之间有一个接口,常用的接口有MII、RMII、GMII、RGMII 等。前面几篇文章中分别介绍了 MII, RMII, GMII。这一篇中来介绍一下 RGMII,介绍 RGMII 之前,这里先看下这几种接口的区别

  • MII(Medium Independent Interface,媒体独立接口):MII 支持 10Mbps 和 100Mbps 的操作,数据位宽为 4 位,在 100Mbps 传输速率下,时钟频率为 25Mhz。
  • RMII(Reduced MII):RMII 是 MII 的简化版,数据位宽为 2 位,在 100Mbps 传输速率下,时钟频率为 50Mhz。
  • GMII(Gigabit MII):GMII 接口向下兼容 MII 接口,支持 10Mbps、100Mbps 和 1000Mbps 的操作,数据位宽为 8 位,在 1000Mbps 传输速率下,时钟频率为 125Mhz。
  • RGMII(Reduced GMII):RGMII 是 GMII 的简化版,数据位宽为 4 位,在 1000Mbps 传输速率下,时钟频率为 125Mhz,在时钟的上下沿同时采样数据。在 100Mbps 和 10Mbps 通信速率下,为单个时钟沿采样。

RGMII 介绍

在千兆以太网中,常用的接口为 RGMII 和 GMII 接口。RGMII 接口的优势是同时适用于10M/100M/1000Mbps 通信速率,同时占用的引脚数较少。但 RGMII 接口也有其缺点,就是在 PCB 布线时需要尽可能对时钟、控制和数据线进行等长处理,且时序约束相对也更为严格。
为了节省引脚,开拓者开发板板载的 PHY 芯片采用的接口为 RGMII 接口,下图是 MAC 侧与 PHY 侧
接口的连接。
RGMII 拓扑图
在这里插入图片描述

  • ETH_RXC:接收数据参考时钟,1000Mbps 速率下,时钟频率为 125MHz,时钟为上下沿同时采样;100Mbps 速率下,时钟频率为 25MHz;10Mbps 速率下,时钟频率为 2.5MHz,ETH_RXC 由 PHY 侧提供。
  • ETH_RXCTL(ETH_RX_DV):接收数据控制信号。
  • ETH_RXD:四位并行的接收数据线。
  • ETH_TXC:发送参考时钟,1000Mbps 速率下,时钟频率为 125MHz,时钟为上下沿同时采样;100Mbps 速率下,时钟频率为 25MHz;10Mbps 速率下,时钟频率为 2.5MHz,ETH_TXC 由 MAC 侧提供。
  • ETH_TXCTL(ETH_TXEN):发送数据控制信号。
  • ETH_TXD:四位并行的发送数据线。
  • ETH_RESET_N:芯片复位信号,低电平有效。

站管理接口

  • ETH_MDC:数据管理时钟(Management Data Clock),该引脚对 ETH_MDIO 信号提供了一个同步的时钟。
  • ETH_MDIO:数据输入/输出管理(Management Data Input/Output),该引脚提供了一个双向信号用于传递管理信息。

引脚分类

  • ETH_RXC、ETH_RXCTL 和 ETH_RXD 为 MAC 接收侧引脚;
  • ETH_TXC、ETH_TXCTL 和 ETH_TXD 为 MAC 发送侧引脚;
  • ETH_MDC 和 ETH_MDIO 为 MDIO 接口引脚,用于配置 PHY 芯片内部寄存器
  • ETH_RST_N 为 PHY 芯片硬件复位信号

1000Mbit/s

RGMII 使用 4bit 数据接口,在 1000Mbps 通信速率下,ETH_TXC 和 ETH_RXC 的时钟频率为 125Mhz,采用上下沿 DDR(Double Data Rate)的方式在一个时钟周期内传输 8 位数据信号,即上升沿发送/接收低4 位数据,下降沿发送/接收高 4 位数据。

ETH_TXCTL 和 ETH_RXCTL 控制信号同样采用 DDR 的方式在一个时钟周期内传输两位控制信号,即上升沿发送/接收数据使能(TX_EN/RX_ DV)信号,下降沿发送/接收使能信号与错误信号的异或值(TX_ERR xor TX_EN、RX_ERR xor RX_DV)。

当 RX_DV 为高电平(表示数据有效),RX_ERR 为低电平(表示数据无错误),则异或的结果值为高电平,因此只有当ETH_RXCTL 和 ETH_TXCTL 信号的上下沿同时为高电平时,发送和接收的数据有效且正确。

100Mbit/s

当 RGMII 工作在 100Mbps 时,ETH_TXC 和 ETH_RXC 的时钟频率为 25Mhz,采用上升沿 SDR(Single Data Rate) 的方式在一个周期内传输 4 位数据。

ETH_TXCTL 和 ETH_RXCTL 控制信号仍采用上下沿 DDR 的传输方式。

10Mbit/s

当 RGMII 工作在 10Mbps 时,ETH_TXC 和 ETH_RXC 的时钟频率为 2.5Mhz,采用上升沿 SDR SDR(Single Data Rate) 的方式在一个周期内传输 4 位数据。

ETH_TXCTL 和 ETH_RXCTL 控制信号也采用 SDR 的传输方式。

RGMII 接口时序

接收端口时序

在这里插入图片描述

发送端口时序

在这里插入图片描述

参考

  • IEEE802.3
  • 正点原子 FPGA 开发指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyustli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值