一、MII接口
1.MII接口分析
MII接口提供了MAC和PHY之间,PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的速率,数据位宽4bit。
提到MII,就有可能涉及到RS,PLS,STA等名词,下面讲一下他们之间的关系。
所谓RS即Reconciliation sublayer,他的主要功能是提供一种MII和MAC/PLS之间的信号映射机制。他们(RS与MII)之间的关系如下:
图一RS与MII的关系
MII接口的管理接口可同时控制多个PHY,802.3协议最多支持32个PHY,但有一定的限制:要符合协议要求的接口特性。所谓管理接口,就是MDC和MDIO信号。
前面讲过RS和PLS的关系,以及MII接口连接的对象,他们通过MII接口进行连接的示意图如下。有图可知,MII的管理接口是与STA连接的。
图二PLS与MII的连接
下面将详细介绍MII接口的信号定义,时序特性等。由于MII有MAC和PHY模式,因此,将会根据这两种模式进行分析。
2.MII接口信号定义
MII接口可以分为MAC模式和PHY模式,一般来说MAC和PHY对接,但是MAC和AMC也是可以对接的。
以前10M的MAC层芯片和物理芯片之间的数据传输是通过一根数据线进行的,其时钟是10M,在100M中,如果也用一根数据线来传送的话,时钟需要100M,这会带来一些问题,所以定义了MII接口,他是用4根数据线来传输数据的,这样在传送100M数据的时候,始终就从100MHZ降到了25MHZ。在10M速率时,时钟会降低到2.5MHZ,这样就实现了10M和100M的兼容。
MII接口包含四个部分。一是从MAC层到PHY层的数据发送接口,二是MAC层到PHY层的数据接收端口,三是PHY层到MAC层的状态指示信号,四是MAC层和PHY层之间传送控制和状态信息的MDIO接口。
MII接口的MAC模式定义:
图三MII接口的MAC模式定义
MII接口的PHY模式定义:
图四MII接口的PHY模式定义
3.MII接口的时序特性
在MII接口中,TX的参考时钟是TX_CLK,RX的参考时钟是RX_CLK,802.3-2005定义了他们之间的关系。
图五TX_CLK与其信号关系
图六RX_CLK与其信号关系
由图五和图六可知,数据传输是在时钟的上升沿。
4.MII信号的功能特性
<1>.TX_CLK:TX_CLK是一个连续的时钟信号(即系统启动,该信号就一直存在),它是TX_EN,TXD,TX_ER(信号方向从RS到PHY)的参考时钟,TX_CLK由PHY驱动,频偏100PPM。
<2>.RX_CLK:RX_CLK与TX_CLK具有相同的要求,所不同的就是它是RX_DV,RXD,TX_ER(方向从PHY到RS)的参考时钟。RX_CLK同样是由PHY驱动,PHY可能从接收到的数据中提取时钟RX_CLK,也可以从一个名义上的参考时钟来驱动RX_CLK。
<3>.TXD:TXD由RS驱动,同步于TX_CLK,在TX_CLK的时钟周期内,并且TX_EN有效,TXD上的数据被PHY接收,否则TXD的数据对PHY没有任何影响。
<4>.TX_ER:TX_ER同步于TX_CLK,在数据传输过程中,如果TX_ER有效超过一个时钟周期,并且此时TX_EN是有效的,则数据通道中传输的数据是无效的。当TX_ER有效并不影响工作在10Mb/s的PHY或者TX_EN无效时的数据传输。在MII接口的连线中,如果TX_ER信号线没有用到,必须将它下拉。
<5>.RX_DV:RX_DV同步于RX_CLK,被PHY驱动,它的作用如同TX_EN,不同的是时序上有一点差别:为了让数据能够成功的被RS接收,要求RX_DV的有效时间必须覆盖整个FRAME的过程。
<6>.RXD:RXD由PHY驱动,同步于RX_CLK,在TX_CLK的时钟周期内,并且RX_DV有效,RXD上的数据被RS接收,否则RXD的数据对PHY没有任何影响。
<7>.RX_ER:RX_ER同步于RX_CLK,其在RX通道中的作用类似于TX_ER。
<8>.CRS:CRS不需要同步于参考时钟,只要通道存在接收或者发送过程,CRS就需要有效。CRS只用于半双工模式,全双工时无效(可以不接)。
<9>.COL:COL不需要同步于参考时钟,COL只用于半双工模式,全双工时无效(可以不接)。
5.MII的管理接口
MII的管理接口(MMII)包含两根线,即MDC和MDIO,通过它,MAC芯片(或其它控制芯片)可以访问物理层芯片的寄存器,并通过这些寄存器来对物理芯片进行控制和管理。MMII接口描述如下:
MDC:管理接口时钟信号,他是一个非周期信号,信号的最小周期为400ns(一般芯片给出的最大频率为8.3MHZ),最小正电平时间和负电平时间为160ns,最大正电平时间无限制。他与TX_CLK和RX_CLK无任何关系。
MDIO是一根双向数据线。用来传送MAC到PHY的控制信息和PHY的状态信息。MDIO与MDC时钟同步,在MDC上升沿有效。MDIO管理接口数据帧结构如下:
图七MDIO管理接口数据帧结构
帧结构各域的含义如下:
PRE:帧前缀,为32个连续“1”,这些前缀不是必要的,某些物理层芯片的MDIO没有这些。
ST:帧开始标志,出现“01”标示帧开始。
OP:读写操作,“10”标示读,“01”标示写。
PHYAD:PHY地址,5BIT数据,每个PHY芯片都把这5bit数据与自身地址进行比较,若匹配则进行后面的操作,若不匹配,则忽略后面的操作。
REGAD:用来选择PHY芯片的32个寄存器中的某一个。
TA:状态转换,若为读操作,则第一比特MDIO为高阻状态,第二比特时由物理层芯片使MDIO置“0”。若为写操作,则MDIO仍由MAC信号控制,输出“10”。
DATA:寄存器数据,16bit,若为读操作,则为PHY到MAC,若为写操作,则为MAC到PHY。
IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处于高阻状态,但一般用上拉电阻使其处于高电平,即MDIO引脚需要上拉。
MDIO的时序如下:
图八MDIO操作时序图
MII接口也有一些不足之处,主要就是接口信号线比较多,总共14根信号线(不包含MDC和MDIO),当交换机芯片端口数较多时,会造成芯片的管脚数很多的问题,后来衍生了RMII和SMII接口。
二、SMII接口分析
1.SMII接口信号定义
SMII(serial MII)接口又叫串行MII接口。它包括TXD、RXD、SYNC三类信号线。另外所有的端口共用一个时钟信号CLOCK,此时时钟信号频率是125MHZ,TXD、RXD和SYNC都与此时钟同步。为什么用125MHZ,是因为数据线里会传送一些控制信息(并不是通常理解的需要进行4B/5B编解码,因为编解码在PHY中已经完成)。SYNC是数据收发的同步信号,它每10个时钟周期置一次高电平,指示同步。TXD和RXD上收发的数据和控制信息,它们以10个bit为一组,以SYNC为高电平来只是一组数据的开始,每一组的数据的含义见后面。可以看出,SMII接口所需要的信号线每个端口只有三根,比MII(14)少了很多。
SMII接口的MAC定义:
图九SMII接口的MAC定义
SMII接口的PHY定义:
图十SMII接口的PHY定义
2.SMII接口时序特性
1.SMII接口发送时序如图十一:
图十一SMII的发送时序
从波形可以看出,在SYNC变高后的10个周期内,TXD上一次输出一组10bit的数据,即TXER、TX_EN(控制信号)、TXD[0:7]。这些数据和控制信息的含义与MII接口的含义相同。物理层芯片在接收到这些数据和控制信息后做与MII接口相同的处理。在100M速率中,每一组的内容都是变换的,在10M速率中,每一组的数据则要重复10次,物理层芯片采样任何一组都可以。
2.SMII接口接收时序如图十二:
图十二SMII的接收时序
从波形可以看出,在SYNC变高后的10个时钟周期内,RXD上一次输出一组10bit的数据即RX_ER、RX_DV(控制信息)、RXD[0:7]。当RX_DV有效时,RXD[0:7]上面的数据为PHY的接收数据,当RX_DV无效时,RXD[0:7]上的数据反映的是物理层状态信息,内容如下:
图十三SMII接口接收部分信息编码
当以太网速率是100M时,每组数据都是变化的,当以太网速率是10M时,每组数据则要重复十次,MAC层芯片只要求采样其中一次就可以了。对其中的信号,MAC层芯片从SMII接口获得信息的处理方式与MII相同。
三、GMII接口
1.GMII接口分析
GMII接口提供了8位数据通道,125MHZ的时钟速率,从而实现了1000Mbps的数据传输速率。下图定义了RS层的输入输出信号以及STA的信号
图十四RS的输入和输出
2.GMII接口信号定义
GMII接口可以分为MAC模式和PHY模式,一般而言MAC和PHY对接,但是MAC和MAC也是可以连接的。
在GMII接口中,它是用8根数据线来进行数据传输的,这样用125MHZ的时钟频率就可以实现1000Mbps的数据传输。
GMII接口主要包含四种信号线。一是从MAC层到物理层的数据发送信号,二是物理层到MAC层的数据接收信号,三是物理层到MAC层的状态指示信号,四是MAC层和物理层之间的传输控制信号的MDIO。
GMII接口的MAC模式定义:
图十五GMII接口的MAC定义
GMII接口的PHY模式定义:
图十六GMII接口的MAC定义
注:图三中GTX_CLK是输入信号,这与MII接口有点区别。
3.GMII接口的时序特性
在GMII接口中,TX的参考时钟是GTX_CLK,RX通道参考时钟是RX_CLK,IEEE802.3-2005定义了他们之间的关系
图十七GTX_CLK与信号引脚的关系
由图四可以知道,上图只是定义了TX和RX通道中接收端的建立时间和保持时间。
图十八是标准规定的建立时间和保持时间的值:
图十八GMII建立时间和保持时间的要求
从图五可以看出,这里有两组建立时间和保持时间值。其中第一组是根据图六给定的电路测试定义的,该值没有考虑PCB上面的传输线不匹配等影响。而第二组是考虑了PCB传输线长度不匹配等的影响。
图十九GMII时序的测试电路
4.GMII信号的功能特性:
<1>GTX_CLK:GTX_CLK是一个连续的时钟信号(系统启动就一直存在),它是TX_EN、TXD[0:7]和TX_ER的参考时钟,PHY端在信号上升沿对信号采样,GTX_CLK由MAC驱动。
<2>RX_CLK:RX_CLK是一个连续的时钟信号(系统启动就一直存在),它是RX_DV、RXD[0:7]和RX_ER的参考时钟,MAC端在时钟上升沿采样。RX_CLk由PHY驱动,PHY可能从接收到的数据中提取该时钟,也可能从一个名义上的参考时钟来驱动RX_CLK。
其他信号与MII中一样,在这里不做详述。
图二十GMII的时序图
5.GMII的管理接口
GMII的管理接口MDIO与MII中的类似,在这里不做详述。
1.GMII接口的电气特性
GMII的DC电气特性如图二十一:
图二十一GMII直流电气特性
四、SGMII接口
1.SGMII接口信号定义
SGMII接口又叫串行GMII接口。它包括TXD+/-、RXD+/-信号线。SGMII没有时钟信号,因为时钟信号是从TXD+/-或RXD+/-中恢复的,时钟频率为625MHZ(双边沿有效),之所以是625MHZ而不是500MHZ是因为这其中跟SMII接口一样含有一些控制信号(TX_EN、TX_ER、RX_DV、RX_ER),在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER两比特控制信息,所以总的数据速率为1.25Gbps=625Mbps*2。
其实,大多数MAC芯片的SGMII接口都可以配置成SerDes(串行器)接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时SGMII接口速率被提高到1.25Gbps不是因为插入了控制信息,而是因为需要进行进行了8B/10B变换,本来8B/10B变换是PHY芯片的工作,在SerDes接口中,因为外面不接PHY芯片,此时8B/10B变换在MAC芯片中完成了。8B/10B变换的主要作用是扰码,让信号中不出现过长的连“0”和连“1”情况,影响时钟信息的提取。
SGMII的MAC模式定义:
SGMII接口的PHY定义:
2.SGMII接口的时序特性
SGMII没有参考的时钟,时钟是从信号线中恢复出来的,同时时序的准确性也是通过控制数据线差分信号来调整的。
SGMII输出时序:
图二十二SGMII的输出时序
图二十三SGMII的输出时序
SGMII输入时序:
图二十四SGMII的输入时序
图二十五SGMII的输入时序
3.SGMII接口的电气特性
SGMII接口的电气性能如图二十六:
图二十六SGMII的输出时序
总的来说SGMII接口相较于前几种接口而言简单了许多,但是接口速率而较前面的接口要高。
更多交换机知识请关注微信公众号:交换机技术交流
��������,�g
网友评论