mac与phy怎样实现网络自适应

这两天改动网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动怎样兼容10/100/1000M网络环境,记录在此。

网络中设备端数据链路层由mac芯片和phy芯片组成。phy芯片依据外部网络环境完毕自己主动协商以及配置。驱动中依据phy状态来配置mac。以达到phy与mac的相互配合工作。
如今主流的网卡phy芯片为100M和1000M,都是向下兼容。100M phy支持10/100M环境,1000M phy支持10/100/1000M环境。

首先说10/100/1000M都是指的数据收发速率,单位是bps。所以这里要从mac以及phy的数据收发接口下手。

mac与phy主流数据接口有GMII MII RMII等。接口规范中定义了数据收发信号线个数。

接口定义能够看这篇文章:
http://blog.csdn.net/skyflying2012/article/details/8252843

以GMII/MII为例来研究。GMII是有8根rx/tx线,MII有4根rx/tx线。
首先以外接100Mphy芯片来研究。

phy与外界网络环境完毕自己主动协商来确定其本身的速度。100M phy都支持MII接口。因此mac端就须要以MII接口定义与phy相连。
数据收发最重要的是提供正确的数据时钟。来保证数据正确的採样与发送。
对于100M phy,这个问题好解决,由于MII接口支持10/100M。4根数据线,仅仅须要mac给phy提供2.5/25MHZ数据时钟就可以。

最值得研究的是外接1000M phy时怎样适应10/100/1000M网络环境。

首先说,这是一个倒推的过程,首先来看phy是怎样处理10/100M和1000M环境的。mac的接口模式以及时钟再依据phy的配置进行配置。

随便找了一个1000M phy芯片的datasheet。RTL88E1111,对于GMII/MII接口的描写叙述例如以下:

依据这段描写叙述看出,GMII接口模式支持1000M环境,可是在10/100M环境下phy完毕自己主动协商确定为10/100BASE-TX后就切换为MII模式。GMII引脚都是与MII兼容的(MII下8根数据线有4根不用)。GMII接口定义中有2个clk线,GTX_CLK TX_CLK(GMII/MII下rx clk由phy提供),GTX_CLK在GMII模式下提供125MHZ,TX_CLK在MII模式下提供2.5/25MHZ。

以下给出一个mac与1000M phy硬件电路连接图。

能够看出对于1000M phy,GTX_CLK TX_CLK都须要与mac相连,在10/100/1000M环境下我分别用示波器測量clk的确如上所说。

综上,

对于100M phy。外部网络10/100M切换,仅须要改变mac提供的数据时钟就可以,mac接口模式不变,由于MII兼容10/100M。

对于1000M phy,外部网络10/100/1000M切换,首先须要改变mac的接口模式(使用的数据线个数不同了),由于10/100M下phy会切换为MII模式,依据接口模式在改变其数据时钟。

当然phy在自己主动协商完毕后是其硬件逻辑会完毕模式GMII/MII的转换,而对于mac,则要由驱动依据phy的工作状态来确定mac的接口模式以及须要提供的clk。
这也是我们软件开发者最须要关注的地方,依据phy的状态。怎样配置mac(接口模式 数据时钟)来保证与phy一致。

时间: 2024-08-04 22:54:30

mac与phy怎样实现网络自适应的相关文章

mac与phy如何实现网络自适应

这两天修改网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动如何兼容10/100/1000M网络环境,记录在此.网络中设备端数据链路层由mac芯片和phy芯片组成,phy芯片根据外部网络环境完成自动协商以及配置,驱动中根据phy状态来配置mac,以达到phy与mac的相互配合工作.现在主流的网卡phy芯片为100M和1000M,都是向下兼容.100M phy支持10/100M环境,1000M phy支持10/100/1000M环境. 首先说10/100/1000M

MAC和PHY的区别

一块以太网网卡包括OSI(开方系统互联)模型的两个层.物理层和数据链路层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.数据链路层则提供寻址机构.数据帧的构建.数据差错检查.传送控制.向网络层提供标准的数据接口等功能. 1.网卡的基本结构 以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY.许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel 82559网卡的和3COM 3C90

MAC和PHY的区别 (转自http://www.cnblogs.com/feitian629/archive/2013/01/25/2876857.html)

一块以太网网卡包括OSI(开方系统互联)模型的两个层.物理层和数据链路层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.数据链路层则提供寻址机构.数据帧的构建.数据差错检查.传送控制.向网络层提供标准的数据接口等功能. 1.网卡的基本结构 以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY.许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel 82559网卡的和3COM 3C90

转载:网口扫盲三:以太网芯片MAC和PHY的关系

原文地址:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数.缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. 问:以太网MAC是什么? 答:MAC即Media Access Control,即媒体访

网口扫盲三:以太网芯片MAC和PHY的关系(转)

问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数.缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下. 问:以太网MAC是什么? 答:MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,

Mac与Phy组成原理的简单分析

1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型: 方案一:CPU集成MAC与PHY: 方案二:CPU集成MAC,PHY采用独立芯片: 方案三:CPU不集成MAC与PHY,MAC与PHY采用集成芯片: 本例中选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去

网口扫盲二:Mac与Phy组成原理的简单分析

1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型: CPU集成MAC与PHY; CPU集成MAC,PHY采用独立芯片; CPU不集成MAC与PHY,MAC与PHY采用集成芯片; 本例中选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而

绕过MAC地址认证接入目标网络

仅供学习,禁止非法用途. 在本教程中,我将介绍如何绕过无线网络上的MAC地址过滤. MAC地址代表媒体访问控制地址,是分配给你的网络接口的唯一标识符,这有两个重要的含义:它可以用来识别试图访问网络的黑客或合法网络测试人员,并且可以用作验证个人身份并授予他们访问网络的手段.MAC过滤对于保护公司网络和数据或防止网络被WiFi入侵是完全没用的,因为它很容易绕过. 在本教程中,我们将通过欺骗已连接客户端的MAC地址绕过路由器上的MAC过滤.已连接客户端的MAC地址已列入白名单,否则将无法连接到无线网络

MAC与PHY连接的管理接口MDIO

MII Management interface用于MAC层或其他控制芯片(不一定是MAC层芯片,可能是MCU,如高通芯片建构中,1个MAC芯片可以控制2个PHY芯片,然后MCU控制3个网卡(MAC+2PHY)芯片)控制.配置PHY层芯片. Through MII Management interface it is possible to control and configure multiple PHY devices, get status and error infomation, a