MII,media independent interface,媒体独立接口。它的一头是二层芯片,另一头是一层芯片。也就是一头是是数据源或者说是控制器,另一头是与介质相关的Tranceiver。
MII有很多简化版本和Extent版本,如GMII,RGMII,RMII,SMII,SSMII,TBI,RTBI等。
1、信号线定义
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:MDC和MDIO。通过它,控制芯片可以访问PHY的寄存器(前面100M物理层芯片中介绍的寄存器组,但不仅限于100M物理层芯片,10M物理层芯片也可以拥有这些寄存器),并通过这些寄存器来对物理层芯片进行控制和管理。
MDC:管理接口的时钟。它是由控制器驱动,与TX_CLK和RX_CLK无任何关系。
MDIO:用来传送MAC层的控制信息和物理层的状态信息。它是一根双向的数据线。因MDIO在某个时钟周期内会空闲,呈高阻状态,故使用时须将其上拉。
加上这两根线,一共有18根线。事实上,一个控制器,可以通过Management Interface来管理32个PHY。即,MDC和MDIO是可以复用的。 |