澄清以太网,MII,SGMII,RGMII和PHY

mod*_*est 30 networking ethernet

我主要来自嵌入式软件背景,因此我对硬件的了解非常有限.我总是将以太网视为计算机上连接以太网电缆的小型物理连接器.从软件的角度来看,您需要做的就是安装驱动程序(在Windows中)或配置Linux内核以包含以太网的驱动程序.

问题:

但正如我已经开始下降一个等级(对硬件)和寻找不同的数据表和图表,我已经开始遇到像PHY,MII,SGMII,RGMII等方面,现在我是什么构成有点困惑以太网?例如,当我说英特尔82574L 1.0 Gbps以太网端口时,所有这些术语适用于哪里?

tia*_*eng 37

让我试着解释一下:

(1)MII,SGMII,RGMII是MAC芯片和PHY芯片之间的三种接口.英特尔82574L是一个MAC芯片.看下图:

 _______         __________                  ___________
  CPU  | PCI-E   |        |  MII/SGMII/RGMII |         |
  or   |<=======>| MAC    |<================>| PHY     |<==========>physical interface 
  board| or else |        |                  |         |
________         __________                  ___________
Run Code Online (Sandbox Code Playgroud)

有关MII(100Mbps),SGMII(1Gbps,串行),RGMII(1Gbps,简化)定义的详细信息,您可以谷歌搜索它们.

(2)基本上,NIC(网络接口卡)由一个MAC芯片和相关的PHY芯片以及其他外围模块组成.此外,一个以太网设备驱动程序应与NIC硬件配合使用.MAC芯片与控制CPU或PC主板有一个接口,如PCI-E总线等.

  • 是的,你对MII/SGMII/RGMII是正确的.PHY和MAC之间的区别很容易谷歌.简单来说,PHY芯片正在处理物理信号,例如工作模式,双工和协商.而MAC芯片正在处理数据链路层,以太网帧创建. (4认同)
  • 什么是PHY芯片?它与MAC芯片有什么不同?另外,根据您的解释,似乎MII,SGMII和RGMII只是互连PHY和MAC芯片的规范?是对的吗? (2认同)

Mar*_*son 31

一些定义:

  • MAC - 媒体访问控制器.这是系统的一部分,它将来自OS的数据包转换为要放在线路(或光纤)上的字节流.经常通过PCI Express(例如)与主处理器接口.
  • PHY - 物理层 - 将来自MAC的字节流转换为一条或多条线路或光纤上的信号.
  • MII - 媒体独立界面.只是MAC和PHY之间的一组标准引脚,因此MAC不必知道或关心物理介质是什么,PHY不必知道或关心主机处理器接口的外观.

MII很久以前就已经标准化,支持100Mbit/sec的速度.还可以使用较少引脚的版本,RMII(减少'R').

对于千兆位速度,使用GMII(千兆位的'G')接口,减少的引脚数版本称为RGMII.还有一个名为SGMII的非常简化的pincount版本(串行'S'),它需要MAC的IO引脚上的特殊功能,而其他xMII是相对传统的逻辑信号.

在其他情况下还有更多种类的接口,其中可能与Wikipedia MII页面相关联:

http://en.wikipedia.org/wiki/Media_Independent_Interface

关于你的特定英特尔芯片问题 - 据我所知(数据表链接似乎已经死了),该芯片是带有PCIe的MAC.因此它将位于主机上的PCIe总线和某种千兆物理层(PHY)之间.