以太网PHY和MAC对应OSI模型的两个层:物理层、数据链路层。
图一
注意:
ETHERNET的接口实质是MAC通过MII总线控制PHY的过程。
关于MII:
MII即媒体独立接口, “媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。
MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。MII管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。其管理是使用SMI(Serial Management Interface)总线通过读写PHY的寄存器来完成的。PHY里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度,双工的能力等。当然也可以通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。不论是物理连接的MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。
简单说,MAC 和PHY 一个是数据链路层,一个是物理层,两者通过MII传送数据。
物理上直接相连的两部分一定是同层的,即与MAC直连的对端一定是MAC,与PHY直连的对端一定是PHY。
MAC直连MAC有两种接法:
两端的MAC,一个配成PHY模式,一个配置成MAC模式;
如果两端的MAC都配置成MAC模式,需要外接时钟;
如果是PHY对接MAC,中间需要配个PHY芯片,在MAC于PHY之间做转换。比如6097的port0-7与TK3723间对接,中间要加个AC101。
另外:
- MAC直连MAC,中间的接口总线一般为SMII/GMII/RMII/SMII,除SMII外都是并行的
- PHY直连PHY,是物理层接口,或为RJ45或为光纤接口等,是串行的,编码方式不同。