1. 系统概述
从硬件的角度来分析,以太网的电路接口一般由CPU、MAC(Media Access Control)控制器和物理层接口PHY(physical Layer PHY)组成,如下图所示
对于上述三部分,并不一定都是独立的芯片,主要有以下几种情况:
1.CPU内部集成了MAC和PHY,难度较高
2.CPU内部集成MAC,PHY采用独立芯片(主流方案)
3.CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片(高端采用)
以常用的CPU内部集成MAC,PHY采用独立的芯片方案,虚线内表示CPU和MAC集成在一起,PHY芯片通过MII接口与CPU上的MAC互联:
SMI是一种串行接口,接口包括两根信号线: MDC:管理接口的时钟,MDIO: 双向的数据线。主要是完成CPU对于PHY芯片的寄存器配置
MII总线接口,主要是完成数据收发相关的业务(下方详细介绍)
网络隔离变压器:传输数据,增强信号;隔离网线连接的不同网络设备间的不同电平;抗干扰,保护作用。
2.通讯方式
MII(Media Independent Interface)即媒体独立接口,MII接口是MAC与PHY连接的标准接口。它是IEEE-802.3定义的以太网行业标准。MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术。媒体独立表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作.它包括一个数据接口,以及一个MAC和PHY之间的管理接口。MII接口有MII、RMII、SMII、SSMII、SSSMII、GMII、SGMII、RGMII等。这里简要介绍其中的MII和RGMII。
MII接口主要包括以下三个部分:
从MAC层到PHY层的发送数据接口
从PHY层到MAC层的接收数据接口
从MAC层和PHY层之间寄存器控制和信息获取的MDIO接口
MII 数据接口总共需要 16 个信号。MII的时钟为25MHz,传输速率为10/100Mbps。所以MII的特性如下:
1.支持10Mb/s和100Mb/s的数据速率
2.100M工作模式下,参考时钟是25MHz;10M工作模式下,信号参考时钟是2.5MHz
3.支持全双工、半双工两种工作模式
4.发送和接收数据时采用,4bit方式
RMII是简化的MII接口,在数据的收发上它比MII接口少了一倍的信号线(2数据位),所以它一般要求是50MHz的总线时钟。RMII一般用在多端口的交换机,所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数目.RMII的一个端口要求7个数据线,比MII少了一倍,所以交换机能够接入多一倍数据的端口.和MII一样,RMII支持10Mbps和100Mbps的总线接口速度.
后来为了支持千兆网口,也就开始有了千兆网的MII接口,也就是GMII接口。现在比较常用的是RGMII,减小了MAC和PHY之间的引脚数量。数据信号和控制信号混合在一起,并且在工作时钟的上升沿和下降沿同时采样,其对应关系图如下:
10M带宽对应的是2.5MHz,因为4bit*2.5M=10Mbps
100M带宽对应的是25MHz,因为4bit*25M=100Mbps
1000M带宽对应的是125MHz,因为250MHz频率太高,所以采用双边沿采样技术(会带来设计复杂度)。4bit125M2=1000Mbps
SMI是MAC内核访问PHY寄存器接口,它由两根线组成,双工,MDC为时钟,MDIO为双向数据通信,原理上跟I2C总线很类似,也可以通过总线访问多个不同的phy。
MDC/MDIO基本特性:
两线制:MDC(时钟线)和MDIO(数据线)。
时钟频率:2.5MHz
通信方式:总线制,可同时接入的PHY数量为32个
通过SMI接口,MAC芯片主动的轮询PHY层芯片,获得状态信息,并发出命令信息。
当PHY芯片发送数据,接受到MAC层发送过来的数字信号,然后转换成模拟信号,通过MDI接口传输出去。但是网线传输的距离又很长,有时候需要送到100米甚至更远的地址,那么就会导致信号的流失。而且外网线与芯片直接相连电磁感应和静电,也很容易导致芯片的损坏,所以就要使用网络变压器,其主要作用是:
传输数据,它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到不同电平的连接网线的另外一端;
隔离网线连接的不同网络设备间的不同电平,以防止不同电压通过网线传输损坏设备;
还能使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用,保护PHY免遭由于电气失误而引起的损坏(如雷击)。