1. general

下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中.

对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列三种方案:

  1. CPU集成MAC与PHY;
  2. CPU集成MAC,PHY采用独立芯片;
  3. CPU不集成MAC与PHY,MAC与PHY采用集成芯片;

本例中选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而MAC与PHY之间的MII接口则需要多做些说明.

下图是采用方案二的网口结构图.虚框表示CPU,MAC集成在CPU中.PHY芯片通过MII接口与CPU上的MAC连接.

在软件上对网口的操作通常分为下面几步:

  1. 为数据收发分配内存;
  2. 初始化MAC寄存器;
  3. 初始化PHY寄存器(通过MIIM);
  4. 启动收发;

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组成原理的简单分析(转)相关推荐

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

    1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. MAC(Medi ...

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

    Mac与Phy组成原理的简单分析 2011-12-28 15:30:43 //http://blog.chinaunix.net/uid-20528014-id-3050217.html 本文乃fir ...

  3. 网卡介绍——MAC与PHY的关系分析

    (一) 网卡初步认识 网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(N ...

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

    原文地址:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...

  5. 网卡扫盲三:以太网芯片MAC和PHY的关系

    问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时 ...

  6. 以太网芯片MAC和PHY

    网口扫盲三:以太网芯片MAC和PHY的关系 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这 ...

  7. 网卡构造:MAC与PHY的关系,GMAC介绍

    GMAC:千兆网媒体访问控制 GMAC接口(1)--GMAC简介_daikaimiao的博客-CSDN博客_gmac GMAC接口(2)--协议_daikaimiao的博客-CSDN博客_gmac协议 ...

  8. 网络编程入门教程01——网卡(MAC与PHY)

    由于自己是首次接触网络编程,所以本专栏与其说是一个教程,不如说是学习分享.我的写作目的是尽力简洁有效生动地介绍网络编程的内容,使看到本文章的入门读者不至于望而却步. 1. OSI七层网络模型 在介绍本 ...

  9. 网络结构及mac和phy介绍

    这两天想看看网卡驱动,就先收集了一些网络结构的相关资料,这些基本上都是凑的,是伪原创 网络七层协议 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范.OSI模型有7层结构,每层 ...

最新文章

  1. .NET程序员的C情结(二)
  2. SQLPLUS命令的使用大全
  3. 2019-02-21-算法-进化
  4. 上交大计算机复试机师难不难,本科复旦,考研上海交大复试第一,我感觉难度并不大...
  5. 微信公众平台开发之留言板
  6. 解决KMPlayer 播放RMVB 一直是快进的问题
  7. 枚举编写单例是可以保证在多线程中的安全性
  8. PHP关闭$_ENV后获取服务器参数的办法
  9. centos6.5搭建vsftp服务器
  10. android sdk无法启动不了,无法启动Android SDK管理器
  11. JAVA JDK下载安装环境变量配置与安装视频教程2022年(超详细)
  12. Java 删除文件夹以及文件夹下的文件
  13. 第一章:Django介绍
  14. woff文件 服务器上找不到,字体文件未找到错误:IIS服务器上部署svg/woff/woff2字体 MIMe类型配置...
  15. 阿里P7晒出1月工资单:狠补了这个,真香...
  16. Spring4 Spring MVC实战(一)——读《Spring in action》搭建最简单的MVC
  17. 安装Windows 10X 教你如何安装Win10X正式版 及下载地址Win10X 20279.1002
  18. 求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积(基础作业
  19. js时间戳转换为日期时间格式
  20. 利用谷歌开源工具 sfntly ,修改字体文件制作想要的字体文件

热门文章

  1. JSP慕课网阶段用户登录小例子(不用数据库)
  2. 结构化查询语言包含哪些方面?
  3. Codeforces Beta Round #1
  4. [转]20年来我得到的20条编程经验
  5. boot nk.bin by CEPC
  6. ListableBeanFactory接口
  7. VS2008中开发智能设备程序的一些总结
  8. 安装配置OSA运维管理平台
  9. 100~200之间的素数(及其四个优化方案)
  10. android获取网络图片