MII/MDIO接口详解

2023-10-27

本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法。
MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。

提到MII,就有可能涉及到RS,PLS,STA等名词术语,下面讲一下他们之间对应的关系。

所谓RS即Reconciliation sublayer,它的主要功能主要是提供一种MII和MAC/PLS之间的信号映射机制。它们(RS与MII)之间的关系如下图:
在这里插入图片描述
MII接口的Management Interface可同时控制多个PHY,802.3协议最多支持32个PHY,但有一定的限制:要符合协议要求的connector特性。所谓Management Interface,即MDC信号和MDIO信号。

前面已经讲过RS与PLS的关系,以及MII接口连接的对象。它们是通过MII接口进行连接的,示意图如下图。由图可知,MII的Management Interface是与STA(Station Management)相连的。

接口支持10Mb/s以及100Mb/s,且在两种工作模式下所有的功能以及时序关系都是一致的,唯一不同的是时钟的频率问题。802.3要求PHY不一定一定要支持这两种速率,但一定要描述,通过Management Interface反馈给MAC。
在这里插入图片描述
下面将详细介绍MII接口的信号定义,时序特性等。由于MII接口有MAC和PHY模式,因此,将会根据这两种不同的模式进行分析,同时还会对RMII/SMII进行介绍。

MII接口可分为MAC模式和PHY模式,一般说来MAC和PHY对接,但是MAC和MAC也是可以对接的。

以前的10M的MAC层芯片和物理层芯片之间传送数据是通过一根数据线来进行的,其时钟是10M,在100M中,如果也用一根数据线来传送的话,时钟需要100M,这会带来一些问题,所以定义了MII接口,它是用4根数据线来传送数据的,这样在传送100M数据时,时钟就会由100M降低为25M,而在传送10M数据时,时钟会降低到2.5M,这样就实现了10M和100M的兼容。

MII接口主要包括四个部分。一是从MAC层到物理层的发送数据接口,二是从物理层到MAC层的接收数据接口,三是从物理层到MAC层的状态指示信号,四是MAC层和物理层之间传送控制和状态信息的MDIO接口。

MII接口的MAC模式定义:
在这里插入图片描述
MII接口PHY模式定义:
在这里插入图片描述

在MII接口中,TX通道参考时钟是TX_CLK,RX通道参考时钟是RX_CLK,802.3-2005定义了它们之间的关系。
在这里插入图片描述

由图3可知,即The clock to output delay shall be a min of 0 ns and a max of 25 nsSpec只对TX通道上MAC这一侧的发送特性作了定义,而对TX通道PHY那一侧的接收特性并没有定义。IC Vendor可在TX通道那一侧的PHY的接收特性作适当调整,只要最终的时序满足TX通道上MAC这一侧的发送特性就可以。
在这里插入图片描述
由图4可知,The input setup time shall be a minimum of 10 ns and the input hold time shall be a minimum of 10 nsSpec只对RX通道上MAC这一侧的接收特性作了定义,而对RX通道PHY那一侧的发送特性并没有定义。IC Vendor可在RX通道那一侧的PHY的发送特性作适当调整,只要最终的时序满足RX通道上MAC这一侧的接收特性就可以。

<1>: TX_CLK (transmit clock),TX_CLK (Transmit Clock)是一个连续的时钟信号(即系统启动,该信号就一直存在),它是TX_EN, TXD, and TX_ER(信号方向为从RS到PHY)的参考时钟,TX_CLK由PHY驱动TX_CLK的时钟频率是数据传输速率的25%,偏差±100ppm。例如,100Mb/s模式下,TX_CLK时钟频率为25MHz,占空比在35%至65%之间。

<2>:对于同样的RX_CLK,它与TX_CLK具有相同的要求,所不同的是它是RX_DV, RXD, and RX_ER(信号方向是从PHY到RS)的参考时钟。RX_CLK同样是由PHY驱动,PHY可能从接收到的数据中提取时钟RX_CLK,也有可能从一个名义上的参考时钟(e.g., the TX_CLK reference)来驱动RX_CLK

<3>:TXD (transmit data),TXD由RS驱动,同步于TX_CLK,在TX_CLK的时钟周期内,并且TX_EN有效,TXD上的数据被PHY接收,否则TXD的数据对PHY没有任何影响。

在这里插入图片描述
<4>:TX_ER (transmit coding error),TX_ER同步于TX_CLK,在数据传输过程中,如果TX_ER有效超过一个时钟周期,并且此时TX_ENTX_ER有效并不影响工作在10Mb/s的PHY或者TX_EN无效时的数据传输。在MII接口的连线中,如果TX_ER信号线没有用到,必须将它下拉接地。
在这里插入图片描述
<5>:RX_DV (Receive Data Valid),RXD_DV同步于RX_CLK,被PHY驱动,它的作用如同于发送通道中的TX_EN,不同的是在时序上稍有一点差别:为了让数据能够成功被RS接收,要求RXD_DV有效的时间必须覆盖整个FRAME的过程,即starting no later than the Start Frame Delimiter (SFD) and excluding any End-of-Frame delimiter,如下图7。
在这里插入图片描述
<6>:RXD (receive data),RXD由RS驱动,同步于RX_CLK,在RX_CLK的时钟周期内,并且RX_DV有效,RXD上的数据被RS接收,否则RXD的数据对RS没有任何影响。While RX_DV is de-asserted, the PHY may provide a False Carrier indication by asserting the RX_ER signal while driving the value <1110> onto RXD<3:0>。
在这里插入图片描述
<7>:RX_ER (receive error),RX_ER同步于RX_CLK,其在RX通道中的作用类似于TX_ER对于TX通道数据传输的影响。
在这里插入图片描述
<8>:CRS (carrier sense),CRS不需要同步于参考时钟,只要通道存在发送或者接收过程,CRS就需要有效。The behavior of the CRS signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation,即半双工模式信号有效,全双工模式信号无效。

<9>:COL (collision detected),COL不需要同步于参考时钟。The behavior of the COL signal is unspecified when the duplex mode bit 0.8 in the control register is set to a logic one(自动协商禁止,人工设为全双工模式), or when the Auto-Negotiation process selects a full duplex mode of operation。即半双工模式信号有效,全双工模式信号无效。

MII/MDIO接口详解 - dp - dp: 生活的脚步,进步的点滴…

MDIO接口包括两根信号线:MDC和MDIO,通过它,MAC层芯片(或其它控制芯片)可以访问物理层芯片的寄存器(前面100M物理层芯片中介绍的寄存器组,但不仅限于100M物理层芯片,10M物理层芯片也可以拥有这些寄存器),并通过这些寄存器来对物理层芯片进行控制和管理。MDIO管理接口如下:
在这里插入图片描述
MDC:管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为400ns,最小正电平时间和负电平时间为160ns,最大的正负电平时间无限制。它与TX_CLK和RX_CLK无任何关系。

MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。MDIO管理接口的数据帧结构如:

在这里插入图片描述
PRE:帧前缀域,为32个连续“1”比特,这帧前缀域不是必要的,某些物理层芯片的MDIO操作就没有这个域。

OP:帧操作码,比特“10”表示此帧为一读操作帧,比特“01”表示此帧为一写操作帧。

PHYAD:物理层芯片的地址,5个比特,每个芯片都把自己的地址与这5个比特进行比较,若匹配则响应后面的操作,若不匹配,则忽略掉后面的操作。

REGAD:用来选择物理层芯片的32个寄存器中的某个寄存器的地址。

TA:状态转换域,若为读操作,则第一比特时MDIO为高阻态,第二比特时由物理层芯片使MDIO置“0”。若为写操作,则MDIO仍由MAC层芯片控制,其连续输出“10”两个比特。

DATA:帧的寄存器的数据域,16比特,若为读操作,则为物理层送到MAC层的数据,若为写操作,则为MAC层送到物理层的数据。

IDLE:帧结束后的空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平,即MDIO引脚需要上拉电阻。

MDIO数据帧的时序关系如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210324163826855.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NtYXJ0dnh3b3Jrcw==,size_16,color_FFFFFF,t_70

MII接口也有一些不足之处,主要是其接口信号线很多,发送和接收和指示接口有14根数据线(不包括MDIO接口的信号线,因为其被所有MII接口所共享),当交换芯片的端口数据较多时,会造成芯片的管脚数目很多的问题,这给芯片的设计和单板的设计都带来了一定的问题。为了解决这些问题,人们设计了两种新的MII接口,它们是RMII接口(Reduced MII接口)和SMII接口(StreamMII接口)。

这两种接口都减少了MII接口的数据线,不过它们一般只用在以太网交换机的交换MAC芯片和多口物理层芯片中,而很少用于单口的MAC层芯片和物理层芯片中。RMII接口和SMII接口都可以用于10M以太网和100M以太网,但不可能用于1000M以太网,因为此时时钟频率太高,不可能实现。

下面这张图是从DM368的datasheet上的:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MII/MDIO接口详解 的相关文章

  • 启元世界内推招聘(对标阿里P6-P7)

    推荐系统架构师 岗位职责 负责游戏推荐系统的需求分析 系统设计 负责应用系统平台的可行技术设计 方案 指导和优化技术选型 负责推荐算法策略线上化 系统化实现在线服务 优化平台线上性能 负责线上平台的稳定性保障 负责推动应用系统的技术升级与研
  • 懂编译真的可以为所欲为

    作者 闲鱼技术 玉缜 背景 整个前端领域在这几年迅速发展 前端框架也在不断变化 各团队选择的解决方案都不太一致 此外像小程序这种跨端场景和以往的研发方式也不太一样 在日常开发中往往会因为投放平台的不一样需要进行重新编码 前段时间我们需要在淘
  • SAE安装第三方插件

    参考官网 http sae sina com cn doc python tools html saecloud 首先要安装sae python dev 1 3 2 tar gz 然后把官网的原话copy上来 在应用目录中执行下面的命令安装
  • 点云密度计算方法matlab,点云中的几何计算及matlab源码

    1 计算法向量 2 计算曲率 曲线的曲率 curvature 就是针对曲线上某个点的切线方向角对弧长的转动率 通过微分来定义 表明曲线偏离直线的程度 数学上表明曲线在某一点的弯曲程度的数值 曲率越大 表示曲线的弯曲程度越大 曲率的倒数就是曲
  • jdbc:mysql:replication_使用Mysql的Replication功能实现数据库同步

    本文档仅在于实验Mysql的Replication功能 没有考虑权限等其他问题 用于实验的服务器和客户机请使用没有安装过Mysql的计算机 如果安装过Mysql请卸载 请按照下面的顺序依次进行 改变顺序可能导致实验失败 1 在下面地址下载免
  • 会议OA项目---我的审批(审批&会议签字)

    目录 一 会议审批 二 会议签字 三 签名裁剪 一 会议审批 我的审批 实体类MeetingAudit package com zking entity import java io Serializable import java uti

随机推荐

  • C语言经典例题-贷款余额

    编程计算第一 第二 第三个月还贷后剩余的贷款金额 include
  • Revit二次开发——选集

    选集 选集 用户选集 过滤的用户选集 选集 选择图元后运行外部命令获取选择的内容 Revit API中定义了单选 多选 框选等方式的用户选集 用户可以十分方便的使用鼠标和键盘完成这三种方式的图元选择 Revit API根据三种用户选集各自的
  • 设系统中有三种类型的资源(A,B,C)的五个进程(P1,P2,P3,P4,P5)。A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表所示。

    银行算法应用 题目 设系统中有三种类型的资源 A B C 的五个进程 P1 P2 P3 P4 P5 A资源的数量为17 B资源的数量为5 C资源的数量为20 在T0时刻系统状态如表所示 系统采用银行家算法实施死锁避免策略 试问 1 T0时刻
  • centos7启动服务uthorization not available. Check if polkit service is running or see debug message for

    事件经过 有一次远程帮助别人解决的一个问题 当时那个人给发了一个samba服务启动报错的截图 还有一个翻译图 报错信息中提到了一个polkit服务 下面先普及一下关于这个服务的知识 polkit是一个应用程序级别的工具集 通过定义和审核权限
  • 浅析存储引擎(3)-B-tree

    浅析日志结构的存储引擎 1 bitcask浅析日志结构的存储引擎 2 SSTable和LSM Tree 前面两篇文章介绍了比较好理解的日志结构引擎LSM Tree 但它们不是最常见的索引类型 目前最广泛使用的索引结构是B tree B tr
  • input函数和int函数的使用

    第一 input函数接受一个标准输入数据 返回str类型 第二 int函数可以把str强制转换为整形 第三 int input ps 最近搞深度学习的视频 但是依然需要实操
  • 2023华为OD机试真题-寻找关键钥匙(JAVA、Python、C++)

    题目描述 小强正在参加 密室逃生 游戏 当前关卡要求找到符合给定 密码K 升序的不重复小写字母组成 的箱子 并给出箱子编号 箱子编号为1 N 每个箱子中都有一个字符串s 字符串由大写字母 小写字母 数字 标点符号 空格组成 需要在这些字符串
  • Webview setLayoutAlgorithm

    表示这个东西还是不用的为好 前端工程师会为自己的弹出框设置好位置 不必要手机端再来做弹出框的设置 要不就直接弹出原生弹出框 第一种 java WebSettings settings webView getSettings settings
  • TenSEAL学习笔记二

    文章目录 Training and Evaluation of Logistic Regression on Encrypted Data Download the coronary heart disease dataset Initia
  • 华为机试(JAVA)真题Od【A卷+B卷】2023

    目录 华为OD机试是什么 华为OD面试流程 华为OD机试通过率高吗 华为OD薪资待遇 华为OD晋升空间 大家好 我是哪吒 本专栏包含了最新最全的华为OD机试真题 有详细的分析和Java代码解答 已帮助1000 同学顺利通过OD机考 发现新题
  • gdb+gdbserver远程调试

    gdb gdbserver远程调试 文章目录 gdb gdbserver远程调试 一 gdb gdbserver交叉编译 1 源码下载 2 编译gdb 3 交叉编译gdbserver 二 远程使用gdbserver 1 attach调试运行
  • 为什么闹钟设置了却不响_手机闹钟不响是怎么回事 怎么设置闹钟【图文】

    手机大家都比较了解吧 手机由之前的来款式手机发展到了现在的4G大屏手机 这就是时代进步的见证 手机有很多的功能 但是今天小编给大家介绍的这个功能虽说不是什么 高科 技的功能 但是它确实最实用的 尤其是对于我们这些每天工作或者学习的人来说 这
  • Microsoft Visual C++下载,VC++下载

    Microsoft Visual C 2019 v14 28 29617 Microsoft Visual C Redistributable 系统运行库 简称MSVC VB VC 是Windows操作系统应用程序的基础类型库组件 Micr
  • Nginx反向代理proxy_pass

    一 概述 代理 proxy 即中间人 它代替客户端发送请求给服务器 收到响应后再转给客户端 通常意义上的代理是从用户的角度讲的 用户通过某个代理可以访问多个网站 这个代理是靠近用户的 比如某些公司可能需要限制员工所访问的网站 就会在网络出口
  • MySQL-多表查询

    一 表架构 student sid sname sage ssex 学生表 course cid cname tid 课程表 sc sid cid score 成绩表 teacher tid tname 教师表 二 建表sql语句 SET
  • STM32 进阶教程 1 - micropython 移植

    原文 https blog csdn net zhanglifu3601881 article details 91997528 前言 Python是一种解释型 面向对象 动态数据类型的高级程序设计语言 Python 是一个高层次的结合了解
  • 11.AOP之注解配置

    1 使用IDEA创建工程 2 引入项目使用的依赖
  • Spring静态注入

    原文链接 http blog csdn net chen1403876161 article details 53644024 spring静态注入的三种方式 说明 MongoFileOperationUtil是自己封装的一个Mongodb
  • [Synth 8-2543] port connections cannot be mixed ordered and named

    我也遇到了这个问题 卡了半天 刚自己解决了 给再发生这种状况的盆友们一点参考 Jakes uut clk clk we we T T cos1 cos1 sin1 sin1 cos2 cos2 sin2 sin2 cos3 cos3 sin
  • MII/MDIO接口详解

    本文主要分析MII RMII SMII 以及GMII RGMII SGMII接口的信号定义 及相关知识 同时本文也对RJ 45接口进行了总结 分析了在10 100模式下和1000M模式下的设计方法 MII接口提供了MAC与PHY之间 PHY