上一章节讲到MII接口虽然很灵活,但是有一个缺点是因为它一个端口用的信号线有14根之多,如果一个 8 端口的交换机要用到 112 根线,16 端口就要用到 224 根线,到 32 端口的话就要用到 448 根线。一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从 MII 简化出来的标准,比如 RMII、SMII、GMII等。

MII

MII(Media Independent interface)即介质无关接口,它是IEEE-802.3定义的行业标准,是MAC与PHY之间的接口。MII数据接口包含16个信号和2个管理接口信号,如下图所示:

信号定义如下:

         MAC 通过MII 接口读取PHY 状态寄存器以得知目前PHY 的状态。例如连接速度、双工的能力等。也可以通过 MII设置PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。MII以4位半字节方式传送数据双向传输,时钟速率25MHz,其工作速率可达100Mb/s;当时钟频率为2.5MHz时,对应速率为10Mb/s。

RMII

RMII(Reduced Media Independant Interface),精简MII接口,节省了一半的数据线。RMII收发使用2位数据进行传输,收发时钟均采用50MHz时钟源。信号定义如下:

其中CRS_DV是MII中RX_DV和CRS两个信号的合并,当物理层接收到载波信号后CRS_DV变得有效,将数据发送给RXD。当载波信号消失后,CRS_DV会变为无效。在100M以太网速率中,MAC层每个时钟采样一次RXD[1:0]上的数据,在10M以太网速率中,MAC层每10个时钟采样一次RXD[1:0]上的数据,此时物理层接收的每个数据会在RXD[1:0]保留10个时钟。

SMII

SMII(Serial Media Independant Interface),串行MII接口。它包括TXD,RXD,SYNC三个信号线,共用一个时钟信号,此时钟信号是125MHz,信号线与此时钟同步。信号定义如下:

SYNC是数据收发的同步信号,每10个时钟同步置高一次电平,表示同步。TXD和RXD上的数据和控制信息,以10bit为一组。发送部分波形如下:

从波形可以看出,SYNC变高后的10个时钟周期内,TXD依次输出一组10bit的数据即TX_ER,TX_EN,TXD[0:7],这些控制信息和MII接口含义相同。在100M速率中,每一组的内容都是变换的,在10M速率中,每一组数据需要重复10次,采样任一一组都可以。

GMII

GMII(Gigabit Media Independant Interface),千兆MII接口。GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。GMII接口数据结构符合IEEE以太网标准,该接口定义见IEEE 802.3-2000。信号定义如下:

RGMII

RGMII(Reduced Gigabit Media Independant Interface),精简GMII接口。相对于GMII相比,RGMII具有如下特征:

发送/接收数据线由8条改为4条
    TX_ER和TX_EN复用,通过TX_CTL传送
    RX_ER与RX_DV复用,通过RX_CTL传送
    1 Gbit/s速率下,时钟频率为125MHz
    100 Mbit/s速率下,时钟频率为25MHz
    10 Mbit/s速率下,时钟频率为2.5MHz
信号定义如下:

虽然RGMII信号线减半,但TXC/RXC时钟仍为125Mhz,为了达到1000Mbit的传输速率,TXD/RXD信号线在时钟上升沿发送接收GMII接口中的TXD[3:0]/RXD[3:0],在时钟下降沿发送接收TXD[7:4]/RXD[7:4],并且信号TX_CTL反应了TX_EN和TX_ER状态,即在TXC上升沿发送TX_EN,下降沿发送TX_ER,同样的道理试用于RX_CTL,下图为发送接收的时序:

以太网驱动详解之RMII、SMII、GMII、RGMII接口相关推荐

  1. 以太网接口MII,RMII,SMII,GMII总线接口简介

    以太网接口MII,RMII,SMII,GMII总线接口简介 所有的这些接口都从MII而来,MII是(MediumIndependent Interface)的意思,是指不用考虑媒体是铜轴.光纤.电缆等 ...

  2. MII,RMII,SMII,GMII,RGMII,SGMII接口定义 和 MDIO接口定义

    一.MII,RMII,SMII,GMII,RGMII,SGMII接口定义一览表 1.1 MII接口连接示意图 1.2 RMII接口连接示意图 1.3 SMII接口连接示意图 1.4 GMII接口连接示 ...

  3. 浅聊一下各类以太网媒体接口MII/RMII/SMII/GMII/RGMII/SGMII

    最近在学习以太网,了解到各种各样的以太网媒体接口:MII.RMII.SMII.GMII等等,有点乱,于是抽空理一下: MII MII,即Media Independent Interface,翻译过来 ...

  4. MII,RMII,SMII,GMII,RGMII,SGMII

    玩嵌入的同门不论是硬件还是软件,都应该了解 MII,RMII,SMII,GMII,RGMII,SGMII的区别:自己整理了一下,供参考 简单讲这些接口是用于连接MAC和PHY的.

  5. Ethernet(以太网) 详解 MAC、MII、PHY

    Ethernet(以太网) 详解 MAC.MII.PHY 结构   从硬件的角度看,以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY(Physical L ...

  6. linux usb gadget驱动详解(一)

    由于PC的推广,USB(通用串行总线)是我们最熟知的通信总线规范之一,其他的还有诸如以太网.PCIE总线和RS232串口等.这里我们主要讨论USB. USB是一个主从通信架构,但只能一主多从.其中us ...

  7. 博通wifi驱动详解

    1        WLAN技术 WLAN是英文WirelessLAN的缩写,就是无线局域网的意思.无线以太网技术是一种基于无线传输的局域网技术,与有线网络技术相比,具有灵活.建网迅速.个人化等特点.将 ...

  8. 使用VS2010编译MongoDB C++驱动详解

    最近为了解决IM消息记录的高速度写入.多文档类型支持的需求,决定使用MongoDB来解决. 考虑到MongoDB对VS版本要求较高,与我现有的VS版本不兼容,在leveldb.ssdb.redis.h ...

  9. Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令)

    Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令) 原创 2017年03月01日 22:58:39 标签: 开发人员 / UAV / 软件 / 硬件 一.开篇 开源精神常在!!! 谁说软件 ...

最新文章

  1. 解读《德勤2017年全球CIO报告》:顶级CIO的炼成之道
  2. Android App截包工具
  3. JS设置cookie、读取cookie、删除cookie
  4. boost::noinit_adaptor用法实例
  5. Hive分区、分桶操作及其比较(转自:http://blog.csdn.net/epitomizelu/article/details/41911657)
  6. java实现遍历树形菜单方法——OpenSessionView实现
  7. 【C++深度剖析教程8】C++的操作符重载的概念
  8. python 逻辑回归准确率是1_python数据分析(三)——逻辑回归之学生成绩预测
  9. java httpclient4_httpclient4使用说明
  10. 107 nginx rewrite规则和alias
  11. php 实战技巧,PHP实战技巧(15)通过phpinfo()了解你的PHP配置状况(二)
  12. MyBatis Generator报错:Cannot instantiate object of type
  13. 用C#调整Excel 的行高和列宽
  14. 欧姆龙服务器显示oE,在公网如何配置OE客户端
  15. mysql error 1146错误解决办法
  16. Sentence-BERT详解
  17. 魔兽70服修复比较好的服务器,魔兽世界tbc选哪个服务器
  18. 初学安卓之二维码的简单实现,android开发网上购物app
  19. 上班族做近视手术要请几天假?
  20. PCIE设备访问及其配置空间

热门文章

  1. 哈佛大学凌晨四点半的景象
  2. 哈佛凌晨两点半(读书笔记)
  3. 机器学习(Andrew Ng)作业代码(Exercise 3~4)
  4. CMS 订单管理系统
  5. Hough变换与Radon变换的联系与区别
  6. Vue模板编译原理详解
  7. WORD文档的超链接无法打开
  8. html点击展开菜单,简单实现js点击展开二级菜单功能
  9. JS 倒计时展示小工具
  10. LINUX选定区域截图