MAC与PHY

来源:互联网 发布:淘宝怎么加入返利网 编辑:程序博客网 时间:2024/05/17 20:23

ETHERNET的接口实质是MAC通过MII总线控制PHY的过程。

LLC在MAC层上部,MAC在PHY上层

发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;

接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。以太网MAC由IEEE-802.3以太网标准定义。

MII即媒体独立接口, 媒体独立表明在不对MAC硬件重新设计或替换情况下,任何类型PHY设备都可正常工作。

MII包括分别用于发送器和接收器的两条独立信道。

每条信道都有自己的数据、时钟和控制信号。其中的MII数据接口共需要16个信号,包括 

TX_ER,TXD<3:0>,TX_EN,TX_CLK,COL,

RXD<3:0>,RX_EX,RX_CLK,CRS,RX_DV 等。

MII以4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s(可以在这里做速率优化?)

MII管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。

通过MII管理接口,上层能监视和控制PHY。

MII管理接口是使用SMI(Serial Management Interface)总线通过读写PHY的寄存器来完成的。PHY里面的部分寄存器是IEEE802.3定义的,PHY把目前状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态:连接速度,双工的能力等。

通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等

MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是有 IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。

PHY是物理接口收发器,它实现物理层。包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、 PMD(物理介质相关)子层、MDI子层。

100BaseTX采用4B/5B编码。

PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。

接收数据时的流程反之。

PHY还有个重要的功能就是实现CSMA/CD的部分功能。它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两个碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。

通信速率通过双方协商,协商的结果是两个设备中能同时支持的最大速度和最好的双工模式。这个技术被称为Auto Negotiation或者NWAY。

隔离变压器把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。RJ-45中1、2是传送数据的,3、6是接收数据的。

新的PHY支持AUTO MDI-X功能(也需要隔离变压器支持)。它可以实现RJ-45接口的1、2上的传送信号线和3、6上的接收信号线的功能自动互相交换

网卡工作在osi的最后两层,物理层和数据链路层,

物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。

物理层的芯片称之为PHY。

数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。

以太网卡中数据链路层的芯片称之为MAC控制器

很多网卡的这两个部分(物理层PHY和数据链路层MAC)是做到一起的。他们之间的关系是pci总线接mac总线,mac接 phy,phy接网线(当然也不是直接接上的,还有一个变压装置(光电耦合整形滤波增强器件))。

0 0