在以太网开发中,常常会听到一些专业名词,例如PHY,MAC,MII,switch,下面是解释
PHY
PHY 是物理接口收发器,它实现物理层。包括 MII/GMII (介质独立接口) 子层、PCS (物理编码子层) 、PMA (物理介质附加) 子层、PMD (物理介质相关) 子层、MDI 子层。定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。
STA(station management entity,管理实体,一般为MAC 或 CPU)通过 SMI(Serial Manage Interface)对 PHY 的行为、状态进行管理和控制,而具体管理和控制动作是通过读写 PHY 内部的寄存器实现的。
PHY 在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T的NRZ编码或100based-T的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去,收数据时的流程反之。
PHY还有个重要的功能就是实现CSMA/CD的部分功能,它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去.如果两个碰巧同时送出了数据,那样必将造成冲突,这时候冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。
原文链接:https://blog.csdn.net/ID2442512720/article/details/131301158
MAC
MAC 是 Media Access Control 的缩写,即媒体访问控制子层协议。该协议位于 OSI 七层协议中数据链路层LLC的下半部分,主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC 协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息(封装数据包),最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC 协议首先判断输入的信息是否发生传输错误,如果没有错误,则去掉控制信息(解析数据包)发送至 LLC 层。以太网 MAC 由 IEEE-802.3 以太网标准定义。
MII
MII即媒体独立接口,也叫介质无关接口。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。
MII数据接口总共需16个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。
什么是 MII
MII(Media Independent Interface) 即媒体独立接口,MII 接口是 MAC 与 PHY 连接的标准接口。它是 IEEE-802.3 定义的以太网行业标准。MII 接口提供了 MAC 与 PHY 之间、PHY 与 STA(Station Management)之间的互联技术,该接口支持 10Mb/s 与 100Mb/s 的数据传输速率,数据传输的位宽为 4 位。MII 接口如下图所示:
MAC 通过MIIM 接口(MII 的 Management Interface)读取PHY 状态寄存器以得知目前PHY 的状态。例如连接速度、双工的能力等。也可以通过 MIIM设置PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。当时钟频率为2.5MHz时,对应速率为10Mb/s。MII接口虽然很灵活但由于信号线太多限制多接口网口的发展,后续又衍生出RMII,SMII等。
switch
以太网交换机switch是一种网络设备,用于将多个设备连接在一起,实现数据的快速传输和转发。交换机具有MAC地址表,可以根据MAC地址将数据包从一个端口转发到另一个端口。因此,以太网交换机可以看作是一种实现MAC层功能的设备(数据链路层)。
综上所述,MAC、MII、PHY和以太网交换机都是在以太网中实现数据传输的重要部分。MAC负责数据的封装和解析,PHY负责数据的转换和传输,两者通过 MII 传送数据,而以太网交换机则负责将数据包在不同的设备之间转发。它们共同协作,实现了以太网的数据传输功能。
CPU内部集成了MAC和PHY,难度较高;
CPU内部集成MAC,PHY采用独立芯片(主流方案);
CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片(高端采用)。
PHY整合了大量模拟硬件,而MAC是典型的全数字器件,芯片面积及模拟/数字混合架构的原因,是将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合;
以常用的CPU内部集成MAC,PHY采用独立的芯片方案,虚线内表示CPU和MAC集成在一起,PHY芯片通过MII接口与CPU上的MAC互联;
以太网交换机switch一般是选择合适的以太网交换机芯片,根据开发板的设计和需求将交换机芯片的接口与SOC进行连接。这通常涉及到物理连接(
例如通过GPIO接口)和软件配置(例如设置IP地址和子网掩码)。不同的port口连接不同的设备,switch负责将数据包在不同的设备之间转发。
原文链接:以太网基础知识——PHY,MAC,MII,switch_arl表-CSDN博客
从硬件角度上看,以太网卡一般都是由CPU、MAC和PHY三大部件构成,而将MAC集成进CPU,PHY留在片外,是较常规的以太网架构。
CPU/MAC/PHY 硬件架构
以太网是由CPU,MAC,PHY三部分组成的,如下图示意:
但是,在实际的设计中,CPU、MAC和PHY三部分并不一定是独立分开的,存在以下三种方式:
MAC集成在CPU中,而PHY 采用独立芯片,这种比较常见。
MAC 和 PHY不集成在CPU 中,二者集成在同一芯片(形成独立的网卡),这种也比较常见。
由于PHY 整合了大量模拟硬件,而 MAC 则是典型的全数字器件。考虑到芯片面积及模拟/数字混合架构的原因,将MAC集成进CPU而将PHY留在片外,这种结构是最常见的。 下图是网络接口内部结构图,虚框表示CPU,MAC集成在CPU中,PHY芯片通过MII接口与CPU上的MAC连接。
https://blog.csdn.net/ID2442512720/article/details/131301158