MII数据接口统共需16个旗子暗记。管理接口是个双旗子暗记接口:一个是时钟旗子暗记,另一个是数据旗子暗记。通过管理接口,上层能监视和掌握PHY。
由此可见,MAC 和 PHY,一个是数据链路层,一个是物理层;两者通过 MII 传送数据。

从硬件的角度来剖析,以太网的电路接口一样平常由CPU、MAC(Media Access Control)掌握器和物理层接口(physical Layer PHY)组成:

对付上述三部分,并不一定都是独立的芯片,紧张有以下几种情形:
·CPU内部集成了MAC和PHY,难度较高;
·CPU内部集成MAC,PHY采取独立芯片(主流方案);
·CPU不集成MAC和PHY,MAC和PHY采取独立芯片或者集成芯片(高端采取)
PHY整合了大量仿照硬件,而MAC是范例的全数字器件,芯片面积及仿照/数字稠浊架构的缘故原由,是将MAC集成进微掌握器而将PHY留在片外的缘故原由。更灵巧、密度更高的芯片技能已经可以实现MAC和PHY的单芯片整合;
·以常用的CPU内部集成MAC,PHY采取独立的芯片方案,虚线内表示CPU和MAC集成在一起,PHY芯片通过MII接口与CPU上的MAC互联;
对付这种方案,其硬件方案比独立的更大略,PHY与MAC之间有以下两个主要的硬件接口:
MDIO总线接口,紧张是完成CPU对付PHY芯片的寄存器配置;MII即媒体独立接口,也叫介质无关接口。常见的有MII、RMII、GMII、RGMII等。“媒体独立”表明在不对 MAC 硬件重新设计或更换的情形下,任何类型的 PHY 设备都可以正常事情。MII 数据接口统共须要16个旗子暗记,包括:·transmit data - TXD[3:0]
·transmit strobe - TX_EN
·transmit clock - TX_CLK
·transmit error - TX_ER/TXD4
·receive data - RXD[3:0]
·receive strobe - RX_DV
·receive clock - RX_CLK
·receive error - RX_ER/RXD4
·collision indication - COL
·carrier sense - CRS
一样平常说来,包括:IC 对 PHY 作读取与写入用的一组旗子暗记:MDC(clock),MDIO(data) 作为 data sampling reference 用的两组 clock。频率应为 25MHz(TX_CLK,RX_CLK)各4-bit 的输出、输入 Bus(TX[0:3],RX[0:3])。关照对方准备输入数据的输出、输入的启动旗子暗记(TX_EN)。输出、输入的缺点关照旗子暗记(TX_ER,RX_ER)。得到有效输入数据的关照旗子暗记(RX_DV)。网络涌现拥塞的 colision 旗子暗记(Col)。
做为 carrier 回答用的旗子暗记(CRS),电位可利用+5V 或+3.3V。
MII 以 4bit,即半字节办法双向传送数据,时钟速率 25MHz,其事情速率可达 100Mb/s。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 的自己特有的一些功能,驱动须要做相应的修正。
SMI是MAC内核访问PHY寄存器接口,它由两根线组成、双工,MDC为时钟,MDIO为双向数据通信,事理上跟I2C总线很类似,也可以通过总线访问多个不同的PHY。
MDC/MDIO基本特性:
·两线制:MDC(时钟线)和MDIO(数据线)。
·时钟频率:2.5MHz
·通信办法:总线制,可同时接入的PHY数量为32个
·通过SMI接口,MAC芯片主动地轮询PHY层芯片,得到状态信息,并发出命令信息。
后来为了支持千兆网口,也就开始有了千兆网的MII接口,也便是GMII接口。现在比较常用的是RGMII,减小了MAC和PHY之间的引脚数量。数据旗子暗记和掌握旗子暗记稠浊在一起,并且在事情时钟的上升沿和低落沿同时采样,其对应关系如下:
10M带宽对应的是2.5MHz,由于4bit2.5M=10Mbps
100M带宽对应的是25MHz,由于4bit25M=100Mbps
1000M带宽对应的是125MHz,4bit125M=1000Mbps,由于250MHz频率太高,以是采取双边沿采样技能(会带来设计繁芜度)。
理解更多:https://www.ebyte.com/?&=nb










