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, and determine the type and capabilities of the attached PHY device(s).

MDIO接口包括两根信号线:MDC和MDIO,通过它,MAC层芯片(或其它控制芯片)可以访问物理层芯片的寄存器,并通过这些寄存器来对物理层芯片进行控制和管理。MDIO管理接口如下:
MDC:管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为400ns,最小正电平时间和负电平时间为160ns,最大的正负电平时间无限制。它与TX_CLK和RX_CLK无任何关系。
MDIO是一根双向的数据线,用来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。MDIO管理接口的数据帧结构如:

图MDIO管理接口的数据帧结构

In read/write operation, the management data frame is 64-bits long and starts with 32 contiguous logic one bits (preamble) synchronization clock cycles on MDC. The Start of Frame Delimiter (SFD) is indicated by a <01> pattern followed by the operation code (OP):<10> indicates Read operation and <01> indicates Write operation. For read operation, a 2-bit turnaround (TA) filing between Register Address field and Data field is provided for MDIO to avoid contention. Following the turnaround time, 16-bit data is read from or written onto management registers.

帧结构各域的含义如下:
PRE:帧前缀域,为32个连续“1”比特,这帧前缀域不是必要的,某些物理层芯片的MDIO操作就没有这个域。
ST:帧开始标志,出现“01”比特表示帧设计开始。
OP:帧操作码,比特“10”表示此帧为读操作帧,比特“01”表示此帧为写操作帧。
PHYAD:物理层芯片的地址,5个比特,每个芯片都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。
REGAD:用来选择物理层芯片的32个寄存器中的某个寄存器的地址。
TA:状态转换域,若为读操作,则第一比特时MDIO为高阻态,第二比特时由物理层芯片使MDIO置“0”。若为写操作,则MDIO仍由MAC层芯片控制,其连续输出“10”两个比特。
DATA:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到MAC层的数据,若为写操作,则为MAC层送到物理层的数据。
IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平,即MDIO引脚需要上拉电阻。

注:上述图片及英文来自“DM9161a数据手册”

最新文章

  1. MongoDB下载安装与简单增删改查
  2. PHP变量入门教程(4)PHP 的外部变量
  3. 神经网络hopfield的学习
  4. iOS 和 Android 测试托管平台 FIR.im 的注册与常用功能
  5. Chrome DevTools good good study day day up
  6. Java基础之理解Annotation(与@有关,即是注释)
  7. Python的包管理工具--PIP安装使用
  8. iOS学习笔记---oc语言第八天
  9. ios-为银行卡号格式化 每隔四位添加一个空格
  10. ASP.NET中后台注册js脚本攻略(转)
  11. SEO搜索引擎优化(一)
  12. 跟着弦哥学人工智能2—HAND-CRAFTED RULES实现的人工智能及其缺陷
  13. 关于iOS GangSDK的使用,为App快速集成社群公会模块
  14. XML错误信息Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-4.0.xsd). For more information, right click on the message in the Problems View ...
  15. 点击按钮如何改变当前窗口的url
  16. 进程同步控制(锁,信号量,事件), 进程通讯(队列和管道,生产者消费者模型) 数据共享(进程池和mutiprocess.Pool模块)
  17. python之gunicorn的配置
  18. 【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法
  19. C#实现枚举的相关操作
  20. Jenkins+Ant+Git+Jmeter实现持续集成

热门文章

  1. C语言实现括号配对问题
  2. Java下List使用subList实现分页获取
  3. Sticky Footer,完美的绝对底部
  4. 根文件系统及Busybox简介
  5. SpringBoot下文件上传与下载的实现
  6. java 的 &amp;和&amp;&amp;的区别
  7. 阿里云RDS(云数据库)之产品简介
  8. Java笔记1:IntelliJ IDEA详细安装步骤
  9. golang中的那些坑之迭代器中的指针使用
  10. 主流浏览器CSS3和HTML5兼容性