资讯详情

以太网MAC和PHY之间的接口总结

1、100M 接口(Fast Ethernet快速以太网,又称百兆以太网)

MII接口:

RMII接口:

SMII接口:

SSMII接口:

SSSMII接口:

MII接口信号列表

2、1000M接口(GE:Gigabit Ethernet 千兆以太网 1Gbps)

GMII接口:

RGMII接口:

SGMII接口:

TBI接口:

RTBI:

XGMII接口:

XAUI接口:


1、100M 接口(Fast Ethernet快速以太网,又称百兆以太网)

FE速率模式下各种MII(Media Independent Interface)接口对比:

MII 接口兼容10/100M由于管脚占用过多,以太网主要用于一般高密度(8口)端口的早期设备接口PHY以及MAC/switch芯片很少使用。

RMII(reduced MII) 接口接收的数据位宽为2bit,因此,在高密端口,管脚数量大大减少PHY它被广泛使用,但因为它是MAC和PHY共用一个参考时钟,接口之间的距离不能太远;

SMII(serial MII) 接口接收数据的位宽为1bit,此外,还有参考时钟和同步信号RMII管脚较少,但仍然是MAC和PHY共用一个参考时钟,界面之间的距离不能太远;

SSMII(serial sync MII)与SMII类似地,只有一个单独的时钟和同步信号,虽然有两个管脚,但接口之间的传输距离可以更远,因为它有一个独立的随行时钟和同步信号;

MII接口:

TXD[3:0]:数据发送信号,共4条信号线;

RXD[3:0]:数据接收信号,共4条信号线;

TX_ER(TransmitError): 同步于发送错误的数据提示信号TX_CLK,高电平有效,表示TX_ER在有效期内传输的数据无效。Mbps速率下,TX_ER不起作用;

RX_ER(ReceiveError): 接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER在有效期内传输的数据无效。Mbps速率下,RX_ER不起作用;

TX_EN(TransmitEnable): 只发送使能信号TX_EN有效期内传输的数据有效;

RX_DV(ReveiveData Valid): 接收数据的有效信号类型于发送通道TX_EN;

TX_CLK:发送参考时钟,1000Mbps时钟频率为25MHz,10Mbps时钟频率为2.5MHz。注意,TX_CLK时钟的方向是从PHY侧指向MAC因此,这个时钟是由PHY提供的。

RX_CLK:接收数据参考时钟,100Mbps时钟频率为25MHz,10Mbps时钟频率为2.5MHz。RX_CLK也是由PHY侧提供的。

CRS:Carrier Sense,只要有数据传输,载波检测信号就不需要与参考时钟同步,CRS另外,有效,CRS只在半双工模式下有效;

COL:Collision Detectd,冲突检测信号不需要与参考时钟同步,只在半双工模式下有效。

MII接口有16条线(TX_CLK, RX_CLK未记入)。

RMII即Reduced MII,是MII信号线的数量由简化板决定MII14根减少到7根(CLK_REF外部时钟源)。

TXD[1:0]:数据发送信号线,数据位宽为2MII接口的一半;

RXD[1:0]:数据接收信号线,数据位宽为2MII接口的一半;

TX_EN(TransmitEnable):与MII接口中的信号线功能相同;

RX_ER(ReceiveError):数据接收错误提示信号MII接口中的信号线功能相同;

CLK_REF:50是由外部时钟源提供的MHz参考时钟,和MII接口不同,MII接口中的接收时钟和发送时钟是分开的,都是由PHY芯片提供给MAC芯片的。这里需要注意的是,由于数据接收时钟是由外部晶振而不是载波信号提取的,因此PHY层芯片中的数据接收部分需要设计FIFO,协调两个不同的时钟。

CRS_DV:此信号是由MII接口中的RX_DV和CRS两个信号合并。当介质不空闲时,CRS_DV和RE_CLK给出相异步的方法。当CRS比RX_DV早结束(即载波消失,队列中有数据要传输),就会出现CRS_DV半位元组的边界为25MHz/2.5MHz频率在0和1之间来回切换。因此,MAC能够从 CRS_DV精确恢复RX_DV和CRS。

在100Mbps速率时,TX/RX每个时钟周期采样一个数据;10Mbps速率时,TX/RX每10个周期采样一个数据,因此TX/RX数据需要在数据线上保留10个周期,相当于一个数据发送10次。

当PHY层芯片收到有效载波信号后,CRS_DV如果此时信号有效,FIFO如果没有数据,它将向0发送全部数据MAC,然后当FIFO在有效的数据帧中填充,数据帧的开头是101010-交叉的前导码,当数据中出现01比特时,代表正式的数据传输开始,MAC芯片检测到这一变化,从而开始接收数据。

当外部载波信号消失时,CRS_DV如果是的话,会变得无效FIFO还有数据要发送,CRS_DV下一个周期会变得有效,然后无效再有效,知道FIFO数据发送完成后。

SMII接口:

SMII即Serial MII,串行MII的意思,跟RMII信号线数据进一步减少到3个;

TXD:位宽为1的数据信号;

RXD:接收位宽为1的数据信号;

SYNC:收发数据同步信号,每10小时周期一次高电平,指示同步。

CLK_REF:125MHz,为什么100Mbps速率要用125MHz时钟?由于每8位数据中插入2位控制信号,请参见下面的介绍。

TXD/RXD以10比特为一组SYNC在SYNC在变高后的10个时钟周期内,TXD上次输出的数据是:TXD[7:0]、TX_EN、TX_ER,控制信号的含义和MII界面相同;RXD上次输出的数据是:RXD[7:0]、RX_DV、CRS,RXD[7:0]的含义与RX_DV有关,当RX_DV有效时(高电平),RXD物理层接收的数据在上传。当RX_DV无效时(低电平),RXD物理层状态信息数据在上传。当RX_DV无效时(低电平),RXD[7:0]物理层状态信息数据上传。见下表:

当速率为10Mbps每组数据应重复10次,MAC/PHY芯片每10个周期采样一次。

MAC/PHY接收到数据后,芯片将串/并转换。

SSMII接口:

SSMII即Serial Sync MII,叫串行同步接口,跟SMII接口非常相似,只收发使用独立的参考时钟和同步时钟,不再像SMII收发共用参考时钟和同步时钟,传输距离比SMII更远。

SSSMII接口:

SSSMII即Source Sync Serial MII,叫源同步串行MII接口,SSSMII与SSMII的区别在于参考时钟和同步时钟的方向,SSMII的TX/RX参考时钟和同步时钟都是由PHY芯片提供的,而SSSMII的TX参考时钟和同步时钟是由MAC芯片提供的,RX参考时钟和同步时钟是由PHY芯片提供的,所以顾名思义叫源同步串行.

MII接口信号列表

类型

信号

I/O(以MAC侧为主)

电平

描述

备注

MII

TX_CLK

I

LVTTL

发送时钟,100Mbps时为25MHz,10Mbps时为2.5MHz

 

TX_ER

O

LVTTL

发送错误,指示发送的数据是错误的phy可以将其丢弃

 

TX_EN

O

LVTTL

发送使能,表示当该信号有效时发送的数据是有效的

 

TX_D[3:0]

O

LVTTL

发送数据

 

RX_CLK

I

LVTTL

接收时钟,100Mbps时为25MHz,10Mbps时为2.5MHz

 

RX_ER

I

LVTTL

接收错误,指示发送的数据是错误的phy可以将其丢弃

 

RX_DV

I

LVTTL

接收数据有效

 

RXD[3:0]

I

LVTTL

接收数据

 

CRS

I

LVTTL

载体检测

 

COL

I

LVTTL

冲突检测

 

RMII

REFCLK

O

LVTTL

参考时钟,100Mbps时为50MHz,10Mbps时为5MHz

 

TX_EN

O

LVTTL

发送使能,表示当该信号有效时发送的数据是有效的

 

TX_D[1:0]

O

LVTTL

发送数据

 

CRS_DV

I

LVTTL

接收数据有效及载体检测

 

RXD[1:0]

I

LVTTL

接收数据

 

RX_ER

I

LVTTL

接收错误,指示发送的数据是错误的phy可以将其丢弃

 

SMII

REFCLK

O

LVTTL

参考时钟,100Mbps时为125MHz,10Mbps时为25MHz

 
 

TX_D

O

LVTTL

发送数据

 
 

RX_D

I

LVTTL

接收数据

 
 

SYNC

O

LVTTL

同步信号

 

SSMII

TX_D

O

LVTTL

发送数据

 
 

TX_CLK

O

LVTTL

发送时钟

 
 

TX_SYNC

O

LVTTL

发送同步

 
 

RX_D

I

LVTTL

接收数据

 
 

SYNC

I

LVTTL

接收同步

 
 

RX_CLK

I

LVTTL

接收时钟

 

 

2、1000M接口(GE:Gigabit Ethernet 千兆以太网 1Gbps)

GMII(Gigabit MII)GMII接口都可以向下兼容MII 接口,数据位宽8bit,共使用了24个管脚,类似于FE接口中的MII,在高密器件中一般不会使用;

RGMII(Reduced GMII)接口数据位宽4bit,管脚大为减少,其采用125MHZ时钟,在时钟的上下沿同时采样数据。

SGMII(Serial GMII)接口只有收发数据信号各一及一个接收时钟可选,信号速率较高,因此所有数据和时钟采用差分信号,如果MAC和PHY芯片都带时钟,则可以不需要单独的时钟信号,只需收发各一对差分信号即可,其采用625MHZ时钟。

TBI(Ten bitinterface)接口数据位宽10bit,相对于GMII接口的主要区别在于8B/10B的编解码,如果采用GMII 接口则编解码功能需要由PHY完成,如果是TBI接口则在MAC部分完成,其需要24个管脚,一般与GMII接口共享管脚。

RTBI(Reduced TBI)接口数据位宽5bit,其它与TBI接口类似,时钟为125MHZ。

GMII接口:

与MII接口相比,GMII的数据宽度由4位变为8位,GMII接口中的控制信号如TX_ER、TX_EN、RX_ER、RX_DV、CRS和COL的作用同MII接口中的一样,发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为125MHz(1000Mbps/8=125MHz)。

在这里有一点需要特别说明下,那就是发送参考时钟GTX_CLK,它和MII接口中的TX_CLK是不同的,MII接口中的TX_CLK是由PHY芯片提供给MAC芯片的,而GMII接口中的GTX_CLK是由MAC芯片提供给PHY芯片的。两者方向不一样。

在实际应用中,绝大多数GMII接口都是兼容MII接口的,所以,一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK(两者的方向是不一样的,前面已经说过了),在用作MII模式时,使用TX_CLK和8根数据线中的4根。

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。

TX_EN信号线上传送TX_EN和TX_ER两种信息,在TX_CLK的上升沿发送TX_EN,下降沿发送TX_ER;同样的,RX_DV信号线上也传送RX_DV和RX_ER两种信息,在RX_CLK的上升沿发送RX_DV,下降沿发送RX_ER。

SGMII接口:

SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,在时钟信号的上升沿和下降沿均采样,参考时钟RX_CLK由PHY提供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用。收发都可以从数据中恢复出时钟。

在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER 两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER 两比特控制信息,所以总的数据速率为1.25Gbps=625Mbps*2.

其实,大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时时钟速率仍旧是625MHz,不过此时跟SGMII接口不同,SGMII接口速率被提高到1.25Gbps是因为插入了控制信息,而SerDes端口速率被提高是因为进行了8B/10B变换,本来8B/10B变换是PHY芯片的工作,在SerDes接口中,因为外面不接PHY芯片,此时8B/10B变换在MAC芯片中完成了。8B/10B变换的主要作用是扰码,让信号中不出现过长的连“0”和连“1”情况,影响时钟信息的提取,关于8B/10B变换知识,我后续会单独介绍。

TBI接口:

TBI即Ten Bit Interface的意思,接口数据位宽由GMII接口的8位增加到10位,其实,TBI接口跟GMII接口的差别不是很大,多出来的2位数据主要是因为在TBI接口下,MAC芯片在将数据发给PHY芯片之前进行了8B/10B变换(8B/10B变换本是在PHY芯片中完成的,前面已经说过了),另外,RX_CLK+/-是从接收数据中恢复出来的半频时钟,频率为62.5MHz,RX_CLK+/-不是差分信号,而是两个独立的信号,两者之间有180度的相位差,在这两个时钟的上升沿都采样数据。RX_CLK+/-也叫伪差分信号。除掉上面说到的之外,剩下的信号都跟GMII接口中的相同。

大多数芯片的TBI接口和GMII接口兼容。在用作TBI接口时,CRS和COL一般不用。

RTBI接口:

RTBI即Reduced TBI,简化版TBI,接口数据位宽为5bit,时钟频率为125MHz,在时钟的上升沿和下降沿都采样数据,同RGMII接口一样,TX_EN线上会传送TX_EN和TX_ER两种信息,在时钟的上升沿传TX_EN,下降沿传TX_ER;RX_DV线上传送RX_DV和RX_ER两种信息,在RX_CLK上升沿传RX_DV,下降沿传RX_ER。

万兆以太网接口的端口速率为10Gbps,主要有XGMII和XAUI两种,另外还有HIGIG,不过HIGIG是Broadcom公司的私有标准,这里暂不介绍。

类型

信号

I/O(以MAC侧为主)

电平

描述

备注

GMII

GTX_CLK

O

LVTTL

GMII接口发送时钟,125MHz,同步发送数据与控制信号,MII不使用

可选

TX_CLK

I

LVTTL

发送时钟,MII为25MHz,10M MII为2.5MHz,GMII不使用

可选

TX_ER

O

LVTTL

发送错误指示信号

 

TX_EN

O

LVTTL

发送使能

 

TXD[7:0]

O

LVTTL

发送数据,MII只使用[3:0]

 

RX_CLK

I

LVTTL

接收时钟,GMII为125MHz,FE MII为25MHz,10M MII为2.5MHz

 

RXER

I

LVTTL

接收错误指示信号

 

RX_DV

I

LVTTL

接收数据有效信号

 

RXD[7:0]

I

LVTTL

接收数据信号,MII只使用[3:0]

 

CRS

I

LVTTL

载体检测

 

COL

I

LVTTL

冲突检测

 

RGMII

TX_CLK

O

LVTTL

发送时钟,125MHz,上升下降沿采样

 

TX_EN

O

LVTTL

发送使能

 

TD[3:0]

O

LVTTL

发送数据

 

RX_CLK

I

LVTTL

接收时钟,125MHz,上升下降沿采样

 

RX_DV

I

LVTTL

接收数据有效

 

RD[3:0]

I

LVTTL

接收数据

 

SGMII

RXD+/-

I

LVPECL

接收数据

 

RCLK+/-

I

LVPECL

接收时钟,主要用于MAC没有接口时钟的情况下

可选

TXD+/-

O

LVPECL

发送数据

 

TBI

GTX_CLK

O

LVTTL

发送时钟

 

TX_CLK

I

LVTTL

发送参考时钟输入

 

TX_ER

O

LVTTL

发送错误指示

 

TX_EN

O

LVTTL

发送使能,表示发送的数据是有效的

 

TXD[9:0]

O

LVTTL

发送数据

 

RX_CLK+/-

I

LVTTL

接收时钟

 

RX_ER

I

LVTTL

接收数据错误指示

 

RX_DV

I

LVTTL

接收数据有效指示

 

CRS

I

LVTTL

载体检测,检测载体上面是否有数据流

 

RTBI

GTX_CLK

O

LVTTL

发送时钟

 

TX_EN

O

LVTTL

发送使能

 

TXD[3:0]

O

LVTTL

发送数据

 

RX_CLK

I

LVTTL

接收时钟

 

RX_DV

I

LVTTL

接收数据有效

 

RXD[3:0]

I

LVTTL

接收数据

 

10GE接口

XGMII(10 Gigabit MII)为32bit数据宽度,时钟采用156.25MHZ,上下沿采样。XGMII在PCB上的线长限制于7cm,当实现芯片到芯片接口时,XGMII使用HSTL(高速收发逻辑)电平,输出缓冲器电压是1.5v。

XAUI概念的提出主要是增大XGMII的扩展距离(可以扩展距离到50cm),减少信号数量(收发各4个3.125gbps的差分信号),一般将XGMII接口的32bit数据分为四组,每组进行8B/10B编解码,转换成4路3.125G的CML串行信号,即XAUI接口,接收端可以从中恢复时钟;详见下述XGMII的OSI模型图和XGMII与XAUI接口之间的转接示意图;

 

     XGMII的OSI模型

XGMII与XAUI之间的转换模型

XGMII接口:

TXD[31:0]:数据发送通道,32位并行数据。

RXD[31:0]:数据接收通道,32位并行数据。

TXC[3:0]:发送通道控制信号,TXC=0时,表示TXD上传输的是数据;TXC=1时,表示TXD上传输的是控制字符。TXC[3:0]分别对应TXD[31:24], TXD[23:16],TXD[15:8], TXD[7:0]。

RXC[3:0]:接收通道控制信号,RXC=0时,表示RXD上传输的是数据;RXC=1时,表示RXD上传输的是控制字符。RXC[3:0]分别对应RXD[31:24], RXD[23:16],RXD[15:8], RXD[7:0]。

TX_CLK:TXD和TXC的参考时钟,时钟频率156.25MHz,在时钟信号的上升沿和下降沿都采样数据。156.25MHz * 2 *32 = 10Gbps 。

RX_CLK:RXD和RXC的参考时钟,时钟频率156.25MHz,在时钟信号的上升沿和下降沿都采样数据。

XGMII接口共74根连线,单端信号,采用HSTL/SSTL_2逻辑,端口电压1.5V/2.5V,由于SSTL_2的端口电压高,功耗大,现在已很少使用。HSTL即High SpeedTransceiver Logic,高速发送逻辑的意思。SSTL,即Stub Series Terminated Logic,短路终止逻辑,主要用于高速内存接口,SSTL目前存在两种标准,SSTL_3是3.3V标准;SSTL_2是2.5V标准。

XAUI接口:

由于受电气特性的影响,XGMII接口的PCB走线最大传输距离仅有7cm,并且XGMII接口的连线数量太多,给实际应用带来不便,因此,在实际应用中,XGMII接口通常被XAUI接口代替,XAUI即10 Gigabit attachment unitinterface,10G附属单元接口,XAUI在XGMII的基础上实现了XGMII接口的物理距离扩展,将PCB走线的传输距离增加到50cm,使背板走线成为可能。

源端XGMII把收发32位宽度数据流分为4个独立的lane通道,每个lane通道对应一个字节,经XGXS(XGMII ExtenderSublayer)完成8B/10B编码后,将4个lane分别对应XAUI的4个独立通道,XAUI端口速率为:2.5Gbps* 1.25 * 4=12.5Gbps。

在发送端的XGXS模块中,将TXD[31:0]/RXD[31:0],TXC[3:0]/ RXC[3:0], TX_CLK/ RX_CLK转换成串行数据从TX Lane[3:0]/ RX Lane[3:0]中发出去,在接收端的XGXS模块中,串行数据被转换成并行,并且进行时钟恢复和补偿,完成时钟去抖,经过5B/4B解码后,重新聚合成XGMII。

XAUI接口采用差分线,收发各四对,CML逻辑,AC耦合方式,耦合电容在10nF~100nF之间。

XAUI接口可以直接接光模块,如XENPAK/X2等。也可以转换成一路10G信号XFI,接XFP/SFP+等。

有些芯片不支持XAUI接口,只支持XGMII接口,这时可以用专门的芯片进行XGMIIà XAUI接口转换,如BCM8011等。

类型

信号

I/O(以MAC侧为主)

电平

描述

备注

XGMII

TXCLK

O

HSTL

连续的时钟流,TX_CLK为 MAC向PHY传送TXC<3:0>,TXD<31:0>信号提供定时参考,PHY在TX_CLK的上升沿和下降沿对TXC<3:0>,TXD<31:0>采样。 TX_CLK由MAC提供,时钟频率是156.25MHZ+/-0.01%,MAC发送数据速率的六十四分之一。

 
 

TXC[3:0]

O

HSTL

TXC<3:0>表示MAC在XGMII上发送的是数据还是控制字符。当TXC为0时,表示相应lane上发送的是数据。当TXC为1时,表示发送的是控制字符。 TXC<3:0>由MAC驱动,变化同步于TX_CLK的上下边沿。

 
 

TXD[31:0]

O

HSTL

TXD是一组由MAC驱动的32位数据信号,分成4个lane,每个 lane有 8位信号; 在TXC_CLK的上升沿和下降沿,PHY对TXD<31:0>采样发送。当TXC为0时,PHY产生lane上TXD数据的相应编码组。TXC为1时,lane上插入适当的TXD数值,PHY将产生空闲、起始、结束、序列、错误控制字符的相应编码组。

 
 

RXCLK

I

HSTL

RX_CLK为 PHY向MAC传送TXC<3:0>、TXD<31:0>信号提供定时参考,MAC在RX_CLK的上升沿和下降沿对RXC<3:0>、RXD<31:0>采样。 RX_CLK由PHY提供,时钟频率是MAC接收数据速率的六十四分之一。

 
 

RXC[3:0]

I

HSTL

RXC<3:0>表示PHY恢复编码数据流在XGMII上提供的是数据还是控制字符。当相应lane接收到数据8位组时,对应的RXC清0,当接收到控制字符时,对应的RXC置1。RXC<3:0>由PHY驱动,跳变同步于RX_CLK的上升沿和下降沿。

 
 

RXD[31:0]

I

HSTL

RXD是一组由PHY驱动的32位数据信号,分成4个lane,每个 lane 8位信号; 在RXC_CLK的上升沿和下降沿,RS对接收送到RXD<31:0>上的数据、控制字符映射到MAC服务原语。当RXC为1时,在lane上插入适当的RXD数值向MAC指示起始控制字符、结束控制字符、序列控制字符、错误控制字符。 RXC置1时,适当的错误控制字符在RXD上编码表示在PHY向MAC传送数据帧时有错误发生。

 

XAUI

TXD+[3:0]

O

CML

发送数据正极

 

TXD-[3:0]

O

CML

发送数据负极

 

RXD+[3:0]

I

CML

接收数据正极

 
RXD-[3:0] I CML 接收数据负极   

 

 

标签: 高速背板连接器high

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台