接口接收数据_基于原语的千兆以太网RGMII接口设计

之前介绍MII接口时,有介绍过RGMII接口的由来,下面在贴一下:

表8‑7 MII接口介绍

简述

Pins

速率计算

MII

基本的100Mbps/10Mbps接口

RXD[3:0]、TXD[3:0]

TX_ER、TX_EN

RX_ER、RX_DV

TX_CLK、RX_CLK

CRS、COL

Clock=25MHz or 2.5MHz

数据位宽4bit(一个时钟周期传输4bit数据)

100Mbps=25 MHz *4bit

10Mbps=2.5 MHz *4bit

RMII

在MII基础上精简的100Mbps/10Mbps接口;

通过提升Clock频率保持与MII一样的速率;

RXD[1:0]、TXD[1:0]

TX_EN

RX_ER

CLK_REF

CRS_DV

Clock=50MHz

数据位宽2bit(一个时钟周期传输2bit数据)

100Mbps=50 MHz *2bit

10Mbps是利用10个周期采样一次数据,相当于

10Mbps=50MHz/10*2bit

SMII

串行MII 100Mbps/10Mbps接口;

进一步提升Clock频率保持与MII一样的速率;

RXD[1:0]

TXD[1:0]

TX_EN

RX_ER

CLK_REF

CRS_DV

Clock=125MHz

数据位宽1bit(一个时钟周期传输1bit数据)

串行数据帧:一帧10bit(8bit data+2bit control)

计算有效带宽时需要去掉控制位

100Mbps=125 MHz *(8bit/10bit)

10Mbps是利用10个周期采样一次数据,相当于

10Mbps=(125 MHz/10)*(8bit/10bit)

GMII

在MII接口基础上提升了数据位宽和Clock频率成为1000Mbps接口

RXD[7:0]、TXD[7:0]

TX_ER、TX_EN

RX_ER、RX_DV

GTX_CLK、RX_CLK

CRS、COL

Clock=125MHz

数据位宽8bit(一个时钟周期传输8bit数据)

1000Mbps=125 MHz *8bit

RGMII

GMII的简化版本

RXD[3:0]、TXD[3:0]

TX_EN

RX_DV

TX_CLK、RX_CLK

CRS、COL

Clock=125MHz

数据位宽4bit(一个时钟周期里,上升沿取TX\RX的0-3bit,下降沿取TX\RX的4-7bit,所以实际还是在一个时钟周期里传输8bit数据)

100

0Mbps=125 MHz *8bit

100Mbps=25 MHz *8bit

10Mbps=2.5MHz *8bit

SGMII

串行GMII,在此基础上提升了时钟频率达到1000Mbps

RXD[0]、TXD[0]

RX_CLK

Clock=125MHz

数据位宽1bit(一个时钟周期传输1bit数据)

串行数据帧:一帧10bit(8bit data+2bit control)

计算有效带宽时需要去掉控制位

1000Mbps=125 0MHz *(8bit/10bit)

RGMII是GMII的简化版本,发送端信号:TXD[3:0]、 TX_CLK、TX_EN,接收端信号:RX_DV、RXD[3:0]、RX_CLK,当Clock=125MHz,数据位宽4bit(一个时钟周期里,上升沿取TX\RX的0-3bit,下降沿取TX\RX的4-7bit,所以实际还是在一个时钟周期里传输8bit数据),1000Mbps=125 MHz *8bit、100Mbps=25 MHz *8bit、10Mbps=2.5MHz *8bit。

其实从实现方式看,很容易看出RGMII传输/收取数据的方式和DDR的方式类似,所以下面会针对这方面详细介绍。

8.5.1.1 RGMII信号定义及时序

RGMII 使用 4bit 数据接口采用上下沿 DDR( Double Data Rate)的方式在一个时钟周期之内传输 8bit数据信号,即上升沿发送或接收数据的低 4 位[3:0],下降沿发送或接收数据的高 4 位[7:4]。

发送端:

TXC:发送数据信号和控制信号对应的同步时钟信号( 125M、 25M、 2.5M)

TXD[3:0]:发送数据信号, 4bit 位宽

TX_CTL:发送控制信号

发送端信号时序如下图所示。

7e99c87e876dea933f34c10aac2825f6.png

图8‑18 RGMII发送端信号时序(来源88E1512datasheet,下同)

一般的 PHY 芯片都支持两种 RGMII 发送端口的时序关系。一种称为非延时模式,如下图所示:

b0b2f7fd99cef9a7ab6e6ee5c3fbfde5.png

图8‑19 RGMII发送端非延时模式(来源88E1512datasheet,下同)

cae42d20499585d00497a3b17919fe6a.png

即要满足时钟信号 TXC 的边沿对准数据信号 TXD[3:0]和控制信号 TX_CTL 有效窗口中心附近的位置,也就是说 TXC 比其他信号存在 2ns( 90°相位)(2ns来源:当 RGMII 接口工作于 1000M 速率时, TXC 和RXC 时钟信号都为 125MHz,那么单个接口的数据率便等同于 250Mbps,单个信号的有效数据窗最大为 4ns。)左右的延时。

另一种为延时模式,如下图所示。

a079d166b7c120e3233951346d9df749.png

图8‑20 RGMII发送端延时模式(来源88E1512datasheet,下同)

666eb704605dae61fc48f59bc8f04b5b.png

这种时序要求 TXC 的边沿不其发送的数据 TXD 和控制信号 TX_CTL 边沿对齐,所有信号具有相同的相位。

一般来说,大部分 PHY 芯片默认都是采用正常时序模式,可通过 MDIO 接口设置寄存器,或者芯片特殊功能引脚将其配置为延时模式。

接收端:

RXC:接收数据信号和控制信号对应的同步时钟信号( 125M、 25M、 2.5M)

RXD[3:0]:接收数据信号,4bit 位宽

RX_CTL:接收控制信号

接收端信号的时序如下图所示。

0f7931748abb3e32fdeea243db4b754a.png

图8‑21 RGMII接收端信号时序

同理接收端也有非延时和延时模式,原理同上,时序图如下。

1014f792877e280d9c924acbff1de80b.png

图8‑22 RGMII接收端非延时模式(来源88E1512datasheet,下同)

737fb96c6d1ecc7cd26d6b47e3265615.png

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值