0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

针对10Mbps到100Gbps不同以太网Drive Side接口类型

454398 来源:硬件助手 作者:硬件助手 2020-10-08 00:09 次阅读

本文主要介绍以太网Drive Side接口(MAC和PHY之间的接口),也被称为MII(Media Independent Interface),支持从10M到100G的不同应用场合,主要包括MII、RMII、SMII(Cisco Systems Specification)、SSMII、S3MII、GMII、RGMII、SGMII、QSGMII(Cisco Systems Specification)、TBI、RTBI、XGMII、XAUI、RXAUI、XLGMII、XLAUI、CGMII、CAUI、HIGIG(Broadcom Specification)、Interlaken等接口,下面就针对10Mbps到100Gbps的不同接口进行介绍,最后介绍一下PHY芯片的控制接口MDIO BUS。

1、MII接口


100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。TXC和RXC均由PHY提供。PHY在TXC的上升沿采样TXD上的数据,MAC在RXC的上升沿采样RXD上的数据。

2、RMII接口

REF_CLK是由外部时钟源提供的50MHz参考时钟,与MII接口不同,MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。这里需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。

3、SMII(Cisco Systems Specification)接口

REF_CLK:所有端口共用的一个参考时钟,频率为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[7:0]上传输的是物理层接收的数据。当RX_DV为无效时(低电平),RXD[7:0]上传输的是物理层的状态信息数据。

当速率为10Mbps时,每一组数据要重复10次,MAC/PHY芯片每10个周期采样一次。MAC/PHY芯片在接收到数据后会进行串/并转换。

​4、SSMII接口

5、S3MII接口

6、GMII接口

GMII的数据宽度为8位,GMII接口中的发送参考时钟GTX_CLK和接收参考时钟RX_CLK的频率均为125MHz(1000Mbps/8=125MHz)。GMII接口中的GTX_CLK是由MAC芯片提供给PHY芯片。

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

7、RGMII接口

RGMII的时钟频率为125MHz,TX/RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送GMII接口中的TXD[7:4]/RXD[7:4]。RGMII同时也兼容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。

8、SGMII接口

SGMII收发各一对差分信号线,时钟频率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”情况,影响时钟信息的提取。

9、TBI接口

TBI即Ten BitInterface的意思,接口数据位宽由GMII接口的8位增加到10位,其实,TBI接口跟GMII接口的差别不是很大,多出来的2位数据主要是因为在TBI接口下,MAC芯片在将数据发给PHY芯片之前进行了8b/10b变换(8b/10b变换本是在PHY芯片中完成的,TBI在MAC中完成了,所以每传输一个字节需要传输10bit数据)。

RBC0和RBC1是从接收数据中恢复出来的半频时钟,频率为62.5MHz,RBC0和RBC1不是差分信号,而是两个独立的信号,两者之间有180度的相位差,在这两个时钟的上升沿都采样数据。RBC0和RBC1也叫伪差分信号。除掉上面说到的之外,剩下的信号都跟GMII接口中的相同。

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

10、RTBI接口

RTBI接口数据位宽为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。

11、XGMII接口

XGMII接口的单端信号采用HSTL/SSTL_2逻辑,端口电压1.5V/2.5V,由于SSTL_2的端口电压高,功耗大,现在已很少使用。

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,在时钟信号的上升沿和下降沿都采样数据。

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

XGMII接口还有XLGMII(40Gb)、CGMII(100Gb)等变种。其基本已经被XAUI/XLAUI/CAUI接口取代了。

12、XAUI接口

XAUI接口有如下一系列的变种:RXAUI、XLAUI(40Gb)、CAUI(100Gb)等。

由于受电气特性的影响,XGMII接口的PCB走线最大传输距离仅有7cm,并且XGMII接口的连线数量太多,给实际应用带来不便。因此,在实际应用中,XGMII接口通常被XAUI接口代替,XAUI即10Gigabit Attachment Unit Interface,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等。

XAUI/XLAUI/CAUI是四通道串行总线,采用的差分信号,CML逻辑传输,并且进行了扰码,大大增强了信号的抗扰性能,使得信号的有效传输距离增加到50cm。

XAUI/XLAUI/CAUI在物理结构上是一样的,收发通道独立,各四对差分信号线。

对于XAUI总线,每对差分线上的数据速率为3.125Gbps,总数据带宽为12.5Gbps,有效带宽为12.5Gbps*0.8=10Gbps(因为XAUI总线数据在传输前进行了8b/10b变换,编码效率为80%)。

对于XLAUI总线,每对差分线上的数据速率为10.3125Gbps,总数据带宽为41.25Gbps,有效带宽为41.25Gbps*(64/66)=40Gbps(因为XLAUI总线数据在传输前进行了64b/66B变换,编码效率为96.97%)。

对于CAUI总线,每对差分线上的数据速率为25.78125Gbps,总数据带宽为103.125Gbps,有效带宽为103.125Gbps*(64/66)=100Gbps(因为CAUI总线数据在传输前进行了64B/66B变换,编码效率为96.97%)。

13、Interlaken
Interlaken是Cisco和Cortina公司共同推出的一种高速通道化的C2C(芯片间)接口协议。主要用于10Gbps端口的MAC、OC-768SONET Framer、下一代100Gbps以太网集成电路、100Gbps Swich Fabric与包处理器。主要有以下特征:

  • 支持256个通道,可以扩展到64K;
  • 与SPI4.2(SystemPacket Interface Level 4 (SPI-4) Phase 2 Revision 1: OC-192 System Interfacefor Physical and Link Layer Devices.(OIF-SPI-4-2.1))类似,通过简单control word来表示packet;
  • 通过Meta Frame完成各个lane的对齐;
  • 协议本身和实际使用lane数目和SerDes速率无关;
  • 提供带外带内两种flow control方式,以及xon/xoff的整个接口的flow control;
  • 采用64/67B数据编码;
  • 接口本身性能随lane增加而同比增加。

TX_Ddta[n:0]p/n:数据发送通道,CML差分电平,每对差分线速率为1~6.25Gbps;

TX_FC_CLK:数据发送通道带外流控参考时钟,LVCMOS电平;

TX_FC_SYNC:数据发送通道带外流控同步信号,LVCMOS电平;

TX_FC_DATA:数据发送通道带外流控数据信号,LVCMOS电平;

RX_Ddta[n:0]p/n:数据接收通道,CML差分电平,每对差分线速率为1~6.25Gbps;

RX_FC_CLK:数据接收通道带外流控参考时钟,LVCMOS电平;

RX_FC_SYNC:数据接收通道带外流控同步信号,LVCMOS电平;

RX_FC_DATA:数据接收通道带外流控数据信号,LVCMOS电平;

14、MDIO BUS(SMI(Serial Management Interface))
MDIO是一个以太网控制器的传输协议,广泛用于以太网控制器和PHY之间的数据通讯。

MDIO(Management Data Input/Output),管理数据输入输出总线。它是由IEEE802.3定义的以太网行业标准,它承载着MAC层和物理层通信的重任。MDIO接口包括两根信号线:时钟线MDC,数据线MDIO(双向),MAC层芯片(或其他控制芯片)可以通过它们访问物理层芯片的寄存器,并通过这些寄存器来对物理芯片进行控制和管理。

MDC(Management Data Clock):管理接口的时钟,是一个非周期信号,信号的最小周期为400ns(最快2.5MHz),最小正电平时间和负电平时间为160ns,最大正负电平时间无限制。

MDIO(Management Data Input/Output):是双向的数据线,用来传送MAC层的控制信息和物理层的状态信息。它与MDC时钟同步,在MDC上升沿有效。

14.1、MDIO帧格式

PRE:帧前缀域,为32个连续“1”比特,这帧前缀域不是必需的,某些物理层芯片的MDIO操作就没有这个域。

ST:帧开始标识码,为“01”。

OP:帧操作码(读写操作),比特“10”表示此帧为一读操作帧,比特“01”表示此帧为一写操作帧。

PHYAD:PHY芯片的地址,5个比特,每个芯片都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。一个系统最多联31个PHY(地址0为保留)。

REGAD:用来选择物理层芯片的32个寄存器中的某个寄存器的地址。一个PHY上最多32个寄存器地址(可以使用shadow value技术,访问更多的寄存器)。

TA:状态转换域,若为读操作,则第一比特时MDIO为高阻态,第二比特时由物理层芯片使MDIO置“0”。若为写操作,则MDIO仍由MAC层芯片控制,其连续输出“10”两个比特。

DATA:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到MAC层的数据,若为写操作,则为MAC层送到物理层的数据。

IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处于高阻状态,但一般用上拉电阻使其处在高电平,即MDIO引脚需要上拉电阻。

14.2、MDIO操作时序

MDIO工作流程如下:

  • Preamle(PRE):在没有传输数据的空闲状态时,数据线MDIO处于高阻态(由于外部上拉,故一直为1)。
  • Start of Frame(ST):MAC驱动MDIO线,出现一个2bit的开始标识码(01)。
  • Operation Code(OP):MAC驱动MDIO线,出现一个2bit数据来标识是读操作(10)还是写操作(01)。
  • PHY Address(PHYAD):MAC驱动MDIO线,出现一个5bit数据标识PHY的地址,对应该地址的PHY芯片会响应。
  • Reg Address(REGAD):MAC驱动MDIO线,出现一个5bit的PHY芯片寄存器地址(需要读/写的地址)。
  • Turnaround(TA):写操作的话,MAC驱动MDIO线,出现10;读操作的话,MDIO pin of MAC must be put in high-impedance state,在第二个周期,PHY驱动MDIO线,出现0。
  • Data,MDIO串行读出/写入PHY芯片寄存器的数据(16bit)。
  • 最后MDIO恢复成空闲状态(IDLE),同时MDIO进入高阻状态。

本文主要介绍了以太网MAC和PHY之间的接口,支持10Mbps到100Gbps的不同速率等级,同时介绍了PHY芯片的控制接口MDIO总线。

编辑:hfy
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5069

    浏览量

    166191
  • PHY
    PHY
    +关注

    关注

    2

    文章

    263

    浏览量

    50996
  • RMII
    +关注

    关注

    0

    文章

    8

    浏览量

    11946
  • Side
    +关注

    关注

    0

    文章

    2

    浏览量

    7638
  • 控制接口
    +关注

    关注

    0

    文章

    15

    浏览量

    10824
收藏 人收藏

    评论

    相关推荐

    10 Gbps以太网硬件演示参考设计

    。XAUI端口通过双XAUI转换为SFP +高速夹层卡(HSMC)(从Terasic)10 Gbps串行以太网,通过低成本SFP +光学可插拔模块或SFP +直接耦合电缆组件提供网络
    发表于 07-26 16:33

    ML605上的RGMII链路速度更改为100Mbps10 Mbps时测试失败

    嗨,我正在尝试在ML605上测试以太网RGMII MAC核,我尝试使用MAC核和我的示例设计在1Gbps链路上测试正常,但是当我将链路速度更改为100Mbps10
    发表于 09-17 09:36

    无线LAN的以太网接口介绍

    MII接口模式连接以太网CTLR单芯片10Mbps / 100Mbps
    发表于 07-15 09:27

    以太网PHY如何改变现代市场

    在本文里,笔者将重拾上次中断的话题,探讨以太网PHY在如何改变现代市场。 以太网是40多年前发明的。现在让我们快进跳过对IEEE 802.3(10Mbps以太网PHY)进行规范化的系列
    发表于 11-18 07:44

    在哪里可以找到10/100Mbps以太网的示例代码?

    。SDK中的所有代码都是针对Ethernet1G的。在哪里可以找到 10/100Mbps 以太网的示例代码?2> 我试图从配置工具添加以太网
    发表于 03-22 06:09

    i.mx25pdk以太网是支持10Mbps自协商还是只支持100Mbps

    引脚:41 28 27 26 逻辑:0 1 0 1 从板载 PHY(此处)第 10 页,这是否意味着板: 是否已永久配置为仅使用 100Mbps(全双工)的 FIBER MODE? 是支持10Mbps自协商还是只支持
    发表于 05-25 07:56

    网桥接口类型

    网桥接口类型 网桥典型的接口类型以太网接口,E1接口、配置接口等。   
    发表于 01-06 13:38 2473次阅读

    收发器的接口类型

    收发器的接口类型 收发器典型的接口类型以太网接口,E1接口、串行接口(RS232)、SC
    发表于 01-08 14:15 1498次阅读

    莱迪思和Flexibilis推出FPGA以太网交换IP核

    莱迪思半导体公司和FLEXIBILIS Oy日前宣布了即可获取Flexibilis以太网交换(FES)IP核。三速(10Mbps/100Mbps/1Gbps)FES IP核工作在
    发表于 06-16 08:44 561次阅读
    莱迪思和Flexibilis推出FPGA<b class='flag-5'>以太网</b>交换IP核

    盘点几种以太网接口的设计与实现

    。本文为大家介绍各种以太网接口的设计方案。 嵌入式系统以太网接口的设计 本文将介绍以8051系列单片机系统为例的嵌入式系统与10Mbps
    发表于 10-16 10:26 20次下载

    常见的工业交换机接口类型

    这是我们见的最多、应用最广的一种接口类型,它属于双绞线以太网接口类型。它不仅在最基本的10Base-T以太网网络中使用,还在目前主流的
    发表于 05-16 09:32 2121次阅读

    ADIN1300:稳健、工业、低延迟和低功耗10 Mbps100 Mbps和1 Gbps以太网PHY产品手册

    ADIN1300:稳健、工业、低延迟和低功耗10 Mbps100 Mbps和1 Gbps以太网
    发表于 04-18 08:25 2次下载
    ADIN1300:稳健、工业、低延迟和低功耗<b class='flag-5'>10</b> <b class='flag-5'>Mbps</b>、<b class='flag-5'>100</b> <b class='flag-5'>Mbps</b>和1 <b class='flag-5'>Gbps</b><b class='flag-5'>以太网</b>PHY产品手册

    UG-1635:评估ADIN1300坚固、工业、低延迟和低功耗10 Mbps100 Mbps和1 Gbps以太网PHY

    UG-1635:评估ADIN1300坚固、工业、低延迟和低功耗10 Mbps100 Mbps和1 Gbps
    发表于 04-18 09:48 11次下载
    UG-1635:评估ADIN1300坚固、工业、低延迟和低功耗<b class='flag-5'>10</b> <b class='flag-5'>Mbps</b>、<b class='flag-5'>100</b> <b class='flag-5'>Mbps</b>和1 <b class='flag-5'>Gbps</b><b class='flag-5'>以太网</b>PHY

    以太网接口类型及参数

    以太网接口是一种用于局域网组网的接口,包括:以太网接口以太网
    的头像 发表于 02-14 09:34 2433次阅读
    <b class='flag-5'>以太网</b><b class='flag-5'>接口</b>的<b class='flag-5'>类型</b>及参数

    工业以太网的原理/特点/要解决的问题

    工业以太网的原理可以分为以下几个方面:   物理层:工业以太网采用的物理层接口主要有双绞线和光纤两种,其中双绞线是最常用的接口。双绞线通过不同的传输速率(如
    发表于 03-13 14:50 1450次阅读