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 座上的这两个灯。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/784509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb学习笔记01

一、教程简介 全新JAVAWEB(里程碑版) 一套更适合后端工程师学习的WEB教程 All in Java 1、后端 ① Spring全家桶及微服务框架 ② 高性能数据库和消息组件 ③ Web攻击防护安全控制手段 ④ 其他第三方SDK生态环境 ...... 2、前端 ① 视图三大件&…

从0到1手把手撸码搭建后台管理系统

从0到1手把手撸码搭建后台管理系统 第一章:系统介绍开发目的与过程 要使用 Vue3 搭建后台,你可以按照以下步骤进行: 安装 Vue3:使用包管理工具(如 npm 或 yarn)安装 Vue3。选择构建工具:选择一个适合的构…

选择排序及其优化

目录 思想: 代码: 代码优化: 需要注意的特殊情况: 可能出现的所有特殊情况: 优化完成代码: 思想: 每一次遍历数组,选择出最大或最小的数,将其与数组末尾或首位进行…

springboot下

springboot 常用注解介绍 按需开启自动配置项特征介绍 自动配置原理 静态资源配置原理解析 rest风格请求映射 自定义入参的converter实现 springbootApplication启动流程 启动类 一些操作的赋值 启动器类型赋值 用加载器加载接口的实现类 刷新上下文

npm镜像源证书过期问题解决

title: npm镜像源证书过期 search: 2024-02-29 文章目录 Failed to check for updates 问题ERR_PNPM_NO_PKG_MANIFESTnpm缓存清除指令权限不足导致删除不了解决方案npm创建基础配资文件 Failed to check for updates 问题 错误描述如上 检查完 node,vue,npm 的版本后都没啥问…

css3之3D转换transform

css3之3D转换 一.特点二.坐标系三.3D移动(translate3d)1.概念2.透视(perpective)(近大远小)(写在父盒子上) 四.3D旋转(rotate3d)1.概念2.左手准则3.呈现(transfrom-style)(写父级盒子…

价值1万元的定制版跑分源码 微信支付宝跑分源码,微信支付宝跑分源码

价值1万元的定制版跑分源码 微信支付宝跑分源码,微信支付宝跑分源码|开代理|自动抢单接单。 此类“跑分”操作究竟是如何运作的呢?以一项“为游戏平台提供微信充值接口”的项目说明来举例:用户成功注册并进一步完善用户信息后,就可以抢单,抢…

ESP8266

一、简介 ESP8266:芯片 ESP8266-NodeMCU:方便对ESP8266芯片操作。 模块内嵌TCP/IP协议栈,可以实现串口、WIFI之间的数据转换传输。 产品特性 支持无线802.11b/g/n三种标准 支持STA/APSTAAP三种工作模式 支持TCP/IP协议栈,支持多路TCP Client连接 内置…

阿里云优惠券一键领取入口分享

阿里云作为国内领先的云计算服务提供商,以其稳定、高效的服务赢得了广大用户的信赖。为了吸引更多用户上云,阿里云经常推出各种优惠活动,其中就包括阿里云优惠券。本文将为大家分享阿里云优惠券一键领取入口,帮助大家快速获取优惠…

【ONE·基础算法 || 链表】

总言 主要内容:编程题举例,熟悉理解单链表类题型。       文章目录 总言1、链表2、两数相加(medium)2.1、题解 3、两两交换链表中的节点(medium)3.1、题解 4、重排链表(medium)4…

快讯!TiDB v8 发版!超硬核 v8 引擎!

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品。 具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数…

【键值皆有序map 线段树 数学 】100240. 最小化曼哈顿距离

本文涉及知识点 键值皆有序map 线段树 数学 LeetCode100240. 最小化曼哈顿距离 给你一个下标从 0 开始的数组 points ,它表示二维平面上一些点的整数坐标,其中 points[i] [xi, yi] 。 两点之间的距离定义为它们的曼哈顿距离。 请你恰好移除一个点&am…

PySpark的学习

一. 什么是PySpark 使用过的bin/pyspark 程序 , 要注意 , 这个只是一个 应用程序 , 提供一个 Python 解释器执行环境来运行 Spark 任务 现在说的 PySpark, 指的是 Python 的运行类库 , 是可以在 Python 代码中 :import pyspark PySpark 是 Spark 官方提供的一个 Python …

后端SpringBoot+Mybatis 查询订单数据库奇怪报错加一

排错过程: 看报错意思是SQL语句存在错误,然后使用图形化工具运行这个SQL语句 其实这里稍微细心想一下就能发现问题,但是当时没深入想,就觉得order表前加了数据库名字影响不大,所以感觉SQL语句是没问题的,然…

C语言 05 变量与常量

变量 变量就像在数学中学习的 x,y 一样,可以直接声明一个变量,并利用这些变量进行基本的运算,声明变量的格式为: 数据类型 变量名称 初始值;(其中初始值可以不用在定义变量时设定) 是赋值操作…

HarmonyOS实战开发-switch、chart组件的使用

介绍 本篇Codelab基于switch组件和chart组件,实现线形图、占比图、柱状图,并通过switch切换chart组件数据的动静态显示。要求实现以下功能: 实现静态数据可视化图表。打开开关,实现静态图切换为动态可视化图表。 相关概念 swit…

3. WiFi基本原理

1. WiFi简介 WiFi的全称是Wireless Fidelity。它是一种无线网络通信技术,由Wi-Fi联盟拥有,目的是改善基于IEEE 802.11标准的无线网络产品之间的互通性,允许电子设备在没有物理连接的情况下进行高速数据传输。此外,WiFi也被视为IE…

Holiday Notice

Holiday Notice 放假通知 要是每个公司都能放假放的多,把加班折算放假落实到位,还怕我们不努力干活,巴不得把全年都干完了,然后休息。

python爬取B站视频

参考:https://cloud.tencent.com/developer/article/1768680 参考的代码有点问题,请求头需要修改,上代码: import requests import re # 正则表达式 import pprint import json from moviepy.editor import AudioFileClip, Vid…

区间预测 | Matlab实现带有置信区间的GRNN广义回归神经网络时间序列未来趋势预测

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 Matlab实现带有置信区间的GRNN广义回归神经网络时间序列未来趋势预测 带有置信区间的GRNN(广义回归神经网络)时间序列未来趋势预测结合了广义回归神经网络(GRNN)的预测能力和置信区间的统计度量,以提供对未来…