在通信设备中,通常离不开网络接口,本文将重点说明下网络接口中的MAC、PHY、MII以及MII的各种衍生版本。
MAC和PHY的结构
上图中DMA集成在CPU中,但是CPU、MAC、PHY并不是在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积以及模拟/数字混合架构的原因,将MAC集成到SOC而将PHY留在片外,这种结构最常见
MAC
**MAC(Media Access Control)**即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。
PHY
**PHY(Physical Layer)**是IEEE-802.3中定义的一个标准模块,STA(Station Management Entity,管理实体,一般为MAC或者CPU)通过MIIM(MII Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的,PHY的基本结构图如下:
PHY在发送数据的时候,收到MAC过来的数据,然后把并行数据转化为串行流数据,再按照物理层编码的规则把数据编码,再变为模拟信号发送出去,收数据时则反之。
PHY寄存器的地址空间为5位,从0到31最多可以定义32个寄存器,如果32个不够,那么PHY可以采用分页技术扩展地址空间
MII
**MII(Media Independent interface)**即介质无关接口,它是IEEE-802.3定义的行业标准,是MAC与PHY之间的接口。MII数据接口包含16个信号和2个管理接口信号,如下图所示
MAC通过MIIM接口读取PHY状态寄存器得知目前PHY的状态.比如双工模式,连接速度等,也可以设置PHY的工作模式,比如流控打开与关闭、自协商模式还是强制模式。MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。当时钟频率为2.5MHz时,对应速率为10Mb/s。MII接口虽然很灵活但由于信号线太多限制多接口网口的发展,后续又衍生出RMII,SMII等。