常用MII接口详解

news2025/1/19 22:12:47

开放式系统互连 (OSI) 模型

50a245ee915740a9a8ac46e5a477187e.png

七层开放系统互连 (OSI) 模型中,以太网层 位于最底部两层 - 物理层和数据链路层。 

 

  • 从百兆以太网接口开始

首先是百兆以太网规定的两种接口

介质无关接口 (MII)     Media Independent Interface

介质相关接口 (MDI)    Medium Dependent Interface

介质在这里可以理解为接口传输的介质,比如光纤、网线、铜缆等。

介质无关接口,应用在MAC到PHY的连接之间,与PHY的最终接口无关。虽然MII没有说明是什么速率,但是在100M时制定的标准,就代表是速率为100Mbit/s。

MII 接口主要包括四个部分。一是从 MAC 层到 PHY 层的发送数据接口,二是从 PHY 层到 MAC 层的接收数据接口,三是从PHY 层到 MAC 层的状态指示信号,四是 MAC 层和 PHY 层之间传送控制和状态信息的 MDIO 接口。

 

一、MII接口

MII接口信号, 根据MAC端定义:

  • 发送端 :TX_CLKTX_D[0-3]TX_ENTX_ER , TXER 为选配。
  • 接收端:RX_CLKRX_D[0-3]RX_DVRX_ERCRSCOL

MII接口的数据速率可达100Mbps, 其时钟频25MHz 单向数据位宽4bits。

25MHz * 4 = 100Mbit/s,2.5MHz * 4 = 10Mbit/s

c6ecaaf9c0844d078ff42b80c4d4ef56.png

图1、 MII信号方向

TX_D发送和RX_D接收数据线均为4条。

发送TX_CLK和接收RX_CLK各配置有1个时钟,注意发送和接收时钟均为PHY提供。

控制信号有RX_ER、RX_DV,TX_ER、TX_EN。

25MHz这个时序裕量是很大的,所以MAC发送数据的时钟由PHY提供并不会产生问题。

 

 表1 MII接口信号, 信号方向针对PHY,信号命令针对MAC。

信号

方向

位宽

含义

RX_CLK

O

1

发送时钟,PHY芯片产生,100Mbps时为25MHz,10Mbps时为   2.5MHz。

RX_DV

O

1

高电平表示发送的数据有效。

RX_ER

O

1

高电平表示发送数据的错误,接收端不接受该数据。

RX_D

O

4

发送数据总线。

TX_CLK

O

1

接收时钟,PHY芯片产生,频率与RX_CLK一致。

TX_EN

I

1

高电平表示接收的数据有效。

TX_ER

I

1

高电平表示接收的数据包有误,丢弃该数据包。

TX_D

I

4

接收数据总线。

CRS

O

1

载波侦测信号,不需要同步于参考时钟,有数据传输,CRS就有效,仅PHY在半双工模式下有效。

COL

O

1

冲突检测信号,不需要同步于参考时钟,仅PHY在半双工模式下有效。

 

 

PHY芯片向MAC传输数据时序

    PHY芯片在RX_CLK下降沿输出数据RX_DATA,两个时钟发送一字节数据,先发送低四位数据,后发送高四位数据,发送数据时RX_DV信号拉高。MAC侧在时钟上升沿采集RX_DV和RX_DATA状态。

ee50fcefcff8407db49c66182f12eb7b.png

图、 MAC侧接收数据时序 

MAC侧发数据给PHY芯片的时序

下降沿输出数据,方便接收端在上升沿对数据进行采样。

41a1907af8224b089df6ff02f1d4cfaf.png

图、 MAC侧发送数据时序 

MII接口发送、接收的数据线均为4位,则每个时钟周期发送或接收4位数据。

 

为什么是以100M以太网为标准向下兼容10M,而不是由10M向上升级到100M?

MII接口作为板内走线的接口,达到25MHz速率还是比较简单的,制约以太网传输跑10M的原因为网线质量、传输长度等限制。

 

以BCM5241 PHY为例,这就是一个百兆PHY,在DS文档中可以看到pin信号定义。

623272db0a124c8b981447c2b578746e.png

31e8fcd6ef4b45e98b632fce900d4b8c.png

 

因为RX部分信号要兼做配置信号,一开始可能注意不到,但TX部分信号很明显,除了PHY时钟是输出,其它TX信号是输入。细看RX部分信号,时钟为输出,其它RX信号也为输出。

为什么这里TX会是输入,RX会是输出?因为MII接口定义的TX、RX是以MAC角度来的。

 

 

    MII的数据线还是比较多的,数据地址时钟加起来就有14根。可以设想一下,在一个所有100M端口都需要连接外部PHY的交换芯片上,32个端口就需要448根信号线。减少信号连接是非常实际的需求。RMII接口应运而生。

 

 

二、RMII接口

RMII(Reduced Media Independent Interface)接口其实就是MII接口的简化版本。

RMII接口的数据速率可达100Mbps, 其时钟频50MHz 单向数据位宽2bits。

50M * 2 = 100Mbit/s , 5MHz* 2 = 10Mbit/s

相比于MII接口,RMII有以下四处变化:

  • TX_CLK 和 RX_CLK 两个时钟信号,合并为一个双向时钟 REF_CLK,由外部的晶振同时给PHY芯片和MAC主控芯片提供时钟信号

  • TX_DRX_D数据位宽减少到2bit

  • 时钟速率由 25MHz 上升到 50MHzTX_DRX_D由 4 bits 变为 2 bits

  • CRS 和 RXDV 合并为一个信号 CRSDV

  • 取消了 COL 、TX_ER、

RMII信号如下图所示。RMII只要 9 根信号线,相比于MII的 18 根信号可谓有不少的删减。

89a4f4e384ef48758591f8423f12b641.png


REF_CLK是指由外部的晶振同时给PHY芯片和MAC主控芯片提供时钟信号,而不是说这个信号是双向的。

表2 RMII接口信号, 信号方向针对PHY,信号命令针对MAC

信号

方向

位宽

含义

REF_CLK

I

1

参考时钟,外部晶振产生,100Mbps时为50MHz,10Mbps时为5MHz。

CRS_DV

O

1

高电平表示发送的数据有效。

RX_ER

O

1

高电平表示发送数据的错误,接收端不接受该数据。

RX_D

O

2

发送数据总线。

TX_EN

I

1

高电平表示接收的数据有效。

TX_D

I

2

接收数据总线。

注意,如果时钟是由外部晶振提供的,很明显,晶振不可能根据情况自动输出50Mhz、5MHz,明显这个时候是不能100M、10M切换的。如果是需要自适应10/100M,TX_CLK是由PHY芯片发出。

RMII接口时序与MII完全一致,所以不再赘述。

 

千兆以太网

一、GMII接口

GMII(Gigabit Medium Independent):千兆以太网。在MII前面加了一个代表千兆的G表示千兆以太网的MII接口。

GMII接口其时钟频率为 125MHz ,单向数据位宽 8 bits。GMII向下兼容MII,工作在 100Mbps 和 10Mbps 的数据速率采用降位宽

 125M * 8 = 1000Mbit/s,  25MHz* 4 = 100Mbit/s,2.5MHz * 4 = 10Mbit/s。

GMII接口信号,根据MAC端定义:

  • 发送端信号:GTXCLK, (TXCLK)TXD[0-7]TXENTXER
  • 接收端信号:RXCLKRXD[0-7]RXDVRXERCRSCOL

a63d7a73e1be4f449db1e2d3dde6d41b.png

举例:

从支持GMII接口的BCM53457芯片的DataSheet手册中相关信号定义

89885a8944e141fb86c37c748f8c623f.png

收发数据线都是8-bit,控制信号与MII接口时一致。这个是交换芯片的MAC侧,所以TX为发送,RX为接收。

    注意可以看到GMII的TX发送端有两个时钟, GTXCLK 和 TXCLK 在实际应用中,绝大多数GMII接口都是兼容MII接口的,所以,一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK(两者的方向是不一样的),在用作MII模式时,使用TX_CLK和8根数据线中的4根。

    首先GTXCLK,顾名思义就是只在1000M模式下的时钟,改为由MAC输出,所以加了G字母区别于TXCLK,而RXCLK没有这个问题。

    GTXCLK1000M模式下使用,原因可能在于1000M时时序裕量明显小于100M时,要MAC发送端根据接收端发过来的时钟触发数据发送由接收端采样难度太大,改为发送时钟也由发送端提供就是一个标准的源同步时钟接口。

    但是,当100M、10M模式时,并不是将GTXCLK降低到12.5M、1.25M来实现,这样就没办法兼容之前的100M PHY。因为MII接口上,TXCLK是由PHY提供的,所以也不可能用GTXCLK时钟,而是另外有一个TXCLK时钟。所以100M、10M模式时,TX_CLK提供25M、2.5M,数据线实际都只有低4-bit会工作要实现1000Mb/s、100Mb/S、10Mb/S自适应,信号连接时必须加上TX_CLK(PHY输出)。

故GMII有3个时钟, Gtx_clk,Rx_clk ,Tx_clk。


1) GTX_CLK仅使用在GMII模式下,时钟频率为125M,发送数据时的时钟。

当工作于1000Mbps 模式时,TXD, TXEN, TXER 是与 GTXCLK (125MHz)同步的,


2) TX_CLK仅使用在MII模式下,发送数据时的时钟。 

    当工作 10/100Mbps 模式时,数据信号是同步于由PHY提供的TXCLK 的,其中 100Mbps 时是 25MHz10Mbps 时是 2.5MHz

 

3) RX_CLK在GMII和MII模式下均可使用,接收数据的时钟。
   

 

   PHY发送数据给MAC的时序

    与MII接口一样,PHY芯片在RX_CLK下降沿输出数据,MAC在上升沿采集数据,但是GMII接口每个时钟周期传输一字节数据。

96788f852c994c528a097e0e87adc3be.png

 

MAC发送数据到PHY的时序

在下降沿输出一字节数据即可。

c320357b19bd42ff83f3387b2d4e37b4.png

 

    GMII信号线数量又比MII有了明显上升,减少信号连接的需求更为迫切。于是对应RMII的RGMII接口出现。

 

二、RGMII接口

RGMII(Reduced Gigabit Media Independent Interface)接口就是把GMII接口的数据线做简化处理,也能够实现千兆网。RGMII v1.3 采用 2.5V CMOS 电平,RGMII v2 采用 1.5V HSTL 电平。

在RGMII接口中,其时钟频率为 125MHz ,单向数据位宽 4 bits

  • 1000Mbps 模式,数据在时钟的上/下边沿均采样
  • 10/100Mbps 模式,数据仅在时钟上升沿采样   

125M * 4 * 2= 1000Mbit/s,  25MHz* 4 = 100Mbit/s,2.5MHz * 4 = 10Mbit/s。

RGMII相比于GMII减小将近一半的管脚数(24 → 12),通过以下两种方式:

  • 1000Mbps模式下,在时钟的上/下边沿均采样数据(DDR)
  • TX_DRX_D数据位宽减少到4bit
  • 取消不重要的CRSCOL 、TX_EN、TX_ER、RX_ER、RX_DV
  • 取消GTXCLK,改为MAC发送TX_CLK、PHY发送RX_CLK
  • 增加TX_CTL,RX_CTL

f9408bdfa7314870a2d9cc9bbaa413fb.png

    在RGMII接口中 MAC 在 TX_CLK上一直提供时钟信号,而不像在GMII接口中那样,10/100Mbps 模式下时钟是由 PHY 提供(TXCLK),而 1000Mbps 模式下时钟是由 MAC 提供(GTXCLK)。

     在RGMII中应用到源同步时钟,即数据与时钟信号是同步的。这要求在PCB设计中,要对时钟信号额外增加 1.5~2 ns 的延迟以保证接收端的建立/保持时间满足要求。在 RGMII v2.0 规范中有定义MAC/PHY内部延迟(RGMII-ID),由此避免PCB设计中再要增加这个延迟。

    RXCTL 和 TXCTL 为复用的传输控制信号。RXCTL 在时钟的上升沿代表 RXDV,在时钟的下降沿代表(RXDV xor RXER);TXCTL 在时钟的上升沿代表 TXEN,在时钟的下降沿代表(TXEN xor TXER)。

    数据信号每方向由8-bit降到4-bit,控制信号每方向由2-bit降到1-bit。那么时钟信号是不是像RMII由25MHz提高到50MHz那样,由125Mhz提高到250MHz呢?

    不是,原因可能是对于当时的硬件设计来说,250MHz单端信号难度还是大。所以RGMII使用了Double Date Rate技术,也就是DDR,双边沿采样。使用125MHz时钟的上升沿和下降沿各采一次,在4-bit数据线下实现了1000Mbit/s的传输。

    既然是双边沿采样,MII、GMII的下降沿发出数据、上升沿采样的方式就不能用了。

 

MAC的发送数据到PHY时序

    MAC侧在时钟TX_CLK的上升沿将需要发送数据的低4位输出到数据线TXD,在时钟TX_CLK下降沿将传输数据的高4位输出到数据线TXD。因此每个时钟传输1字节数据,125MHz的时钟就能实现1000Mbps速率。 

e04742dbbec5471aa3c77039cc3d8de0.png

    注意TX_CTL信号,该信号将TX_EN和TX_ER结合,在TX_CLK上升沿,TX_CTL输出TX_EN的状态,高电平表示数据有效,在TX_CLK下降沿,此时输出TX_EN异或TX_ER的结果,所以只有当TX_CTL在TX_CLK上升沿和下降沿同时为高电平时数据才是有效的。 

MAC的接收PHY的时序

37bee0778c964f5d9be00ef0240cfa74.png

 

    MAC侧不能直接将TX_CLK输出给PHY芯片使用,因为TX_CLK的上升沿和下降沿对应的TXD信号都处于变化阶段,此时采集数据可能会出错,TX_CLK周期为8ns,将TX_CLK延迟xns后输出给PHY芯片作为TX_CLK,延迟后的信号上升沿和下降沿对应的TXD就是稳定的,此时就可以稳定采集数据。 

 

上升沿输出上升沿采样,下降沿输出下降沿采样,接收端的的数据建立时间怎么来?在没有delay技术出来的时候,只能靠外部走线绕线来实现,TX_CLK靠绕线到达接收端的时机要比数据慢,此时数据在接收端已稳定建立好,可以保证采样正确。

    参考RGMII BCM54616手册中的Normal模式建立时间1ns的要求,差不多就是5600mil,15cm左右。在调试FT2000A RGMII接口连接BCM54616时,RGMII不通,delay模式搞不清的情况下,将TXCLK增加了一段15cm的飞线,RGMII正常。通过绕线来降低信号数量,代价还是太大,所以Delay技术应用在了RGMII接口上。

    Delay技术,简单来说,比如MAC在发送数据时,内部TXCLK上升沿触发数据发送,但此时时钟并不是也同时发送到信号线上,而是经过一个PLL延时电路延时了1ns在放到信号线上,相当于就起到了绕线的作用。接收方向的Delay则是,当时钟和数据同时到达后,不直接用时钟的边沿采样,而是delay之后再采,保证数据的准确性。

    这样就极大方便了RGMII的PCB布线,只要考虑一个方向内时钟和数据线的等长就可以了。

    RGMII的两侧,MAC和PHY,每一方的发送和接收都可以加入delay技术,设计时就要注意,一方delay就可以了。有时候还会有比如MAC只能做发送delay,不具备接收delay能力的情况,一定要根据具体情况来设计。

 

从支持RGMII接口的BCM54616芯片的DataSheet手册相关信号定义

8d004b53fb654983b1419ca2e7456c2a.png

    因为是PHY侧,TX为接收,RX为发送。在设置PHY侧的Delay也要注意,既然PHY侧的TX为接收,RX为发送。所以PHY的TX delay实际是指MAC发送、PHY接收这一路的Delay,RX delay是指MAC接收、PHY发送这一路的Delay。

 

    RGMII作为信号减少的接口,尽管12根信号线确实不多,但实际使用中还是觉得使用不便,多端口时布线繁琐。所以现在最常见的千兆MII接口是SGMII。

    在说SGMII之前先说了1000Base-X,是因为SGMII和1000 Base-X是脱不开的关系的,从PHY芯片的1000Base-X接口就是SGMII接口就能看出来。

    xGMII是IEEE定的标准,SGMII是思科定的标准(1999年10月出的第一版规范),本质上来说,SGMII就是将1000base-X(802.3zclause36 1998年出的规范)的PCS层(8B/10B编码,码组对齐同步和1000base-X物理层pcs编码一样,但自协商功能有差异)和PMA层(串并转换,时钟恢复,早期定义的SGMII规范没有CDR)拿过来用。

    实际上SGMII接口就带有1000base-X的特征,1000base-X不需要控制信号,SGMII也就不需要,这个信号在1000base-X的PCS层里就处理好了,不用发送出去。

    RGMII的信号数量仍然不少,于是为了更方便快捷的连接千兆以太网的MAC和PHY,采用serdes技术的SGMII:Serial GMII诞生了。

 

三、SGMII接口

    SGMII发送、接收各1对差分对,在时钟信号的上升沿和下降沿均采样(DDR 模式), 发送和接收时钟频率均为 625MHz , 差分对为1.25Gbit/s速率。

    采用8b/10b编码方式,在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER 两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER 两比特控制信息。

  1. 625Mbps * 2 = 1.25Gbps,1.25Gbps * 80% = 1Gbps

    SGMII发送和接受数据各 1 对差分信号(LVDS),有 1 对差分时钟,共 6 根线。对于 MAC/PHY 中包括时钟恢复电路(CDR)系统,TXCLK 可以省略,SGMII接口只需要 4 根线。

8cfef280b08e4b239885953722c73d4d.png

    但是SGMII规范还设计有随路时钟, 这是因为早期为了节省成本,芯片内没有CDR。现在的芯片基本都可以通过接收端CDR做时钟恢复,进一步减少时钟引脚和时钟与数据之间的skew,也减少了信号pin数量。

    SGMII很容易理解成将GMII的并行数据通过串并转换后发送出去,8-bit数据,2-bit控制,刚好满足1.25Gbit/s的实际速率。但是实际并不是这样理解,而是125MHz参考时钟通过PLL进行5倍倍频后,625MHz时钟嵌在数据里,采用DDR模式,故625Mbps * 2 = 1.25Gbps。

    SGMII在跑100M速率时,并不是降速到125M,这种速率下无法避免长0或长1的问题,Serdes在这个速率跑不起来。所以实际SGMII跑100M时也是1.25Gbit/s速率,就是把1分数据重复发了10次。1000 BASE-X跑百兆光模块时实际也是这么运行的。

    1000base-X为什么要做8b/10b编码,原因就是serdes码流中不能有长时间0或长时间1的情况,长0或长1时接收端不能正确地采样信号,另外还会由于单极性码含有直流分量,这种直流成分会随数据中1和0的随机变化也呈现随机性,这会引起接收端的基线漂移导致接收端误判。

    SGMII如果不做8B/10B编码,serdes传输是不能成立的,所以SGMII的1.25Gbit/s速率也是因为8B/10B编码。那么2-bit的控制信号是加扰二进制码,将8bit编码成10bit后,连续的1或者0不能超过5位。

   

 

四、QSGMII接口

    QSGMII的Q为Quad,4的意思。就是4组SGMII信号放在一组serdes信号上,工作在 DDR 模式,采用8B/10B编码方式,只有1个差分对速率为5Gbps,时候频率是5Gbps / 2 = 2.5GHz

2.5GHz * 2 = 5Gbps,5Gbps * 80% = 4 Gbps

    用字节交织的方式发送,即MAC0字节,MAC1字节,MAC2字节,MAC3字节组在一起。QSGMII在MAC端需要占用4个MAC。

d0f2d476c828455a89867718803d87bb.png

 

以RTL8218D_PHY的DS手册来看

是PHY侧,TX为接收,RX为发送。引脚定义的TX、RX是以MAC端来命令的
0efc822f99624440a39c4903666cffcd.png
 

 

  • 万兆以太网

有了前面的基础,万兆以太网就比较好理解了。

 

一、XGMII接口

    XGMII是10 Gigabit Media Independent Interface 是“10Gb介质无关接口”,X对应罗马数字10。XGMII 是10G以太网的MAC与PHY设备间通信的接口标准,时钟频率 156.25 MHz ,工作在 DDR 模式。

  • 156.25 MHz * 32 bits * 210 Gbps

    根据MAC端定义 :

  • 发送端:TXD[31:0],TXC[3:0],TX_CLK
  • 接收端:RXD[31:0],RXC[3:0],RX_CLK

    图 RXD/TXD 信号表示 32 bits 数据 + bits 控制信号,其中每 8 bits 数据称为 1 个Lane,共用 1 路控制信号。

72f80edc46764c379fa92f9f240f9708.png

 

参考XLR732 CPU上XGMII接口的pin定义和示意图。

76a29a05d61943f4802cf033aa5966f8.png

da9d0520d6dd4b158db17f49775b502c.png

    即使用了DDR技术,总的信号线数量也达到了74根。而且因为这么多信号线走156.25M速率要保证等长,又因为电气特性的影响,一般XGMII只能支持7cm的PCB走线,XGMII的使用难度很大。实际中一般见到的都是XAUI接口。

 

 

二、XAUI接口 

   XGMII信号数目(74 根)较多,通常用于芯片内的连接,不适合作为芯片间通信的接口,因此协议定义XGXS(XGMII eXtender Sublayer)子层以缩减信号数目,简化硬件设计。

    XGXS 子层主要完成 8b/10b 编码和不同Lane之间的去偏斜等功能。如图所示,在信号链的两端,MAC和PHY 都包括XGXS子层,XAUI 是 XGXS 之间通信的接口。

efda5b509f25461193596889724211e1.png

    XAUI 接口4对差分对(收发),共 16 根信号。每组差分对(Lane)的数据速率为 3.125 Gbp,时钟频率是3.125Gbps / 2 = 1.5625GHz

1.5625GHz *2 * 4 = 12.5 Gbps, 12.5Gbps * 80% = 10 Gbps

ac4b7fb31b7d4215b43a998178f46457.png

    XAUI在XGMII的基础上实现了XGMII接口的物理距离扩展,将PCB走线的传输距离增加到50cm,使背板走线成为可能。

    这里提一下,虽然XAUI有4serdes组信号,但它仍然是串行总线而不是并行总线,因为这4组sedes并不共用时钟,时钟都是从各自CDR中恢复的。这4组serdes也没有等长的要求,因为它们之间没有时序关系。这个结论可以推广到所有4组serdes组成的以太网接口。

XAUI也有自己的信号数量降低版本,RXAUI,2组serdes,速率提高到6.25Gbit/s。

    到这个阶段,实际上所谓的MII是MAC层和PHY层的介质无关接口的定义已经名不副实了。要实现serdes的长距离传输,物理层是不可或缺的,XAUI包括SGMII,实际上连接就已经是物理层对物理层了。

 

 

  • 超高速率以太网

    更高速率的以太网显而易见,已经不可能再在芯片外部走线上使用并行总线,只能用serdes来实现。

这里看一下盛科CTC9280芯片手册上的端口。这些名称都不太标准,但是可以帮助理解。

35c478b344f4412eb3203c46efe9ce71.png

 

一、XFI接口

XFI是10G以太网 PMA和 PMD之间的接口标准,它只有2对差分线(收/发),共 4 根线。XFI 接口速度达到 10.3125 Gbps,采用 64B/66B 编码,每对差分线速率5.15625Gbps,每对时钟频率2.578125GHz,在XAUI与XFI之间使用到 SerDes 以减小信号数。

2.578125GHz * 2 * 2 = 10.3125 Gbps,10.3125 Gbps *(64/66)= 10Gbps

0dd777d274d7499d93a3dc144931c92f.png

    XFI和SFI接口都是高速串行接口,但是它们的物理层和电气特性不同。XFI接口是10G以太网物理层接口,而SFI接口是SONETISDH物理层接口。此外,XFI接口使用的是单模光纤,而SFI接口使用的是多模光纤。

    XFP(10 Gigabit Small Form Factor Pluggable)是指应用XFI接口的光模块,应用于10G以太网的光传输。XFP光模块的尺寸略大于 SFP 和 SFP+ 光模块,三种光模块的详细对比见如下地址 

Difference between XFP, SFP and SFP+ | XFP vs SFP vs SFP+

 

二、XLAUI接口

XLAUI:参照XAUI,XL是罗马数字40的意思,就是40G的XAUI接口,占用4个Lane。

100G的类似接口为CAUI,C为罗马数字100。

 

三、25G接口

25G:25G以太网接口,可以理解为25G的SFI。

 

四、50G接口

50G NRZ:NRZ的意思是指不归零码Non Return to Zero。区别于归零码。区别看下图简单理解。

e6388c71037c4f3993a2df1011066a79.png

这里50G NRZ的意思是两组25G组成的50G。一个50G占用两个Lane。

    50G PAM4:PAM4 (4 Pulse Amplitude Modulation) 指四电平脉冲幅度调制)。是一种PAM(脉冲幅度调制)调制技术。PAM4采用4个不同的信号电平来进行信号传输,每个符号周期可以表示2个bit的逻辑信息(0、1、2、3),也就是一个时间单位内是四个电平。也就是一次时钟边沿采样可以采用2-bit数据。对比25G NRZ为12.5GHz时钟实现25Gbps速率,50 PAM4则为12.5GHz时钟实现50Gbps速率。

 

PAM技术可以在基频不变的情况下提升serdes速率,但缺点也很明显,极大复杂化了信号。

2145d0b774f645a6ad849315eadf9829.png

100G NRZ:4组25G NRZ组成100G。

200G R4: 4组50G PAM4组成200G。

400G R8:8组50G PAM4组成400G。

400G R4:4组100G PAM4组成400G。

800G R8:8组 100G PAM4组成800G。

 

在PCB上serdes速率越来越接近理论极限的情况下,PAM技术已经越来越多的出现在各种接口上。

比如,PCIe 6.0引入PAM4,将速率由5.0的32Gbps提升至64Gbps。

 

 

百兆以太网MDI接口

介质相关接口,就是PHY对外出的最终接口。

在100M以太网中,制定的三种有关传输介质的标准是100BASE-TX、100BASE-T4、100BASE-FX。

 

100BASE-TX:

    使用两对双绞线,一组发送,一组接收。100Base-T使用4B/5B曼彻斯特编码机制。数据传输速率为100Mbit/s,则实际传输速率为125Mbit/s。

    所谓的曼彻斯特(Manchester)编码方法,即由“+”跳变到“-”为0,由“-”跳变到“+”为1。不论是“0”或是“1”, 都有跳变。

100BASE-T4:

    使用4对双绞线,其中的三对线用以传输数据(每对线的数据传输率为33.3Mbps),一对线进行冲突检验和控制信号的发送接受。

    100BASE-T4的信号采用8B/6T的编码方式,即每8位作为一组的数据转换为每6位一组的三元码组。

100BASE-FX:

是在光纤上实现的100 Mbps以太网标准,其中F指示光纤,IEEE标准为802.3u。为了实现时钟/数据恢复(CDR)功能,100Base-FX使用4B/5B编码机制。

 

千兆以太网MDI接口

    1000BASE-T,基于非屏蔽双绞线传输介质,传输距离为100米。在传输中使用了全部4对双绞线并工作在全双工模式下。这种设计采用 PAM-5 (5级脉冲放大调制) 编码在每个线对上传输 250Mbps。

    双向传输要求所有的四个线对收发器端口必须使用混合磁场线路,因为无法提供完美的混合磁场线路,所以无法完全隔离发送和接收电路。任何发送与接收线路都会对设备发生回波。1000BASE-T的编码方式比较复杂,最终落实到每一路的基频时钟是31.25MHz。

1000BASE-TX,也是基于四对双绞线,但却是以两对线发送,两对线接收( 类似于100Base-TX的一对线发送一对线接收)。由于每对线缆本身不进行双向的传输,线缆之间的串扰就大大降低,同时其编码方式也相对简单,无需回声消除技术。

    这种技术对网络的接口要求比较低,不需要非常复杂的电路设计,降低了网络接口的成本。但由于使用线缆的效率降低了(两对线收,两对线发),要达到1000mbps的传输速率,要求带宽就超过100mhz,也就是说在五类和超五类的系统中不能支持该类型的网络。一定需要六类系统的支持。

 

1000BASE-X,基于光纤介质,X代表单模或多模光纤.-X表示-CX、-SX以及-LX或(非标准化的)-ZX。1000BASE-X是非标准叫法。采用8b/10b编码,实际传输速率为1.25Gbit/s。

-CX:采用均衡屏蔽的150Ω屏蔽双绞线(STP), 最大传输距离25米。

-SX:多模光纤上的短波激光。(Single-mode Fiber)

-LX:多模光纤上的长波激光。(Multi-mode Fiber)

-ZX:Cisco 指定的千兆以太网通信标准。运行在平常的链接跨度达43.5英里(70千米)的单模光纤上。

 

万兆以太网MDI接口

 

10G以太网的速率很高,一般都是以光口形式出现,统称为10G Base-R,又可细分为SR、LR、ZR、LRM等多种形式,这部分与光模块联系很深,相关内容这里不细讲。

 

10G PHY连接光口时,一般都是XFI、SFI形式。XFI(接XFP光模块)接口相对SFI(接SFP+光模块)来说 一个很大的区别是:Mac端SFI接口需要包括预加重/均衡模块,同时SFP+光模块处不再拥有CDR模块,CDR由MAC端完成,这样SFP+相对XFP光模块来说,功耗少了一大半,体积也小。XFP光模块的大小和QSFP+、QSFP28差不多大。

 

10G Base-CR/KR也是经常见到的标准,这两个都是跑在铜线上,但是一个是电缆、一个是背板。直观地可以认为,接光模块时走线短,信号衰减比接电缆、背板要小,CR和KR就要想办法加强信号强度和抗干扰能力。

 

10G以太网还有支持双绞线的10G Base-T标准。

10G Base-T采用的仍然是RJ-45网络接口,传输双绞线采用六类线,支持的传输距离最远可达100米,仍然采用四个差分对同时传输,全双工,但传输的总速率高达10Gbps,每对线的速率高达2.5Gbps。

    虽然采用了六类线的4个差分同时传输,把每个差分对的速率降到了2.5 Gbps,但要在双绞线上跑这个速率仍然是一个非常具有挑战性的工作。10G Base-T采用了非常复杂的编码方案来达到目标。最终结果是每个线对的码元传输率就是800M/s,用不算高的时钟速度实现了10G。这里就不展开说了。

结束。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1496154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Redis]——缓存击穿和缓存穿透及解决方案(图解+代码+解释)

目录 一、缓存击穿(热点Key问题) 1.1 问题描述 1.2 解决方案及逻辑图 1.2.1 互斥锁 1.2.2 逻辑过期 二、缓存穿透 2.1 问题描述 2.2 解决方案逻辑图 2.2.1 缓存空对象 2.2.2 布隆过滤器 一、缓存击穿(热点Key问题) 个人理…

web学习笔记(二十六)

目录 1.JS执行队列 1.1JS是单线程 1.2Web Worker 1.3同步和异步 1.4JS执行机制 2.location对象 2.1什么是location对象 2.2url包含的信息 2.3location对象属性 2.4location对象的方法 3.navigator对象和history对象 3.1navigator对象 3.2history对象 1.JS执行队…

manjaro 安装 wps 教程

内核: Linux 6.6.16.2 wps-office版本: 11.10.11719-1 本文仅作为参考使用, 如果以上版本差别较大不建议参考 安装wps主体 yay -S wps-office 安装wps字体 (如果下载未成功看下面的方法) yay -S ttf-waps-fonts 安装wps中文语言 yay …

数据结构之时间复杂度和空间复杂度

目录 一.什么是数据结构? 二.什么是算法? 三.算法效率 1.如何衡量算法的好坏 2.算法的复杂度 四.时间复杂度 1.时间复杂度的概念 2.例题展示 五.空间复杂度 1.概念 2.注意事项 空间的销毁>归还对空间的使用权内存空间属于操作系统的进程 …

【工具相关】zentao用例管理平台部署实践

文章目录 一、备份还原1、数据备份1.1、前言1.2、版本备份1.3、数据备份 2、数据恢复2.1、版本恢复2.2、数据恢复 二、问题处理1、ERROR: SQLSTATE[HY000] [2002] Connection refused 一、备份还原 1、数据备份 1.1、前言 禅道系统从10.6版本以后,新增数据备份设…

element-ui radio 组件源码分享

今日简单分享 radio 组件的实现原理,主要从以下三个方面来分享: 1、radio 页面结构 2、radio 组件属性 3、radio 组件方法 一、radio 页面结构 1.1 页面结构如下: 二、radio 属性 2.1 value / v-model 属性,类型为 string / …

谷歌新作:AI 检测文件内容类型,5ms 即可完成 | 开源日报 No.192

google/magika Stars: 5.0k License: Apache-2.0 magika 是一个利用深度学习来检测文件内容类型的工具。 使用自定义、高度优化的 Keras 模型,仅约 1MB 大小,在单个 CPU 上能够在毫秒内实现精确的文件识别。在超过 1M 文件和 100 种内容类型&#xff0…

供应链管理(SCM):界面设计全面扫盲,得供应链者得天下

大家伙,我是大千UI工场,专注UI分享和项目接单,本期带来供应链系统的设计分享,欢迎大家关注、互动交流。 一、什么是SCM SCM系统是供应链管理(Supply Chain Management)系统的缩写。供应链管理是指协调和管…

立式学习灯哪个牌子好?教你6个挑选窍门,甩掉坑货!

很多用户对立式学习灯的理解存在偏差,认为只要选择昂贵的、热度高的台灯就能万事大吉,实测不然!要知道,目前的市场上充斥着各类不专业立式学习灯,其中就包括不少所谓的网红品牌、跨界品牌,它们普遍通过造型精致、明星代…

Vue+SpringBoot打造考研专业课程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高校教师管理模块2.4 考研专业模块2.5 考研政策模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 考研高校表3.2.2 高校教师表3.2.3 考研专业表3.2.4 考研政策表 四、系统展示五、核…

CTP-API开发系列之三:柜台系统简介

CTP-API开发系列之三:柜台系统简介 CTP-API开发系列之三:柜台系统简介中国金融市场结构---交易所柜台系统通用柜台系统极速柜台系统主席与次席 CTP柜台系统CTP组件名称对照表CTP柜台系统程序包CTP柜台系统架构图 CTP-API开发系列之三:柜台系统…

实现粘性布局position:sticky

对于粘性定位这个概念,很多人都没有注意到,所以写这篇文章总结一下。 粘性定位它基于用户的滚动位置来定位。 粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。 它的行为就像 position:relative;…

查看Linux文件的所有者、用户组等所属信息

在Linux系统中,要查看文件或目录的所有者、用户组以及其他权限信息,可以使用以下命令: ls 命令: 使用 -l(长格式)选项来查看详细信息,包括所有者、用户组、大小、修改时间以及权限等。 ls -l /p…

【JavaScript 漫游】【031】window 对象总结

文章简介 本篇文章为【JavaScript 漫游】专栏的第 030 篇文章,记录了浏览器模型中 window 对象的相关知识点。 window 对象概述 浏览器里面,window 对象(注意,w 为小写)指当前的浏览器窗口。它也是当前页面的顶层对…

【开发工具】Git模拟多人开发场景理解分支管理和远程仓库操作

我们来模拟一个多人多分支的开发场景。假设你有一个新的空白远程仓库,假设地址是 https://github.com/user/repo.git。 克隆远程仓库到本地 $ git clone https://github.com/user/repo.git这会在本地创建一个 repo 目录,并自动设置远程主机为 origin。 创建本地开发分支并推送…

安卓部分手机使用webview加载链接后白屏(Android低版本会出现的问题)

前言 大爷:小伙我这手机怎么打开你们呢这个是白屏什么都不显示。 大娘:小伙我这也是打开你们呢这功能,就是一个白屏什么也没有,你们呢的应用不会有病毒吧。 小伙:我的手机也正常; 同事:我的也正…

使用RabbitMQ实现延时消息自动取消的简单案例

一、流程图 二、导包 <!--消息队列 AMQP依赖&#xff0c;包含RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 三、配置文件 #消息队列 …

Python PyQt5 多Tab demo

参考&#xff1a; https://cloud.tencent.com/developer/news/388937 importsysfromPyQt5.QtWidgetsimportQVBoxLayout,QWidget,QFormLayout,QHBoxLayout,QLineEdit,QRadioButton,QCheckBox,QLabel,QGroupBox,QApplication,QTabWidgetclassTabDemo(QTabWidget):def__init__(se…

C++内存泄漏检测

C进阶专栏&#xff1a;http://t.csdnimg.cn/aTncz 相关系列文章 C技术要点总结, 面试必备, 收藏起来慢慢看 C惯用法之RAII思想: 资源管理 C智能指针的自定义销毁器(销毁策略) 目录 1.内存泄漏概述 1.1.内存泄漏产生原因 1.2 内存泄漏导致的后果 1.3 内存泄漏解决思路 2.宏…

Linux——线程(2)

在上一篇博客中我介绍了Linux中的线程是什么样的&#xff0c;就如同进程可以通过 fork创建&#xff0c;可以被终止&#xff0c;可以退出一样&#xff0c;线程也可以被我们用户控制&#xff0c;这 篇博客我会介绍线程的控制&#xff0c;并且基于线程的控制所产生的一些问题进行 …