天天看点

MAC/PHY传输协议

一、MAC(Media Access Control)即媒体介入控制层,位于OSI参考模型中数据链路层(包括LLC和MAC)的下层,它定义了数据帧怎样在介质上进行传输,物理寻址、逻辑拓扑、线路控制、出错纠正、帧的传递速度和可选择的流量控制也都在这一子层完成。MAC数据帧的基本格式如下图所示:

MAC/PHY传输协议

其中Frame Body是封装好的UDP/IP数据。因此整体的待发送的数据被封装成下图的样子,之后便可以将此封装好的数据帧发送给PHY芯片。

MAC/PHY传输协议

二、PHY(Physical)即物理层,可以发送和接收来自MAC的数据帧(frame)。PHY在发送数据时,收到MAC过来的数据(对于PHY没有帧概念,都是数据而不管是地址还是CRC),每4位就增加1位检错码,然后把并行数据转化为串行数据流数据,在按照物理层的编码规则(NRZ编码或曼彻斯特编码)把数据编码,再变为模拟信号将数据发送出去。接收数据的过程相反,为解码过程。PHY还有一个重要功能,就是实现CSMA/CD的部分功能,它能检测到网络上是否有数据在传送,如果有就等待,一旦检测到网络空闲,再等待一个随机时间将数据发送出去,如果发现数据冲突,冲突检测机构会等待一个随机时间重新发送数据。

三、MAC与PHY之间的数据交换:一些数据访问的接口标准是被用来实现MAC和PHY的数据交换的,他们包括:MII/RMII、GMII/RGMII。而MAC对PHY芯片的工作状态的确定和控制功能的实现是通过SMI(Serial Management Interface)接口读写PHY芯片寄存器来实现的,MAC可以同步SMI总线不断地读取PHY芯片的状态寄存器以得知目前PHY的连接速度、双工能力等状态,也可以通过SMI总线设置PHY芯片的寄存器达到控制的目的,例如自协商打开关闭等。

①MII/RMII称为媒体独立接口(简化的媒体独立接口),支持10Mbps和100Mbps的数据传输模式,主要用于MAC与PHY的互联。下图是其详细的接口连接示意图。

MAC/PHY传输协议
MAC/PHY传输协议

MII接口,10Mbps需要时钟为2.5MHz,100Mbps需要时钟为25MHz。一次传输数据为4bit且不需要MAC和PHY的时钟进行同步。RMII接口,一次传输数据为2bit,对于100Mbps需要时钟为50MHz,而且MAC控制器和PHY芯片需要相同的时钟进行同步。

②GMII/RGMII也是IEEE标准的千兆媒体独立接口(简化的千兆媒体独立接口),支持1000Mbps的数据传输模式。下图是其详细的接口连接示意图。

MAC/PHY传输协议
MAC/PHY传输协议

GMII接口,需要125MHz时钟,一次传输数据为8bit,其接口类似与MII接口,但是有一点不同:MII接口的TX_CLK是由PHY芯片给MAC控制器的;而GMII接口的GTX_CLK是由MAC控制器给PHY芯片的。RGMII接口,仍然需要125MHz时钟信号,为了保持1000Mbps速率,需要在时钟上升沿和下降沿都采样。RMII接口一次传输数据为4bit。

继续阅读