网口扫盲二:Mac与Phy组成原理的简单分析(转)
1. general
下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中.
对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列三种方案:
- CPU集成MAC与PHY;
- CPU集成MAC,PHY采用独立芯片;
- CPU不集成MAC与PHY,MAC与PHY采用集成芯片;
本例中选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而MAC与PHY之间的MII接口则需要多做些说明.
下图是采用方案二的网口结构图.虚框表示CPU,MAC集成在CPU中.PHY芯片通过MII接口与CPU上的MAC连接.
在软件上对网口的操作通常分为下面几步:
- 为数据收发分配内存;
- 初始化MAC寄存器;
- 初始化PHY寄存器(通过MIIM);
- 启动收发;
2. MII
MII接口是MAC与PHY连接的标准接口.因为各厂家采用了同样的接口,用户可以根据所需的性能、价格,采用不同型号,甚至不同公司的phy芯片.
需要发送的数据通过MII(Media-Independent Interface)接口中的收发两组总线实现.而对PHY芯片寄存器的配置信息,则通过MII总的一组串口总线实现,即MIIM(MII Management).
下表列出了MII总线中主要的一些引脚:
PIN Name |
Direction |
Description |
TXD[0:3] |
Mac to Phy |
Transmit Data |
TXEN |
Mac to Phy |
Transmit Enable |
TXCLK |
Mac to Phy |
Transmit Clock |
RXD[0:3] |
Phy to Mac |
Receive Data |
RXEN |
Phy to Mac |
Receive Enable |
RXCLK |
Phy to Mac |
Receive Clock |
MDC |
Mac to Phy |
Management Data Clock |
MDIO |
Bidirection |
Management Data I/O |
MIIM只有两个线, 时钟信号MDC与数据线MDIO.读写命令均由Mac发起, PHY不能通过MIIM主动向Mac发送信息.由于MIIM只能有Mac发起, 我们可以操作的也就只有MAC上的寄存器.
3. DMA
收发数据总是间费时费力的事,尤其对于网络设备来说更是如此.CPU做这些事情显然不合适.既然是数据搬移, 最简单的办法当然是让DMA来做.毕竟专业的才是最好的.
这样CPU要做的事情就简单了.只需要告诉DMA起始地址与长度, 剩下的事情就会自动完成.
通常在MAC中会有一组寄存器专门用户记录数据地址, tbase与rbase, cpu按MAC要的格式把数据放好后, 启动MAC的数据发送就可以了.启动过程常会用到寄存器tstate.
4. MAC
CPU上有两组寄存器用与MAC.一组控制用户数据的收发地址和状态,对应上面的DMA;一组用户MIIM,使得用户可以对PHY芯片进行配置.两组寄存器由于都在CPU上,配置方式与其他CPU上寄存器一样,直接读写即可.数据的转发通过DMA完成.
5. PHY
该芯片是一个10M/100M Ethernet网口芯片
PHY芯片有一组寄存器用户保存配置,并更新状态.CPU不能直接访问这组寄存器,只能通过MAC上的MIIM寄存器组实现间接访问. 同时PHY芯片负责完成MII总线的数据与Media Interface上数据的转发.该转发根据寄存器配置自动完成,不需要外接干预.
本文转自:http://www.360doc.com/content/13/0717/16/2768962_300623597.shtml
转载于:https://www.cnblogs.com/limanjihe/p/9807734.html
网口扫盲二:Mac与Phy组成原理的简单分析(转)相关推荐
- 网口扫盲二:Mac与Phy组成原理的简单分析
1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. MAC(Medi ...
- Mac与Phy组成原理的简单分析
Mac与Phy组成原理的简单分析 2011-12-28 15:30:43 //http://blog.chinaunix.net/uid-20528014-id-3050217.html 本文乃fir ...
- 网卡介绍——MAC与PHY的关系分析
(一) 网卡初步认识 网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(N ...
- 转载:网口扫盲三:以太网芯片MAC和PHY的关系
原文地址:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...
- 网卡扫盲三:以太网芯片MAC和PHY的关系
问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时 ...
- 以太网芯片MAC和PHY
网口扫盲三:以太网芯片MAC和PHY的关系 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这 ...
- 网卡构造:MAC与PHY的关系,GMAC介绍
GMAC:千兆网媒体访问控制 GMAC接口(1)--GMAC简介_daikaimiao的博客-CSDN博客_gmac GMAC接口(2)--协议_daikaimiao的博客-CSDN博客_gmac协议 ...
- 网络编程入门教程01——网卡(MAC与PHY)
由于自己是首次接触网络编程,所以本专栏与其说是一个教程,不如说是学习分享.我的写作目的是尽力简洁有效生动地介绍网络编程的内容,使看到本文章的入门读者不至于望而却步. 1. OSI七层网络模型 在介绍本 ...
- 网络结构及mac和phy介绍
这两天想看看网卡驱动,就先收集了一些网络结构的相关资料,这些基本上都是凑的,是伪原创 网络七层协议 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范.OSI模型有7层结构,每层 ...
最新文章
- .NET程序员的C情结(二)
- SQLPLUS命令的使用大全
- 2019-02-21-算法-进化
- 上交大计算机复试机师难不难,本科复旦,考研上海交大复试第一,我感觉难度并不大...
- 微信公众平台开发之留言板
- 解决KMPlayer 播放RMVB 一直是快进的问题
- 枚举编写单例是可以保证在多线程中的安全性
- PHP关闭$_ENV后获取服务器参数的办法
- centos6.5搭建vsftp服务器
- android sdk无法启动不了,无法启动Android SDK管理器
- JAVA JDK下载安装环境变量配置与安装视频教程2022年(超详细)
- Java 删除文件夹以及文件夹下的文件
- 第一章:Django介绍
- woff文件 服务器上找不到,字体文件未找到错误:IIS服务器上部署svg/woff/woff2字体 MIMe类型配置...
- 阿里P7晒出1月工资单:狠补了这个,真香...
- Spring4 Spring MVC实战(一)——读《Spring in action》搭建最简单的MVC
- 安装Windows 10X 教你如何安装Win10X正式版 及下载地址Win10X 20279.1002
- 求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积(基础作业
- js时间戳转换为日期时间格式
- 利用谷歌开源工具 sfntly ,修改字体文件制作想要的字体文件