当前位置: 首页 > news >正文

stm32以太网接口:MII和RMII

前言

使用stm32和lwip进行网络通信开发时,实现结构如下:
在这里插入图片描述
而MII和RMII就是stm32与PHY芯片之间的通信接口,类似于I2C、UART等。
stm32以太网模块有专用的DMA控制器,通过AHB接口将以太网内核和存储器相连。
数据发送时,先将数据从存储器以DMA传输到TX FIFO中进行缓冲,然后由MAC内核通过MII或RMII接口发送;
数据接收时,RX FIFO先通过MII或RMII接收以太网数据帧,再由DMA传输至存储器。
ETH功能系统框图如下:
在这里插入图片描述
MII和RMII用于连接stm32 MAC控制器和PHY芯片,提供数据传输路径。RMII接口是MII接口的简化版本,MII需要16跟通信线,RMII需要7根。

MII接口

MII接口连接示意图如下:
在这里插入图片描述
TX_CLK:为数据发送提供时钟信号,传输速率为10Mbit/s时,该时钟为2.5MHz,传输速率为100Mbit/s时,该时钟为25MHz(因为每次传4bit,所以时钟信号与传输速率之间是4倍关系)。
RX_CLK:为数据接收提供时钟信号,传输速率为10Mbit/s时,该时钟为2.5MHz,传输速率为100Mbit/s时,该时钟为25MHz。
TX_EN:数据发送使能信号,在整个数据发送过程中保持有效电平。
TXD[3:0]:数据发送数据线,每次发4bit数据,TXD[0]是数据最低位,TXD[3]是最高位。
RXD[3:0]:数据接收数据线,每次接收4bit数据,RXD[0]是数据最低位,RXD[3]是最高位。在RX_DV禁止、RX_ER使能时,PHY芯片会通过RXD[3:0]传输一组特殊数据,来告诉一些特殊信息。
RX_DV:接收数据有效信号,功能类似于TX_EN,由PHY芯片负责驱动。
RX_ER:接收错误信号线,由 PHY 驱动,向 MAC 控制器报告在帧某处检测到错误。

RMII接口

RMII接口示意图如下:
在这里插入图片描述
与MII接口相比区别如下:
1.接受数据线和发送数据线由4根变成了2根。
2.MII的CRS 和 RX_DV整合成RMII的CRS_DV 信号线。
3.没有了COL冲突检测信号。
4.没有了数据接收、发送时钟信号,取而代之的是REP_CLK时钟源。

SMI接口

在MII和RMII接口连接示意图中都有MDC和MDIO两个信号线,这两个信号线是SMI接口,类似与IIC,用于访问PHY芯片的寄存器。
SMI接口示意图如下:
在这里插入图片描述
MDC是周期性时钟信号,MDIO是数据输入输出线。
向PHY芯片寄存器写数据时序图如下:
在这里插入图片描述
从PHY芯片寄存器读数据时序图如下:
在这里插入图片描述

相关文章:

stm32以太网接口:MII和RMII

前言 使用stm32和lwip进行网络通信开发时,实现结构如下: 而MII和RMII就是stm32与PHY芯片之间的通信接口,类似于I2C、UART等。 stm32以太网模块有专用的DMA控制器,通过AHB接口将以太网内核和存储器相连。 数据发送时,…...

ChromeDriver 官方下载地址_测试自动化浏览器驱动

大家在做selenium自动化测试时,需要下载谷歌浏览器驱动,可以从以下官网地址下载 (1) ChromeDriver 下载地址1 http://chromedriver.storage.googleapis.com/index.html 这个地址最后版本到 114.0.5735.90 (2&#…...

力扣 LeetCode 206. 反转链表(Day2:链表)

解题思路: pre ,cur双指针 需要通过tmp暂存cur的下一个位置,以方便cur的下一步移动 class Solution {public ListNode reverseList(ListNode head) {ListNode pre null;ListNode cur head;while (cur ! null) {ListNode tmp cur.next;c…...

kafka消费数据太慢了,给优化下

原代码 public class KafkaConsumerDemo {public static void main(String[] args) {int numConsumers 5; // 增加消费者的数量for (int i 0; i < numConsumers; i) {new Thread(new KafkaConsumerThread()).start();}}static class KafkaConsumerThread implements Runn…...

ASUS/华硕灵耀X双屏Pro UX8402Z 原厂Win11-22H2系统 工厂文件 带ASUS Recovery恢复

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;一键恢复&#xff0c;以及机器所有驱动软件。 系统版本&#xff1a;windows11 原厂系统下载网址&#xff1a;http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意&#xff1a;仅支持以上型号专用…...

【含开题报告+文档+PPT+源码】基于springboot的毕业设计选题管理系统

开题报告 毕业设计选题作为高校教学环节中的重要一环&#xff0c;其选题质量和管理效率直接关系到学生毕业设计的质量和毕业要求的达成。然而&#xff0c;传统的选题管理方式往往存在信息不对称、流程繁琐、效率低下等问题&#xff0c;无法满足高校教学管理现代化、信息化的需…...

fastadmin常用操作

数据库中遇到的操作 查询字段是json的某个值 $map[json_extract(goods, "$.brand_id")] (int)$params[brand_id]; //获取数据库中某个字段是json中得某个值&#xff0c;进行查询&#xff0c;goods是表中字段&#xff0c;brand_id是json中要查詢的字段。数据类型一定…...

IPguard与Ping32:谁是企业数据防泄密的最佳选择?

在当前信息化快速发展的背景下&#xff0c;企业数据安全已成为公司运营中最重要的议题之一。为了防止数据泄漏&#xff0c;越来越多的企业开始依赖专业的加密软件来进行防护。今天&#xff0c;我们对比了两款业内领先的加密软件——IPguard和Ping32&#xff0c;帮助您选择最适合…...

C++20新特性的补充讲解

C20 标志着 C 语言的一次重要更新&#xff0c;除了 Concepts、Ranges、协程等被广泛讨论的特性外&#xff0c;还有许多值得注意的改进。本文将详细探讨其他一些核心新特性&#xff0c;包括 constexpr 扩展、新增的 std::format、std::span、std::bit 操作、原子智能指针、char8…...

uni-app移动端与PC端兼容预览PDF文件

过程遇到的问题 1、如果用的是最新的版本的pdfjs的话&#xff0c;就会报Promise.withResolvers 不是一个方法的错误&#xff0c;原因是Promise.withResolvers是ES15新特性&#xff0c;想了解可参考链接&#xff0c;这里的解决方案是将插件里的涉及到Promise.withResolvers的地…...

Elman 神经网络算法详解

Elman 神经网络算法详解 一、引言 Elman 神经网络作为一种经典的递归神经网络&#xff08;RNN&#xff09;&#xff0c;在处理动态系统和时间序列数据方面具有独特的优势。它通过特殊的结构设计&#xff0c;能够有效地捕捉数据中的时间依赖关系&#xff0c;在语音识别、自然语…...

卓胜微嵌入式面试题及参考答案(2万字长文)

freeRTOS 任务是怎么调度的? 在 freeRTOS 中,任务调度主要是基于优先级的抢占式调度。每个任务都有一个优先级,系统会根据任务的优先级来决定哪个任务获得 CPU 的使用权。 当一个高优先级的任务准备运行,并且当前运行的任务优先级较低时,高优先级任务会抢占 CPU。例如,假…...

【Python】爬虫使用代理IP

1、代理池 IP 代理池可以理解为一个池子&#xff0c;里面装了很多代理IP。 池子里的IP是有生命周期的&#xff0c;它们将被定期验证&#xff0c;其中失效的将被从池子里面剔除池子里的ip是有补充渠道的&#xff0c;会有新的代理ip不断被加入池子中池子中的代理ip是可以被随机…...

金融机构-业务架构方案(高光版)

一、金融机构的设计架构 首先视角很重要,比如这样的战略视角,站得高、看得远。设计业务架构,一定要有战略高度和前瞻性。 二、什么样的架构更适合你们公司呢? 三、从架构着手,进行产品和服务创新性变革 四、具体如何设计业务架构呢?...

ubuntu内核切换network unclaimed 网卡丢失

现象一、 查网络的时候 提示只有lo network unclaimed wifi 本地局域网全部丢失 显卡丢失 解决思路 首先查看了 网卡类型 sudo lshw -C network 会显示使用的网卡 然后把这个网卡 去到realtek的官网去找驱动 驱动下下来发现debug提示 没有build目录 /libs/modules/6.8…...

【人工智能】揭秘可解释性AI(XAI):从原理到实战的终极指南

文章目录 开篇&#xff1a;AI的黑箱时代&#xff0c;你准备好揭开真相了吗&#xff1f;&#x1f50d;什么是可解释性AI&#xff08;XAI&#xff09;&#xff1f;XAI的定义XAI的分类 可解释性AI的重要性与价值建立用户信任遵循法规和伦理发现和纠正模型偏见提高模型性能促进跨领…...

小面馆叫号取餐流程 佳易王面馆米线店点餐叫号管理系统操作教程

一、概述 【软件资源文件下载在文章最后】 小面馆叫号取餐流程 佳易王面馆米线店点餐叫号管理系统操作教程 点餐软件以其实用的功能和简便的操作&#xff0c;为小型餐饮店提供了高效的点餐管理解决方案&#xff0c;提高了工作效率和服务质量 ‌点餐管理‌&#xff1a;支持电…...

图形 2.6 伽马校正

伽马校正 B站视频&#xff1a;图形 2.6 伽马校正 文章目录 伽马校正颜色空间传递函数 Gamma校正校正过程为什么需要校正&#xff1f;CRT与转换函数 为什么sRGB在Gamma 0.45空间&#xff1f; 人对亮度的敏感韦伯定律中灰值 线性工作流不在线性空间下进行渲染的问题统一到线性空…...

LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/143749468 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 影响 (…...

数据可视化这样做,汇报轻松拿捏(附免费好用可视化工具推荐)

一、数据可视化的定义 数据可视化是数据分析中重要的工作之一。在完成数据采集之后&#xff0c;通过可视化方式&#xff0c;将数据转化为美观且浅显易懂的统计图/表/视频&#xff0c;从而进一步解读数据背后隐藏的价值&#xff0c;这种方数据处理方式就叫做数据可视化。近些年…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...