常用MII接口详解

开放式系统互连 (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.mzph.cn/news/726135.shtml

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

相关文章

深入探讨javascript的流程控制与分支结构,以及js的函数

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:前端泛海 景天的主页:景天科技苑 文章目录 1.流程控制与分支结构1.if分支结构2.switch case 分支结构3.循环结…

九型人格测试,7号活跃型人格的职业分析

九型人格中的7号人格,也叫活跃型人格,正如名字所形容的那样,一个活跃型人格的人,会让你体会到生活的乐趣。跟他们在一起的时候,永远不会感到无聊,即便是在停电的下午,也能在屋子里愉快的折腾。活…

【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】

文章目录 【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】需求开发过程尝试找到没有用的上拉gpio尝试修改pwm1的gpio的默认上拉模式 改动 【RK3288 Android6, T8PRO 快捷按键 gpio 配置上拉输入】 需求 T8pro想要模仿T10 的 快捷按键&#xff…

MyBatisPlus(SpringBoot版)的分页插件

目录 一、前置工作: 1.整体项目目录结构 2.创建普通javamaven项目。 3.导入依赖,改造成springboot项目 4.配置启动类 5.创建service接口及其实现类 6.创建接口Mapper 7.配置数据源 8.创建数据库表 二、使用MP(mybatisplus)的分页插件 二、使…

GWO-RF|灰狼算法优化随机森林 回归预测|多变量回归预测

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 灰狼优化算法: 随机森林: 四、完整程序下载: 一、程序及算法内容介绍: …

疾控中心污水采样器自动采样——解放双手更轻松

疾控中心使用的污水采样器如今已经实现了自动化采样,这无疑给工作人员带来了极大的便利。这种设备能够完成污水取样、储存等环节,不再需要人工干预。这意味着工作人员可以解放双手,不再需要进行繁重的取样工作。 这种自动化的采样方式不仅减轻…

python转换json

import json import os from enum import Enumclass LaneDirectionType(int, Enum):LaneDirectionType_Unknown -1 # 类型未知OneWay 1 # 单向TwoWay 2 # 双向# 颜色类型 class ColorCombo(int, Enum):NOUSE 0 # 默认值UNKNOWN 1000 # 未定义WHITE 1 # 白色(默认值…

ffmpeg maxrate 导致转码输出的内容包含随机性

https://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate 问题 领导提出了一个问题,为什么转码后的视频大小字节数据都不一样,这问到我了,一时语塞。查一下吧,没有什么资料支撑。主动试一下。 尝试 首先尝试一下直接…

C#,动态规划的集合划分问题(DP Partition problem)算法与源代码

1 动态规划问题中的划分问题 动态规划问题中的划分问题是确定一个给定的集是否可以划分为两个子集,使得两个子集中的元素之和相同。 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程…

Python基础一

Python是一门简单的编程语言,适用于人工智能、web应用、爬虫程序、大数据等方面 一、Python语言特点 Python 是一种功能强大且流行的编程语言,具有许多特点,其中一些包括: 1. **易学易用** Python 的语法简洁清晰,类…

【go语言开发】gorm库连接和操作mysql,实现一个简单的用户注册和登录

本文主要介绍使用gorm库连接和操作mysql,首先安装gorm和mysql依赖库;然后初始化mysql,配置连接池等基本信息;然后建表、完成dao、controller开发;最后在swagger中测试 文章目录 前言安装依赖库数据库初始化账号注册和登…

springBoot整合Redis(三、整合Spring Cache)

缓存的框架太多了,各有各的优势,比如Redis、Memcached、Guava、Caffeine等等。 如果我们的程序想要使用缓存,就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了,利用面向对象的抽象和多态的特性,做到业务代…

上市公司财务报表精讲系列一:黄山旅游

上市公司财务报表精讲系列一:黄山旅游 一、主营业务分行业、分产品、分地区情况二、董事会报告三、净利润现金流四、净资产收益率五、权益乘数和总资产周转率六、负债结构图七、行业分析八、案例总结九、2023年度业绩 一、主营业务分行业、分产品、分地区情况 二、董…

为国产信创服务器提供LDAP统一身份认证方案

金融信创作为 8 大行业信创之首,早已成为其他行业信创建设的参考。金融行业有着极为复杂的业务场景,对系统有着极高的稳定可靠需求,因此,在寻找微软 AD 国产化替代方案时,常会涉及到更深层次的场景。例如,最…

unity学习(45)——选择角色菜单——客户端处理服务器的数据

1.已知客户端ReceiveCallBack中已经收到来自服务器返回的数据包。 2.问题是客户端MessageManager中的Update并没有拆解该数据包 ,因该是因为脚本没有挂载。 挂在SelectMenu场景中的Camera上即可。 挂载后成功达到目地 其中Update中的List是一个起到全局效果的static…

CVPR 2024 | Modular Blind Video Quality Assessment:模块化无参视频质量评估

无参视频质量评估 (Blind Video Quality Assessment,BVQA) 在评估和改善各种视频平台并服务用户的观看体验方面发挥着关键作用。当前基于深度学习的模型主要以下采样/局部块采样的形式分析视频内容,而忽视了实际空域分辨率和时域帧率对视频质量的影响&am…

学习 考证 帆软 FCP-FineBI V6.0 心得

学习背景: 自2024年1月起,大部分时间就在家里度过了,想着还是需要充实一下自己,我是一个充满热情的个体。由于之前公司也和帆软结缘,无论是 Fine-Report 和 Fine-BI 都有接触3年之久,但是主要做为管理者并…

MyBatis复杂映射开发之多对多查询

多对多查询的模型 用户表和角色表的关系为,一个用户有多个角色,一个角色被多个用户使用。 多对多查询的需求:查询所有用户的同时查询出该用户对应的所有角色。 startuml !theme plain top to bottom direction skinparam linetype ortho cl…

阿里云服务器使用教程_搭建网站教程_2024建站教程

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

XUbuntu22.04之显示实时网速(二百一十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…