精华内容
下载资源
问答
  • 要:本文介绍了基于FPGA、功能经过扩展的以太网MII接口的硬件实现方法。硬件结构上由控制信号模块、分频器、异步FIFO缓冲和4b/5b编解码器4个部分组成。  关键词:100M以太网MII;FPGA;奇偶分频器;4b/5b编解码...
  • 各种MII接口详解

    2018-03-20 18:21:13
    介质独立接口,SGMII、GMII以及MII接口之间的区别与使用。
  • 要FPGA、功能经过扩展的以太网接口的硬件实现方法。硬件结构上由控制信号模块、分频器、异步缓冲和编解码器个部分组成。
  • MII接口介绍

    万次阅读 多人点赞 2017-04-12 20:43:38
    1、简介 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和...MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、R

    1、简介

      MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。“媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII,下面对它们进行一一介绍。

    2、MII接口介绍

      这里写图片描述  
      MII接口一共有16根线。
      RXD(Receive Data)[3:0]:数据接收信号,共4根信号线;
      TX_ER(Transmit Error):发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的数据无效。对于10Mbps速率下,TX_ER不起作用;
      RX_ER(Receive Error): 接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用;
      TX_EN(Transmit Enable): 发送使能信号,只有在TX_EN有效期内传的数据才有效;
      RX_DV(Reveive Data Valid): 接收数据有效信号,作用类型于发送通道的TX_EN;
      TX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。注意,TX_CLK时钟的方向是从PHY侧指向MAC侧的,因此此时钟是由PHY提供的。
      RX_CLK:接收数据参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。RX_CLK也是由PHY侧提供的。
      CRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS就有效,另外,CRS只有PHY在半双工模式下有效;
      COL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只有PHY在半双工模式下有效。

    3、RMII接口介绍

      这里写图片描述
      RMII即Reduced MII,是MII的简化板,连线数量由MII的16根减少为8根。
      TXD[1:0]:数据发送信号线,数据位宽为2,是MII接口的一半;
      RXD[1:0]:数据接收信号线,数据位宽为2,是MII接口的一半;
      TX_EN(Transmit Enable):数据发送使能信号,与MII接口中的该信号线功能一样;
      RX_ER(Receive Error):数据接收错误提示信号,与MII接口中的该信号线功能一样;
      CLK_REF:是由外部时钟源提供的50MHz参考时钟,与MII接口不同,MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。这里需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。
      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中数据发送完为止。在接收过程中如果出现无效的载波信号或者无效的数据编码,则RX_ER会变为有效,表示物理层芯片接收出错。

    4、SMII接口介绍

      这里写图片描述
      SMII即Serial MII,串行MII的意思,跟RMII相比,连线进一步减少到4根。
      TXD:发送数据信号,位宽为1;
      RXD:接收数据信号,位宽为1;
      SYNC:收发数据同步信号,每10个时钟周期置1次高电平,指示同步。
      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[7:0]上传输的是物理层接收的数据。当RX_DV为无效时(低电平),RXD[7:0]上传输的是物理层的状态信息数据。见下表:
      这里写图片描述
      当速率为10Mbps时,每一组数据要重复10次,MAC/PHY芯片每10个周期采样一次。MAC/PHY芯片在接收到数据后会进行串/并转换。

    5、SSMII接口介绍

      这里写图片描述
      SSMII即Serial Sync MII,叫串行同步接口,跟SMII接口很类似,只是收发使用独立的参考时钟和同步时钟,不再像SMII那样收发共用参考时钟和同步时钟,传输距离比SMII更远。

    6、SSSMII接口介绍  

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

    7、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根。

    8、RGMII接口介绍

      这里写图片描述
      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。
      这里写图片描述

    展开全文
  • MII接口

    2019-05-31 16:55:00
    MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII...
    简介 
          MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等。下面对它们进行一一介绍。
     

    TXD(Transmit Data)[3:0]:数据发送信号,共4根信号线; 
    RXD(Receive Data)[3:0]:数据接收信号,共4根信号线; 
    TX_ER(Transmit Error):发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的      数据无效。对于10Mbps速率下,TX_ER不起作用; 
    RX_ER(Receive Error):接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用; 
    TX_EN(Transmit Enable): 发送使能信号,只有在TX_EN有效期内传的数据才有效; RX_DV(Reveive Data Valid): 接收数据有效信号,作用类型于发送通道的TX_EN; 
    TX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。注意,TX_CLK时钟的方向是从PHY侧指向MAC侧的,因此此时钟是由PHY提供的。 
    RX_CLK:接收数据参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。RX_CLK也是由PHY侧提供的。 
    CRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS就有效,另外,CRS只有PHY在半双工模式下有效; 
    COL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只有PHY在半双工模式下有效。  
    MII接口一共有16根线。
     


           与MII接口相比,GMII的数据宽度由4位变为8位。GMII接口中控制信号的功能与MII接口相同,如Tx-ER、Tx-en、Rx-ER、Rx-DV、CRS、COL等。发送参考时钟gtx_clk和接收参考时钟rx_clk的频率为125 MHz(1000 Mbps/8=125 MHz)。这里有一点需要特别解释,即发送参考时钟gtx_clk,这与mii接口中的tx_clk不同。MII接口中的TX U CLK由PHY芯片提供给MAC芯片,GMII接口中的GTX U CLK由MAC芯片提供给PHY芯片。两个方向是不同的。一种在实际应用中,大多数GMII接口都与MII接口兼容。因此,通用GMII接口有两个发送参考时钟:Tx_kLk和GTx_kLk(两者的方向不同,如前所述)。当使用tx-clk作为mii模式时,使用八条数据线中的四条。
     
          RGMII接口相对于GMII接口,在TXD和RXD上总共减少8根数据线。RGMII是MII简化版本,使实现这种接口的器件的引脚数从25个减少到14个。,RX数据宽度从8为变为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在钟的下降沿发送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。



          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”情况,影响时钟信息的提取。

    转载于:https://www.cnblogs.com/Laumincy/p/10956201.html

    展开全文
  • 各种MII类型接口详解

    2017-09-27 10:32:56
    详细介绍了Ethernet接口...口”,该接口一般应用于以太网硬件平台的 MAC 层和 PHY 层之间,MII 接口的 类型有很多,常用的有 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、 SGMII、TBI、RTBI、XGMII、XAUI、XLAUI 等
  • MII接口解释原链接点击此处 Media Independent Interface ...介质独立的意思是指,MAC与PHY之间的通信不受具体传输介质(双绞线或光纤等)的影响,任何MAC和PHY都可以通过MII接口互连。 MAC与PHY之间的MII连接可以是...

    MII接口解释原链接点击此处
    Media Independent Interface ( MII ),介质独立接口,起初是定义100M以太网(Fast Ethernet)的 MAC 层与 PHY 芯片之间的传输标准(802.3u)。介质独立的意思是指,MAC与PHY之间的通信不受具体传输介质(双绞线或光纤等)的影响,任何MAC和PHY都可以通过MII接口互连。

    MAC与PHY之间的MII连接可以是可插拔的连接器,或者是同一块PCB上MAC与PHY之间的走线。

    MDIO 是MII接口的一部分,用于在MAC和PHY之间传递配置信息。在系统上电瞬间,PHY芯片通过管脚的电平状态确定原始设置,进而通过MDIO更改配置。

    最初MII定义数据 4 bit 发送+ 4 bit 接收,每位数据速率 25MHz ,总数据速率 100Mbps 。其它 MII 标准的变种,包括 RMII,GMII,RGMII,XGMII,SGMII,基本上都是定位于更高速率或者更少的信号数的目标,图1表示在以太网通信层次模型中MII接口的位置。

    在这里插入图片描述
    图1. IEEE 802.3 标准(100Mbps +)

    MII: Media Independent Interface
    MII接口信号包括三类,分别为:

    发送端信号:TXCLK, TXD[0-3], TXEN, TXER
    接收端信号:RXCLK, RXD[0-3], RXDV, RXER, CRS, COL
    配置信号:MDIO, MDC
    信号方向如下图所示,其中 TXER 为选配。MII 共计 18 根信号线,只有 MDIO/MDC 信号可以在不同PHY间级联。假定系统中有 8 个PHY,则MII信号总数为 8*16 + 2 = 130 根!为减少信号数,RMII接口应运而生。

    mii_cfg

    图2. MII Interface

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

    TXCLK 和 RXCLK 两个时钟信号,合并为一个时钟 REFCLK
    时钟速率由 25MHz 上升到 50MHz,单向数据由 4 bits 变为 2 bits
    CRS 和 RXDV 合并为一个信号 CRSDV
    取消了 COL 信号
    RMII信号如下图所示。RMII只要 9 根信号线,相比于MII的 18 根信号可谓有不少的删减,在同一个系统中的多个设备可以共享 MDIO, MDC 和 REFCLK 信号线。

    在这里插入图片描述

    图3. RMII Interface

    GMII: Gigabit Media Independent Interface
    GMII接口的数据速率可达 1000Mbps,其时钟频率为 125MHz ,单向数据位宽 8 bits。GMII向下兼容MII,可以像MII一样工作在 100Mbps 和 10Mbps 的数据速率。

    GMII接口信号包括三类,分别为:

    发送端信号:GTXCLK, TXCLK, TXD[0-7], TXEN, TXER
    接收端信号:RXCLK, RXD[0-7], RXDV, RXER, CRS, COL
    配置信号:MDIO, MDC
    发送端包括两个时钟信号 GTXCLK 和 TXCLK,当设备工作于 1000Mbps 模式时,TXD, TXEN, TXER 是与 GTXCLK (125MHz)同步的,而在 10/100Mbps 工作模式时,以上数据信号是同步于由PHY提供的TXCLK 的,其中 100Mbps 时是 25MHz,10Mbps 时是 2.5MHz。接收端时钟只有一个时钟信号 RXCLK,它是从接收数据中恢复的时钟。

    在这里插入图片描述

    图4. GMII Interface

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

    1000Mbps模式下,在时钟的上/下边沿均采样数据
    取消不重要的如 CRS, COL 等信号
    在RGMII接口中 MAC 在 TXC 上一直提供时钟信号,而不像在GMII接口中那样,10/100Mbps 模式下时钟是由 PHY 提供(TXCLK),而 1000Mbps 模式下时钟是由 MAC 提供(GTXCLK)。在RGMII中应用到源同步时钟,即数据与时钟信号是同步的。这要求在PCB设计中,要对时钟信号额外增加 1.5~2 ns 的延迟以保证接收端的建立/保持时间满足要求。在 RGMII v2.0 规范中有定义MAC/PHY内部延迟(RGMII-ID),由此避免PCB设计中再要增加这个延迟。

    在RGMII接口中:

    1000Mbps 模式,数据在时钟的上/下边沿均采样
    10/100Mbps 模式,数据仅在时钟上升沿采样
    RXCTL 和 TXCLT 为复用的传输控制信号。RXCTL 在时钟的上升沿代表 RXDV,在时钟的下降沿代表(RXDV xor RXER);TXCTL 在时钟的上升沿代表 TXEN,在时钟的下降沿代表(TXEN xor TXER)。

    RGMII v1.3 采用 2.5V CMOS 电平,RGMII v2 采用 1.5V HSTL 电平。

    在这里插入图片描述

    图5. RGMII Interface

    SGMII: Serial Gigabit Media Independent Interface
    SGMII发送和接收时钟频率均为 625MHz,采用 DDR 模式,因此数据速率为1.25Gbps。SGMII相比于GMII,功耗更低,采用 SerDes 接口后管脚数更少。SGMII发送和接受数据各 1 对差分信号(LVDS),另外还有 1 对差分时钟,共 6 根线。对于 MAC/PHY 中包括时钟恢复电路(CDR, Clock and Data Recovery circuitry )的系统,TXCLK 可以省略,SGMII接口只需要 4 根线,相比于GMII( 24 根)和RGMII( 12 根)信号线大大减少!

    TX/RX在数据发送端必须同时产生时钟,而接收端的时钟是可选的,因为可以通过 CDR 恢复时钟。在 10/100Mbps 工作模式下,数据分别重复发送 100/10 次,因此时钟always是 625MHz。

    在这里插入图片描述

    图6. SGMII Interface

    在这里插入图片描述
    图7. 4-Wire/6-Wire SGMII

    XGMII: 10 Gigabit Media Independent Interface
    XGMII 是用于10G以太网的MAC与PHY设备间通信的接口标准,它包括 32 bits 的数据通道(RXD & TXD),两组 4 bits 的控制通道(RXC & TXC)和两组时钟(收/发),时钟频率 156.25 MHz ,工作在 DDR 模式。图8表示XGMII接口的连接示意图,注意 RXD/TXD 信号上的 36 表示 32 bits 数据 + 4 bits 控制信号,其中每 8 bits 数据称为 1 个Lane,共用 1 路控制信号。

    10 Gbps = 156.25 MHz * 32 bits * 2
    XGMII信号数目(74 根)较多,通常用于芯片内的连接,不适合作为芯片间通信的接口,因此协议定义XGXS(XGMII eXtender Sublayer)子层以缩减信号数目,简化硬件设计。XGXS 子层主要完成 8b/10b 编码和不同Lane之间的去偏斜等功能。如图8所示,在信号链的两端,MAC和PHY 都包括XGXS子层,XAUI 是 XGXS 之间通信的接口。

    XAUI 接口包括4组发送差分对和4 组接收差分对,共 16 根信号。每组差分对(Lane)的数据速率为 3.125 Gbps,因此总的数据速率为 4 * 3.125 Gbps = 12.5 Gbps,考虑到8b/10b的效率为80%,因此实际数据速率为 12.5Gbps * 80% = 10 Gbps。

    在这里插入图片描述

    图8. XGMII Interface

    Appendix

    XFI/XFP

    XFI 是10G以太网 PMA(Physical Medium Attachment)和 PMD(Physical Medium Dependent)之间的接口标准,它只有两对差分线(收/发),共 4 根线,如图9所示。XFI 接口速度达到 10.3125 Gbps,采用 64B/66B 编码,在XAUI与XFI之间使用到 SerDes 以减小信号数。

    在这里插入图片描述

    图9. 10GbE Layer & Interface

    XFP(10 Gigabit Small Form Factor Pluggable)是指应用XFI接口的光模块,应用于10G以太网的光传输。XFP光模块的尺寸略大于 SFP 和 SFP+ 光模块,三种光模块的详细对比见链接文章,在此不再赘述。

    MDIO

    如上文所述,MDIO用于上层(MAC)配置底层(PHY)的参数,它包括时钟信号 MDC 和数据信号 MDIO 。如果系统中不止一个PHY,在使用同一组MDIO信号以级联方式配置PHY时,需要通过PHY芯片管脚的 Strap 来寻址不同芯片。PHY芯片的物理地址Strap管脚一般与 RXD 管脚复用。在MDIO规范中定义PHY地址为 5 bit,即同一组MDIO最多可配置 2^5 = 32 个PHY。图10表示MDIO配置的时序图。

    注意,这里提到的PHY芯片Strap的物理地址仅与MDIO的配置过程寻址有关,和通常意义上的 MAC 地址没有任何关系。

    在这里插入图片描述

    图10. MIIM Timing

    展开全文
  • MII接口及应用

    千次阅读 2017-04-19 21:29:12
    MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、...

    MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等。

    MII接口:

    RXD(Receive Data)[3:0]:数据接收信号,共4根信号线;

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

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

    TX_EN(Transmit Enable): 发送使能信号,只有在TX_EN有效期内传的数据才有效;

    RX_DV(Reveive Data Valid): 接收数据有效信号,作用类型于发送通道的TX_EN

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

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

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

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

    MII接口一共有16根线

    Tx_CLK/Rx_CLK分别是Tx和Rx的时钟信号。他们都是由PHY驱动的。

    TxD[0...3]/RxD[0...3]:分别是Tx和Rx的数据传输线。TxD是控制器驱动,RxD是PHY驱动。

    Tx_EN/RX_DV:分别是Tx和Rx的开关。这两根线都是PHY驱动。(事实上,虽然很多文档都讲Tx_EN是PHY驱动的;但在实现时,Tx_EN是由控制器来设定的,也就是控制器驱动的)。只有在Tx_EN有效时,TxD才会被PHY接收;只有在Rx_DV有效时,RxD才会被控制器接收。
    Tx_ER/Rx_ER:分别是Tx和Rx的报错线。这两根线都是PHY驱动。即使是在Tx_EN或Rx_DV期间,只要此两根线有效,则出错的那个周期所传数据无效。10Mb以太网传输时,ER信号不影响正常传输,若不使用ER线,需将其接地。

    CRS/COL:监听介质是否空闲/监听是否有冲突发生。这两根线都是由PHY驱动,并且只在半双工模式下有效。

    另外需加上,MII接口的Management Interface:MDCMDIO。通过它,控制芯片可以访问PHY的寄存器(前面100M物理层芯片中介绍的寄存器组,但不仅限于100M物理层芯片,10M物理层芯片也可以拥有这些寄存器),并通过这些寄存器来对物理层芯片进行控制和管理。

    MDC:管理接口的时钟。它是由控制器驱动,与TX_CLK和RX_CLK无任何关系。

    MDIO:用来传送MAC层的控制信息和物理层的状态信息。它是一根双向的数据线。因MDIO在某个时钟周期内会空闲,呈高阻状态,故使用时须将其上拉。

    加上这两根线,一共有18根线。事实上,一个控制器,可以通过Management Interface来管理32个PHY。即,MDC和MDIO是可以复用的。

    详解MDC、MDIO

    之前一直困惑switch芯片是怎么挂到router上去的, 把MDC和MDIO可以接32个PHY这个事实给忽略了。正好这次调试PHY,所以找了个GPIO驱动MDC,MDIO的驱动来搞搞清楚它到底怎么工作的。

    介绍这个驱动的原文在这里:  /Files/pied/一个用GPIO口模拟MDC_MDIO的驱动.pdf

    但是看过之后觉得不是自己想要的,又找来找去,最后找到802.3的协议书,还有lattice的应用文档《Accessing Control Registers through the MDIO bus》 ,ksz8021rnl的reference manul。综合一下,有下面收获:

    MAC主要是通过MDIO(以MDC为时钟)来读写PHY的寄存器,MDIO上数据帧的格式如下:

     

     数据开始前,会发32个1,然后数据开始时先发一个0,然后恢复到1;接下来两bit,10是读,01是写;紧接着的5位是PHY地址;下面5位是寄存器地址;接下来两位的话,我的理解是,如果是读,它用一个时钟的时间转到另一个方向(前面的命令式MAC->PHY,后面的data是PHY->MAC);接下来是16位的数据;空闲时线上为高阻。

    时序图就不贴了,根据器件不一样会有些差别。值得注意的是,当一个MAC挂多个PHY的时候,要留意因为fan-out,MDC和MDIO的输出被加到很大,802.3上写如果是32个PHY,MDC的负载电容会达到320pF,MDIO的会达到470pF。

    MDIO的帧格式介绍了,其实还没完,里面PHY add 和REG add不介绍下貌似过意不去。

    关于PHY Add, PHY不同,会有不同设置。AR8032是在RX[3...1]上的strapping,ksz8021rnl的地址取决于引脚PHYAD[1:0]上的strapping,int6400的工作在PHY模式下时地址为引脚MD_A[4:3] 上的strapping。

    而PHY register也有不同。下面是两个不同的PHY Register。

     

    这张来自802.3-2008_section2。

     




    SMII接口:

    SMII即Serial MII,串行MII的意思,跟RMII相比,连线进一步减少到4根;

    TXD:发送数据信号,位宽为1

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

    SYNC:收发数据同步信号,每10个时钟周期置1次高电平,指示同步。

    CLK_REF:所有端口共用的一个参考时钟,频率为125MHz,为什么100Mbps速率要用125MHz时钟?因为在每8位数据中会插入2位控制信号,请看下面介绍。

     TXD/RXD10比特为一组,以SYNC为高电平来指示一组数据的开始,在SYNC变高后的10个时钟周期内,TXD上依次输出的数据是:TXD[7:0]TX_ENTX_ER,控制信号的含义与MII接口中的相同;RXD上依次输出的数据是:RXD[7:0]RX_DVCRSRXD[7:0]的含义与RX_DV有关,当RX_DV为有效时(高电平)RXD[7:0]上传输的是物理层接收的数据。当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芯片提供的,所以顾名思义叫源同步串行。

     

     

    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接口:

    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变换知识,我后续会单独介绍。




    展开全文
  • MII接口大全

    2013-12-17 13:44:15
    MII接口介绍 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XL
  • 网络设备中肯定离开不MAC和PHY,本篇文章将详细介绍下以太网中一些常见术语与接口。 MAC和PHY结构 从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意: 上图中DMA集成在CPU,CPU,MAC,PHY并不是...
  • MII接口设计详解

    2013-03-25 20:57:22
    讲述MII接口的信号定义以及读写时序,比较全面的资料。
  • 以太网控制器Verilog源码(含有MAC,MII接口)
  • GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍千兆以太网MII接口类型主要有GMII、RGMII、SGMII、TBI和RTBI 五种GMII接(如下图): 与MII接口相比,GMII的TX/RX数据宽度由4位变为8位,GMII接口中的控制信号如TX_ER、TX...
  • mii接口包括四个状态,mac与物理层的发送状态,物理层到mac层的接收状态,mac的指示状态,物理层和mac层的物理控制传输信息。 三:基于hisi3536的mdio总线的配置 函数位于:drivers/...
  • MII接口分类总结

    千次阅读 2015-01-05 09:48:14
    简介: MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般...MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XL
  • 各种MII接口的介绍,为你的开发设计指点迷津~~
  •     MII是英文 Medium Independent Interface 的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII...
  • 【官方英文版文档高质量翻译】KSZ8863MLL(MII接口)翻译【中文版】.pdf
  • MII的英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,MII接口一般应用于以太网硬件平台的MAC层和PHY层之间,MAC层一般采用带有MAC的单片来完成、当然市面上也有如W5500之类的芯片提供了片...
  • MII接口笔记

    2020-12-26 20:58:17
    1、背景 2、MII接口
  • 在上一篇文章中介绍了此次设计使用的硬件组成,以及PHY层芯片RTL8201的简介,在正式学习它的接口之前,我觉得有必要从顶层来了解下网络传输,以我们用到的TCP/IP协议为例,其实我在学习的时候这部分知识也是后期才...
  • MII接口标准与应用分析.doc 介绍MII接口的相关内容;
  • 介绍了各以太网MII接口技术,包括MII、GMII、SMII、SGMII、RGMII等才传输方式
  • MII通讯接口简介

    2021-04-25 20:59:36
    MII接口定义了在MAC层和物理层之间传送数据和控制状态等信息的接口,它是10M和100M兼容的接口,经过扩展后还可以用于1000M 的MAC层与物理层的接口(GMII接口)。 一、MII接口的信号线 MII接口有18个信号线,所有信号...
  • 以太网MII接口类型

    2019-07-23 17:49:21
    以太网MII接口类型 大多数MAC芯片的SGMII接口都可以配置成SerDes接口(在物理上完全兼容,只需配置寄存器即可),直接外接光模块,而不需要PHY层芯片,此时时钟速率仍旧是625MHz,不过此时跟SGMII接口不同,SGMII接口...
  • MII接口详解

    2016-05-19 14:56:00
    MII (Media Independent Interface(介质无关接口);或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。数据接口包括分别用于发送器和接收器的两条独立...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,914
精华内容 2,365
关键字:

mii接口