SOC内部集成网络MAC外设+ PHY网络芯片方案:MII/RMII 接口与 MDIO 接口

2024-03-31 20:04

本文主要是介绍SOC内部集成网络MAC外设+ PHY网络芯片方案:MII/RMII 接口与 MDIO 接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.  简介

本文来了解一下常用的一种网络硬件方案:SOC内部集成网络MAC外设+ PHY网络芯片方案。

其中涉及的 MII接口,RMII接口(MII接口与RMII接口二选一),MDIO接口,RJ45。

二.  MII/RMII 接口,MDIO 接口 ,RJ45

本文简单了解一下内部带网络MAC的 SOC+外接一个PHY芯片,这种网络硬件方案涉及到的接口连接。

内部 MAC+ 外部 PHY+RJ45 ( 内置网络变压器 ) 就组成了一个完整的嵌入式网络接口硬件,如下图 所示:

前面我们说了,内部 MAC 通过 MII/RMII 接口来与外部的 PHY 芯片连接,完成网络数据 传输,接下来我们就来学习一下什么是 MII RMII 接口,以及 MDIO 接口
注意:主控需要配置或读取 PHY 芯片,也就是读写 PHY 的内部寄存器,所以还需要一个控制接口,叫做 MIDO。MDIO 很类似 IIC,也是两根线,一根数据线叫做 MDIO,一 根时钟线叫做MDC。

1.  MII 接口

MII 全称是 Media Independent Interface ,直译过来就是介质独立接口,它是 IEEE-802.3 定义的以太网标准接口, MII 接口用于以太网 MAC 连接 PHY 芯片,连接示意图如下 示:

MII 接口一共有 16 根信号线,含义如下:
TX_CLK 发送时钟,如果网速为 100M 的话时钟频率为 25MHz 10M 网速的话时钟频率为 2.5MHz ,此时钟由 PHY 产生并发送给 MAC
TX_EN 发送使能信号。
TX_ER 发送错误信号,高电平有效,表示 TX_ER 有效期内传输的数据无效。 10Mpbs 速下 TX_ER 不起作用。
TXD[3:0] :发送数据信号线,一共 4 根。
RXD[3:0] 接收数据信号线,一共 4 根。
RX_CLK 接收时钟信号,如果网速为 100M 的话时钟频率为 25MHz 10M 网速的话时钟频率为 2.5MHz RX_CLK 也是由 PHY 产生的。
RX_ER 接收错误信号,高电平有效,表示 RX_ER 有效期内传输的数据无效。 10Mpbs 网速下 RX_ER 不起作用。
RX_DV 接收数据有效,作用类似 TX_EN
CRS 载波侦听信号。
COL 冲突检测信号。
MII 接口的缺点就是所需信号线太多,这还没有算 MDIO MDC 这两根管理接口的数据线,因此 MII 接口使用已经越来越少了。

2.  RMII 接口

RMII 全称是 Reduced Media Independent Interface ,翻译过来就是精简的介质独立接口,也就是 MII 接口的精简版本。 RMII 接口只需要 7 根数据线,相比 MII 直接减少了 9 根,极大的 方便了板子布线, RMII 接口连接 PHY 芯片的示意图如图 69.1.2.2 所示:

TX_EN 发送使能信号。
TXD[1:0] 发送数据信号线,一共 2 根。
RXD[1:0] :接收数据信号线,一共 2 根。
CRS_DV 相当于 MII 接口中的 RX_DV CRS 这两个信号的混合。
REF_CLK 参考时钟,由外部时钟源提供, 频率为 50MHz 。这里与 MII 不同, MII 的接 收和发送时钟是独立分开的,而且都是由 PHY 芯片提供的。

除了 MII RMII 以外,还有其他接口,比如 GMIIRGMIISMIISMII 等,关于其他接口基本都是大同小异的,这里就不做讲解了。正点原子 ALPAH 开发板上的两个网口都是采 RMII 接口来连接 MAC 与外部 PHY 芯片。

3.  MDIO 接口

MDIO 全称是 Management Data Input/Output ,直译过来就是管理数据输入输出接口,是一个简单的两线串行接口,一根 MDIO 数据线,一根 MDC 时钟线。
驱动程序可以通过 MDIO MDC 这两根线访问 PHY 芯片的任意一个寄存器。
MDIO 接口支持多达 32 PHY 。同一时刻 内只能对一个 PHY 进行操作,那么如何区分这 32 PHY 芯片呢?
IIC 一样,使用器件地址 即可。同一 MDIO 接口下的所有 PHY 芯片,其器件地址不能冲突,必须保证唯一,具体器件 地址值要查阅相应的 PHY 数据手册。
因此, MAC 和外部 PHY 芯片进行连接的时候主要是 MII/RMII MDIO 接口,另外可能 还需要复位、中断等其他引脚。

4.  RJ45 接口

网络设备是通过网线连接起来的,插入网线的叫做 RJ45 座,如下图 所示:

RJ45 座要与 PHY 芯片连接在一起,但是中间需要一个网络变压器,网络变压器用于隔离以及滤波等,网络变压器也是一个芯片,外形一般下图所 示:

但是现在很多 RJ45 座子内部已经集成了网络变压器,比如,正点原子 ALPHA 开发板所使用 HR911105A 就是内置网络变压器的 RJ45 座。内置网络变压器的 RJ45 座和不内置的引脚一 样,但是一般不内置的 RJ45 座会短一点。
注意:
因此,大家在画板时一定要考虑你所使用的 RJ45 座是否内置网络变压器,如果不内置的话就要自行添加网络变压器部分电路!!!同理,如果你所设计的硬件是需要内置网络变压器的 RJ45 座,肯定不能随便焊接一个不内置变压器的 RJ45 座,否则网络工作不正常!
RJ45 座子上一般有两个灯,一个黄色 ( 橙色 ) ,一个绿色,绿色亮的话表示网络连接正常, 黄色闪烁的话说明当前正在进行网络通信。这两个灯由 PHY 芯片控制, PHY 芯片会有两个引 脚来连接 RJ45 座上的这两个灯。

这篇关于SOC内部集成网络MAC外设+ PHY网络芯片方案:MII/RMII 接口与 MDIO 接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/865213

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.