简介
MAC (Medium Access Control),简称媒体访问控制。MAC层在OSI模型中是属于数据链路层,其主要任务是解决数据包发给谁。数据链路层包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。
PHY(physical),简称物理层,是一个对OSI模型物理层的简称。PHY包括两个接口三个子层:
MII接口:媒体独立接口。PHY与MAC之间的通信方式,其中包括数据接口、管理接口。在MII的基础上,又发展了RMII(Reduced Media Independant Interface,简化了MII,比MII用的信号线更少)、GMII(Gigabit Media Independent Interface,即先兆的MII接口)、RGMII(Reduced Gigabit Media Independent Interface,及简化先兆的MII接口);
MDI接口:媒体相关接口;
PCS子层:物理编码子层,负责编码;
PMA子层:物理介质连接子层,进一步将PCS编码向各种媒介进行传送。完成串并、并串转化;
PMD子层:物理介质相关子层,完成物理连接;
MAC的功能
1)封装网络层的数据,将数据封装为帧,实现帧同步对目标MAC地址和源MAC地址进行处理,对PHY传输错误时进行校准。MAC帧的数据部分只有一个字段,其长度;
2)控制PHY芯片;
PHY的功能
1)通过MII接受MAC的数据,并对数据进行进一步编码;
2)数字信号转化为模拟信号;
MAC和PHY的结构简图
一般的链路层和物理层实现方式有以下几种:
1)CPU集成MAC和PHY
2)CPU集成MAC,PHY采用外部芯片实现
3)CPU不集成MAC和PHY,MAC和PHY都通过外部芯片实现
一般采用的是第二种方法。
PHY芯片
PHY芯片的主要功能就是将数据再次编码,然后数字信号转化为电信号。PHY一般有32个寄存器,其中的前16个寄存器是根据802.3协议定义的,后面的16个寄存器是芯片制造商定义的功能寄存器。下图是RTL8211FD芯片的系统框图:
**驱动PHY芯片的驱动其实就是调用MAC控制器,通过SMI接口控制PHY芯片。在做协议适配的时候,主要就是通过MAC控制器与PHY芯片通信,来完成数据的控制。**详细的适配过程,可以参考和学习LWIP适配的详细讲解。
参考
图解通信原理(以太网通信及物理层工作原理)
以太网PHY芯片的趋势与测试验证&DPU架构及系统测试解决方案
网卡及MAC和PHY的区别
网卡的基本组成结构和工作原理
网络知识: 物理层PHY 和 网络层MAC
网口扫盲二:Mac与Phy组成原理的简单分析
MAC和PHY基本组成与工作原理简析
4B/5B编码