mac与phy如何实现网络自适应
网络中设备端数据链路层由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一致。
mac与phy如何实现网络自适应相关推荐
- 网络编程入门教程01——网卡(MAC与PHY)
由于自己是首次接触网络编程,所以本专栏与其说是一个教程,不如说是学习分享.我的写作目的是尽力简洁有效生动地介绍网络编程的内容,使看到本文章的入门读者不至于望而却步. 1. OSI七层网络模型 在介绍本 ...
- 网卡介绍——MAC与PHY的关系分析
(一) 网卡初步认识 网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(N ...
- Ksz8081目前为MICROCHIP主推的PHY芯片之一,原为MICREL公司设计;芯片分为MII接口型号,RMII接口型号,分了两种不同的产品型号。enc28j60集成了MAC和PHY芯片
从硬件的角度看,以太网接口电路主要由 MAC(Media Access Control,MAC)控制器和物理层接口 PHY(Physical Layer,PHY)两大部分构成.如下图所示: Ksz80 ...
- 转载:网口扫盲三:以太网芯片MAC和PHY的关系
原文地址:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...
- 太网设计FAQ:以太网MAC和PHY
问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时 ...
- 有关MAC、PHY和MII
这是一篇转载,原文链接:http://www.cppblog.com/totti1006/archive/2008/04/22/47829.html 以太网(Ethernet)是一种计算机局域网组网技 ...
- 【NanoPi T2】 5.uboot gmac网卡驱动(1) - mac控制器,phy芯片,rgmii协议
1.mac控制器,phy芯片,rgmii协议 2.寄存器介绍 3.驱动源码解析 4.nanopi t2 移植rtl8211e网卡驱动(首发) 硬件构成部分 以太网卡或者是ARM开发板的网络部分通常由M ...
- 以太网芯片MAC和PHY
网口扫盲三:以太网芯片MAC和PHY的关系 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这 ...
- 网卡构造:MAC与PHY的关系,GMAC介绍
GMAC:千兆网媒体访问控制 GMAC接口(1)--GMAC简介_daikaimiao的博客-CSDN博客_gmac GMAC接口(2)--协议_daikaimiao的博客-CSDN博客_gmac协议 ...
最新文章
- 10.原码 反码 补码
- java学习论坛汇总
- pipenv相关指令
- python idle运行anaconda_在Python IDLE 下调用anaconda中的库教程
- Ubuntu 14.04 下 Virtual Judge 的搭建
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
- [原创]MYSQL周期备份shell脚本
- php错误日志框架,错误与日志 - Laravel - 为 WEB 艺术家创造的 PHP 框架。
- html5 web报表工具,Web报表工具的填报功能
- 用R语言进行Cox回归生存分析
- 斯坦福、康奈尔都推荐的量子计算课程教材:《量子计算》
- Shiro整合JWT实现认证和权限鉴定(执行流程清晰详细)
- android:ems什么意思
- 交通灯控制系统(30-5-20-5)【数电课设】
- 内部系统自己搭建还是花钱购买?这是一个问题
- 90% 都会的 ES6 简化代码技巧,你用过哪些?
- asp.net强大工作流引擎,learun助力开发升级
- win10怎么放计算机在桌面,win10怎么把此电脑放到桌面_w10如何把此电脑添加到桌面...
- 意迷观看欧冠决赛慌乱踩踏 公共安防再次升级
- iOS - AliPay 支付宝支付
热门文章
- 6.2 常见多媒体标准及压缩技术
- 洛谷 P1340 兽径管理
- 【转】wordpress/wp-includes目录文件概述
- npm升级package.json依赖包
- iOS 够逼格的注释总结
- ASP.NET Web API 应用教程(一) ——数据流使用
- 写在SDOI2016Round1前的To Do List
- 13 个超炫的 Conky 配置
- sublime 无法下载插件解决办法(亲测有效)
- ShopXO本地化部署安装之centeros 安装Apache2.4.6 + PHP7.0.33 + Mysql5.7.25环境