总线协议:GPIO模拟SMI(MDIO)协议:SMI协议介绍

0 工具准备

TN1305 Technical note
IEEE802.3-2018
STM32F4xx中文参考手册

1 SMI介绍

1.1 SMI总体框图

站管理接口SMI(Serial Management Interface),也可以称为MDIO接口(Management Data Input/Output Interface)。它允许应用程序通过时钟线(MDC)和数据线(MDIO)访问PHY寄存器,支持寻址最多32个PHY,也就是SMI总线上最多可以挂载32片PHY地址不一样的PHY设备。
SMI接口信号框图如下:
在这里插入图片描述
MDC:周期性时钟,提供最大2.5MHz的时钟频率。 MDC的最短高电平时间和最短低电平时间必须为160ns。MDC的最小周期必须为400ns。在空闲状态下,SMI管理接口将MDC时钟信号驱动为低电平。
MDIO:数据输入/输出,用于通过MDC时钟信号向/从PHY设备同步传输状态信息。

1.2 SMI硬件设计

通常主机MDC被配置为推挽输出,MDIO被配置为开漏输出,同时外接上拉电阻。在《IEEE802.3-2018》中MDIO接线的原理图如下:
在这里插入图片描述
MDC和MDIO接线示意图:
在这里插入图片描述
其实,在很多时候PHY设备的MDIO并没有硬件上拉,我们可以在需要读取数据时将MDIO端口配置为上拉输入模式,发送数据时将MDIO配置为推挽输出模式。

1.3 SMI时序

下图为《TN1305 Technical note》中关于MDIO和MDC的时序示意图:
在这里插入图片描述
上图提取出来几个关键信息:
(1)MDC空闲电平为低电平
(2)MDIO数据在MDC上升沿采样,下降沿切换数据

1.4 SMI帧格式

在《STM32F4XX中文参考手册》中给出的SMI帧格式如下:
在这里插入图片描述
SMI帧包括8个字段:
(1)前导码(Preamble):每次读写或写入PHY设备均需要先发送前导码,报头字段对应于MDIO线上32个连续的逻辑“1”位以及MDC上的32个周期。该字段用于和PHY设备建立同步。
(2)帧起始(ST):帧起始共2bit,值为01b。用于验证线路从默认逻辑“1”状态变为逻辑“0”状态,然后再从逻辑“0”状态变为逻辑“1”状态。
(3)操作(OP):定义正在进行的事件(读取或写入)的类型。01b表示写入,10b表示读取。
(4)PHY地址(PADDR):PHY地址一共有5位,因此可以寻址最多32个PHY设备。最先发送和接收地址的MSB位。
(5)寄存器地址(RADDR):寄存器地址一共有5位,因此可以最多对所选PHY设备的32个不同寄存器进行寻址。最先发送和接收地址的MSB位。
(6)周转(TA):周转字段一共有2位,它被定义在RADDR和DATA字段之间,避免在读取事件出现竞争现象。读取PHY设备时,主机将TA的2个位驱动为MDIO线上的高阻态。PHY设备必须将TA的第一位驱动为高阻态,将TA的第二位驱动为逻辑“0”。
写入PHY设备时,主机必须将TA字段设置为10b,PHY设备必须将TA的2个字段驱动为高阻态。
(7)数据(DATA):数据字段为16位。发送和接收的均是寄存器的MSB位。
(8)空闲:MDIO被驱动为高阻态。三态驱动器必须被禁止,PHY的上拉电阻使线路保持逻辑“1”状态。
最后,可以用以下2个图片表示SMI的写入和读取PHY设备寄存器报文格式:
写入报文:
在这里插入图片描述
读取报文:
在这里插入图片描述

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

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

相关文章

C语言——内存函数介绍和模拟实现

之前我们讲过一些字符串函数(http://t.csdnimg.cn/ZcvCo),今天我们来讲一讲几个内存函数,那么可能有人要问了,都有字符串函数了,怎么又来个内存函数,这不是一样的么? 我们要知道之前…

华为原生 HarmonyOS NEXT 鸿蒙操作系统星河版 发布!不依赖 Linux 内核

华为原生 HarmonyOS NEXT 鸿蒙操作系统星河版 发布!不依赖 Linux 内核 发布会上,余承东宣布,HarmonyOS NEXT鸿蒙星河版面向开发者开放申请。 申请链接 鸿蒙星河版将实现原生精致、原生易用、原生流畅、原生安全、原生智能、原生互联6大极致原…

04 思维导图的方式回顾ospf

思维导图的方式回顾OSPF 1 ospf 领行学习思维导图 1.1 ospf 的工作过程 建立领据表同步数据库计算路由表1.2 ospf 的状态 1.3 ospf的报文 1.4 ospf的L

Arduino开发实例-LJ12A3-4-Z/BX 电感式接近传感器驱动

LJ12A3-4-Z/BX 电感式接近传感器驱动 文章目录 LJ12A3-4-Z/BX 电感式接近传感器驱动1、LJ12A3-4-Z/BX 电感式接近传感器介绍2、硬件准备及接线3、代码实现1、LJ12A3-4-Z/BX 电感式接近传感器介绍 接近传感器用于检测附近物体的存在。 LJ12A3-4-Z / BX 传感器有三个引脚,其中两…

ant-desgin的table的上移、下移

文章目录 html部分函数部分 html部分 <a-table :columns"columns" :data-source"dataList" :loading"listLoading" :pagination"false"><template #bodyCell"{ column, record, index }"><template v-if&qu…

修改并配置flutter不同平台的启动图标,很方便就可以修改,全平台支持

Flutter 启动器图标-一个包&#xff0c;简化了更新您的 Flutter 应用程序的启动器图标的任务。完全灵活&#xff0c;允许您选择什么平台&#xff0c;您希望更新的启动器图标&#xff0c;如果你想&#xff0c;选项保留您的旧启动器图标&#xff0c;以防您想恢复到未来的某个时候…

Github操作网络异常笔记

Github操作网络异常笔记 1. 源由2. 解决2.1 方案一2.2 方案二 3. 总结 1. 源由 开源技术在国内永远是“蛋疼”&#xff0c;这些"政治"问题对于追求技术的我们&#xff0c;形成无法回避的障碍。 $ git pull ssh: connect to host github.com port 22: Connection ti…

微电网优化MATLAB:遗传算法(Genetic Algorithm,GA)求解微电网优化(提供MATLAB代码)

一、微网系统运行优化模型 微电网优化是指通过对微电网系统中各个组件的运行状态进行监测和调节&#xff0c;以实现微电网系统的高效运行和能源利用的最大化。微电网是由多种能源资源&#xff08;如太阳能、风能、储能等&#xff09;和负载&#xff08;如建筑、工业设备等&…

02--数据库事务

1、数据库事务 1.1 数据库事务介绍 事务&#xff1a;一组逻辑操作单元,使数据从一种状态变换到另一种状态。 事务处理&#xff08;事务操作&#xff09;&#xff1a;保证所有事务都作为一个工作单元来执行&#xff0c;即使出现了故障&#xff0c;都不能改变这种执行方式。当…

一句话讲清楚什么是CUDA,人人都能听懂的CUDA概念

通俗地说&#xff0c;CUDA是一种协助“CPU任务分发GPU并行处理”的编程模型/平台&#xff0c;用于加速GPU和CPU之间的计算。 也就是说CUDA通过CPU任务分发和GPU并行处理的方式&#xff0c;把计算任务通过CPU分发给GPU进行并行计算加速。而GPU并行计算的能力需要CUDA借助其自带…

Flash读取数据库中的数据

Flash读取数据库中的数据 要读取数据库的记录&#xff0c;首先需要建立一个数据库&#xff0c;并输入一些数据。数据库建立完毕后&#xff0c;由Flash向ASP提交请求&#xff0c;ASP根据请求对数据库进行操作后将结果返回给Flash&#xff0c;Flash以某种方式把结果显示出来。 …

鸿蒙星河版启航,开发者驶入生态新征程

操作系统市场的气候已经不同以往。在鸿蒙决定不再兼容安卓之后&#xff0c;这里正欲长出一片全新的天地。 四年前&#xff0c;华为鸿蒙系统横空出世&#xff0c;彼时它还不完全与安卓和iOS的性质划等号&#xff0c;而是定义为物联网操作系统。而如今的华为鸿蒙要改写故事篇章&…

ctfshow反序列化(web254-web266)

目录 web254 web255 web256 web257 web258 web259 web260 web261 web262 web263 web264 web265 web266 web254 源码 <?php/* # -*- coding: utf-8 -*- # Author: h1xa # Date: 2020-12-02 17:44:47 # Last Modified by: h1xa # Last Modified time: 2020…

值得收藏的10个免费扫描PDF转可编辑文本的工具分享

随着技术的不断发展&#xff0c;数字化已成为我们日常生活中的一个重要方面。无论是工作还是个人使用&#xff0c;PDF 文件已成为文档管理中必不可少的元素。但是&#xff0c;某些 PDF 文件包含扫描图像&#xff0c;因此难以编辑或搜索文件中的特定内容。要克服此限制&#xff…

Python实现离散选择泊松模型(Poisson算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 泊松分布&#xff08;一种离散分布&#xff09;&#xff0c;泊松分布适合于描述单位时间内随机事件发生…

Ubuntu22.04安装GitLab

如果我们是自己本地进行开发,使用Git的简单版本管理功能即可。但如果要做协同开发,使用GitLab自己部署Git代码仓库,是一个不错的选择。 笔者曾使用过svn和Git,相比较而言,Git的使用体验更好。 那么我们接下来安装一下。 安装 首先是升级下包源信息 sudo apt update …

ESP32-HTTP_webServer库(Arduino)

ESP32-HTTP 介绍 ESP32是一款功能强大的微控制器&#xff0c;具有丰富的网络和通信功能。其中之一就是支持HTTP协议&#xff0c;这使得ESP32可以用于创建Web服务器。 HTTP是什么&#xff1f; HTTP&#xff08;Hyper Text Transfer Protocol&#xff09;&#xff0c;即超文本传…

Find My相机|苹果Find My技术与相机结合,智能防丢,全球定位

相机是一种利用光学成像原理形成影像并使用底片记录影像的设备&#xff0c;是用于摄影的光学器械。相机让我们能够记录下美丽的风景和珍贵的时刻。当我们到达一个迷人的地方,或者经历了一个特别难忘的时刻时,我们可以使用照相机来拍摄照片,记录下这些美好的回忆。照相机可以帮助…

第90讲:MySQL数据库主从复制集群原理概念以及搭建流程

文章目录 1.MySQL主从复制集群的核心概念1.1.什么是主从复制集群1.2.主从复制集群中的专业术语1.3.主从复制集群工作原理1.4.主从复制中的小细节1.5.搭建主从复制集群的前提条件1.6.MySQL主从复制集群的架构信息 2.搭建MySQL多实例环境2.1.在mysql-1中搭建身为主库的MySQL实例2…

【学习iOS高质量开发】——对象、消息、运行期

文章目录 一、理解“属性”这一概念1.如何定义实例变量2.什么是不兼容现象&#xff0c;如何解决3.理解property关键字4.理解dynamic关键字5.属性特质1.原子性&#xff1a;2.读/写权限&#xff1a;3.内存管理语义 7.要点 二、在对象内部尽量直接访问实例变量1.直接访问和属性访问…