1、了解MAC、MII、PHY、网卡基本构造基本概念
什么是MAC?
MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层(逻辑链路控制层).该层协议是以太网MAC由IEEE-802.3以太网标准定义.最新的MAC同时支持10Mbps和100Mbps两种速率。
以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层.一块以太网卡MAC芯片的作用不但要实现MAC子层和LLC子层的功能,还要提供符合规范的PCI界面以实现和主机的数据交换.
什么是MII?
MII 即媒体独立接口,它是 IEEE-802.3 定义的以太网行业标准。它包括一个数据接口,以及一个 MAC 和 PHY 之间的管理接口(图 1)。数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII 数据接口总共需要 16 个信号。管理接口是个双信号接口:一个是时钟信号MDC(clock),另一个是数据信号MDIO(data)。通过管理接口,上层能监视和控制 PHY。MII 界面传递了网络的所有数据和数据的控制,而 MAC 对 PHY 的工作状态的确定和对 PHY 的控制则是使用 SMI (Serial Management Interface)界面通过读写 PHY 的寄存器来完成的。PHY 里面的部分寄存器是 IEEE 定义的,这样 PHY 把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断读取PHY的状态寄存器。
RMII(Reduced Media Independant Interface)简化媒体独立接口,是标准的以太网接口之一,比 MII 有更少的 I/O,详细的后面用到再看
什么是PHY?
PHY 是物理接口收发器,它实现物理层。包括 MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI 子层。
总结:
网卡工作在 osi 的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为 PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为 MAC 控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是 pci 总线接 mac 总线,mac 接phy,phy 接网线(当然也不是直接接上的,还有一个变压装置)。
由此可见,MAC 和 PHY,一个是数据链路层,一个是物理层;两者通过 MII 传送数据。
网卡的基本构造?
网卡包括硬件和固件程序(只读存储器中的软件例程),该固件程序实现逻辑链路控制和媒体访问控制的功能,还记录唯一的硬件地址即 mac 地址,网卡上一般有缓存。网卡须分配中断 irq 及基本 i/o 端口地址,同时还须设置基本内存地址(base memory address)和收发器(transceiver)。
车载以太网协议架构
Ethernet 的接口实质是 MAC 通过 MII 总线控制 PHY 的过程。
参考链接: