MII RMII SMII GMII

来源:互联网 发布:idc虚拟主机源码 编辑:程序博客网 时间:2024/05/19 20:18
       MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3
定义的以太网行业标准。它包括一个数据接口和一个 MACPHY 之间的管理接口。
数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时
钟和控制信号。
MII 数据接口总共需要16 个信号。
管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层
能监视和控制
PHYMII Management interface)只有两条信号线。
MII 标准接口用于连接 Fast Ethernet MAC-block PHY。表明在不对 MAC 硬件重新设
计或替换的情况下,任何类型的
PHY 设备都可以正常工作。在其他速率下工作的与MII
效的接口有:
AUI10M 以太网)、 GMIIGigabit 以太网)和 XAUI10-Gigabit

太网)。


MII 总线

     在IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC

相连接的通用总线。网络控制器可以用同样的硬件接口与任何

相连接的通用总线。网络控制器可以用同样的硬件接口与任何PHY 进行连接。
MII 相关接口介绍:
以太网媒体接口有:
MII RMII SMII GMII
所有的这些接口都从 MII 而来, MII (Medium Independent Interface)的意思,是指不
用考虑媒体是铜轴、光纤、电缆等,因为这些媒体处理的相关工作都有
PHY 或者叫做MAC

的芯片完成。


       MII 支持10 兆和 100兆的操作,一个接口由 14 根线组成,它的支持还是比较灵活的,
但是有一个缺点是因为它一个端口用的信号线太多,如果一个
8 端口的交换机要用到112
根线, 16 端口就要用到224 根线,到 32端口的话就要用到 448 根线,一般按照这个接口
做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从
MII 简化出来的

标准,比如 RMIISMIIGMII等。


RMII 是简化的MII 接口,在数据的收发上它比 MII 接口少了一倍的信号线,所以它一般
要求是
50 兆的总线时钟。 RMII 一般用在多端口的交换机,它不是每个端口安排收、发两个
时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数
目。
RMII 的一个端口要求 7 个数据线,比 MII少了一倍,所以交换机能够接入多一倍数据

的端口。和 MII一样, RMII 支持10 兆和 100兆的总线接口速度。


SMII 是由思科提出的一种媒体接口,它有比RMII 更少的信号线数目, S 表示串行的意
思。因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以在时钟上为了满
100 的需求,它的时钟频率很高,达到了125 兆,为什么用 125 兆,是因为数据线里面
会传送一些控制信息。
SMII 一个端口仅用4 根信号线完成 100信号的传输,比起 RMII
不多又少了一倍的信号线。
SMII 在工业界的支持力度是很高的。同理,所有端口的数据收

发都公用同一个外部的 125M时钟。


GMII 是千兆网的MII 接口,这个也有相应的 RGMII 接口,表示简化了的 GMII接口。


MII 工作原理:
媒体独立表明在不对MAC 硬件重新设计或替换的情况下,任何类型的PHY 设备都可
以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时

钟和控制信号。

MII 数据接口总共需要16 个信号,包括 TX_ERTXDTX_ENTX_CLKCOLRXD

RX_EXRX_CLKCRSRX_DV 等。

MII 4 位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达 100Mb/s
MII 管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。
通过管理接口,上层能监视和控制
PHY,其管理是使用SMI Serial Management Interface

总线通过读写 PHY的寄存器来完成的。


PHY 里面的部分寄存器是IEEE 定义的,这样 PHY 把自己的目前的状态反映到寄存器里
面,
MAC 通过 SMI 总线不断的读取 PHY的状态寄存器以得知目前 PHY 的状态,例如连接
速度,双工的能力等。
当然也可以通过
SMI 设置 PHY 的寄存器达到控制的目的,例如流控的打开关闭,自协
商模式还是强制模式等。
不论是物理连接的
MII 总线和 SMI 总线还是 PHY的状态寄存器和控制寄存器都是有
IEEE 的规范的,因此不同公司的MAC PHY一样可以协调工作。当然为了配合不同公司
PHY 的自己特有的一些功能,驱动需要做相应的修改。
PHY 是物理接口收发器,它实现物理层。包括MII/GMII(介质独立接口)子层、PCS(物
理编码子层)、
PMA (物理介质附加)子层、PMD(物理介质相关)子层、MDI 子层。100BaseTX
采用 4B/5B 编码。
PHY 在发送数据的时候,收到 MAC 过来的数据(对 PHY来说,没有帧的概念,对它来
说,都是数据而不管什么地址,数据还是
CRC),每4bit 就增加 1bit的检错码,然后把并
行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送
出去。收数据时的流程反之。
PHY 还有个重要的功能就是实现 CSMA/CD 的部分功能。
它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络
空闲,再等待一个随机时间后将送数据出去。如果两个碰巧同时送出了数据,那样必将造成
冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。
这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,
而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。
通信速率通过双方协商,协商的结果是两个设备中能同时支持的最大速度和最好的双工

模式,这个技术被称为 Auto Negotiation或者 NWAY
隔离变压器把
PHY 送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过
电磁场的转换耦合到连接网线的另外一端。

RJ-45 12是传送数据的, 36 是接收数据的。



新的 PHY支持 AUTO MDI-X 功能,也需要隔离变压器支持,它可以实现 RJ-45接口的
12上的传送信号线和 36 上的接收信号线的功能自动互相交换。
GMII 简介:
GMII (Gigabit MII)
GMII
采用 8 位接口数据,工作时钟 125MHz,因此传输速率可达1000Mbps。同时兼容
MII 所规定的 10/100 Mbps工作方式。
GMII 接口数据结构符合 IEEE 以太网标准。该接口定义见 IEEE 802.3-2000
发送器:
GTXCLK——吉比特 TX..信号的时钟信号( 125MHz
TXCLK——10/100M 信号时钟
TXD[7..0]——被发送数据
TXEN——发送器使能信号
TXER——发送器错误(用于破坏一个数据包)
注:在千兆速率下,向
PHY 提供GTXCLK 信号, TXDTXENTXER 信号与此时钟信
号同步。否则,在
10/100M 速率下,PHY 提供 TXCLK时钟信号,其它信号与此信号同步。
其工作频率为
25MHz100M 网络)或 2.5MHz10M 网络)。
接收器:
RXCLK——接收时钟信号(从收到的数据中提取,因此与GTXCLK 无关联)
RXD[7..0]——接收数据
RXDV——接收数据有效指示
RXER——接收数据出错指示
COL——冲突检测(仅用于半双工状态)
管理配置
MDC——配置接口时钟
MDIO——配置接口 I/O
管理配置接口控制 PHY 的特性。该接口有 32 个寄存器地址,每个地址16 位。其中前
16 个已经在“IEEE 802.3,2000-22.2.4 Management Functions”中规定了用途,其余的则由

各器件自己指定。



RMII 简介:
RMII: Reduced Media Independant Interface 即简化媒体独立接口;是标准的以太网接
口之一,比
MII 有更少的 I/O 传输。
关于
RMII 口和 MII 口的问题
RMII 口是用两根线来传输数据的,
MII 口是用 4根线来传输数据的,
GMII 是用 8根线来传输数据的。
MII/RMII 只是一种接口,对于10M 线速,MII的速率是 2.5MRMII 则是 5M;对于100M
线速, MII 的速率是25MRMII则是 50M
MII/RMII 用于传输以太网包,在MII/RMII 接口是 4/2bit 的,在以太网的 PHY里需要做
串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循
IEEE 802.3(10M)/IEEE
802.3u(100M)/IEEE 802.1q(VLAN)

以太网帧的格式为:前导符
+开始位+目的mac 地址+mac 地址+类型/长度+数据
+padding(optional)+32bitCRC
如果有 vlan,则要在类型/长度后面加上2 个字节的 vlan tag,其中12bit 来表示 vlan id
另外
4bit 表示数据的优先级!
网卡的工作原理,
MAC PHY
认识网卡,我们上网必备组件之一。
网卡工作在
osi 的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要
的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接
口。物理层的芯片称之为
PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检
查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为
MAC 控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci 总线接 mac
线,
mac phyphy 接网线(当然也不是直接接上的,还有一个变压装置)。
下面继续让我们来关心一下
PHY MAC 之间是如何传送数据和相互沟通的。通过IEEE
定义的标准的 MII/GigaMII(Media Independed Interfade,介质独立界面)界面连接MAC
PHY。这个界面是 IEEE 定义的。 MII界面传递了网络的所有数据和数据的控制。而 MAC
PHY 的工作状态的确定和对PHY 的控制则是使用 SMI(Serial Management Interface)
面通过读写
PHY 的寄存器来完成的。PHY 里面的部分寄存器也是 IEEE 定义的,这样 PHY
把自己的目前的状态反映到寄存器里面, MAC通过 SMI 总线不断的读取PHY 的状态寄存
器以得知目前
PHY 的状态,例如连接速度,双工的能力等。当然也可以通过SMI 设置 PHY
的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。我们看到了,
不论是物理连接的
MII 界面和 SMI 总线还是 PHY的状态寄存器和控制寄存器都是有 IEEE
的规范的,因此不同公司的 MAC PHY 一样可以协调工作。当然为了配合不同公司的PHY
的自己特有的一些功能,驱动需要做相应的修改。一片网卡主要功能的实现就基本上是上面
这些器件了。其他的,还有一颗
EEPROM 芯片,通常是一颗93C46。里面记录了网卡芯片
的供应商
ID、子系统供应商 ID、网卡的 MAC地址、网卡的一些配置,如 SMI 总线上 PHY
的地址, BOOTROM 的容量,是否启用 BOOTROM 引导系统等东西。很多网卡上还有
BOOTROM 这个东西。它是用于无盘工作站引导操作系统的。既然无盘,一些引导用必需
用到的程序和协议栈就放到里面了,例如
RPLPXE等。实际上它就是一个标准的 PCI ROM
所以才会有一些硬盘写保护卡可以通过烧写网卡的
BootRom 来实现。其实PCI 设备的 ROM
是可以放到主板 BIOS 里面的。启动电脑的时候一样可以检测到这个 ROM并且正确识别它
是什么设备的。
AGP 在配置上和PCI 很多地方一样,所以很多显卡的BIOS 也可以放到主

BIOS里面。这就是为什么板载的网卡我们从来没有看到过 BOOTROM的原因。


2。工作过程,PHY 在发送数据的时候,收到 MAC 过来的数据(PHY 来说,没有帧
的概念,对它来说,都是数据而不管什么地址,数据还是
CRC),每4bit 就增加 1bit的检错
码,然后把并行数据转化为串行流数据,再按照物理层的编码规则
(10Based-T NRZ 编码
100based-T 的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。收数据时的
流程反之。现在来了解
PHY 的输出后面部分。一颗CMOS 制程的芯片工作的时候产生的
信号电平总是大于
0V (这取决于芯片的制程和设计需求),但是这样的信号送到100 米甚
至更长的地方会有很大的直流分量的损失。而且如果外部网现直接和芯片相连的话,电磁感
(打雷)和静电,很容易造成芯片的损坏。 再就是设备接地方法不同,电网环境不同会导
致双方的
0V 电平不一致,这样信号从A 传到 B,由于A 设备的 0V电平和 B 点的0V 电平
不一样,这样会导致很大的电流从电势高的设备流向电势低的设备。我们如何解决这个问题
呢?这时就出现了
Transformer(隔离变压器)这个器件。它把PHY 送出来的差分信号用差模
耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。这样
不但使网线和
PHY 之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还
可以在不同
0V 电平的设备中传送数据。隔离变压器本身就是设计为耐2KV~3KV 的电压的。
也起到了防雷感应
(我个人认为这里用防雷击不合适)保护的作用。有些朋友的网络设备在雷
雨天气时容易被烧坏,大都是
PCB 设计不合理造成的,而且大都烧毁了设备的接口,很少
有芯片被烧毁的,就是隔离变压器起到了保护作用。

0 0