Marvell交换机芯片SMI接口读写协议

news2024/11/27 10:28:02

Marvell的88E6XXX系列交换机芯片基本都提供SMI(Serial Management Interface)接口。
SMI接口使用2线串行通信,一个MDC提供时钟,一个MDIO为双向数据引脚。
外部CPU通过这2个引脚访问芯片内部的寄存器。


SMI接口的通信时序如图所示:

 开始通信前要发送32个时钟做为前导帧,操作结束后同样也发送32个时钟作为空闲。空闲期间MDIO引脚保持高电平。

通信数据包含:
2bit起始位,
2bit读写操作码,
5bit设备地址,
5bit寄存器地址,
2bit读写转换,
16bit寄存器数据。


SMI寻址方式又分为2种,单芯片模式和多芯片模式。

单芯片模式:是直接通过读写命令访问内部寄存器。

多芯片模式:多个芯片并联在同一条SMI总线上,类似于I2C,通过芯片地址来访问。
由于多了一个芯片地址,只能以间接的方式访问内部寄存器。
此时的设备地址是芯片地址,寄存器地址只能是0x00或0x01。
把要访问的内部寄存器地址和设备地址写入0x00(Command Register),
把要写入的数据写入0x01(Data Register),或者从0x01(Data Register)读出内部数据。

 如图所示:Command Register的bit[9:5]写入的是设备地址,这个地址就是单芯片模式的SMI设备地址,bit[4:0]写入的是寄存器地址,和单芯片模式的SMI寄存器地址一样。

然后读回Command Register的bit15,如果为0表示操作完成,此时可以从Data Register读回数据。


芯片内部寄存器地址解读:
如下图所示,是某芯片手册里的寄存器地址表。
顶部的0到1D表示设备地址。左侧的0到1F是寄存器地址。
比如设备地址10,寄存器地址0,那就是Port Status(端口1的状态)。

 

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

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

相关文章

【Python】Gamma分布详解

文章目录初步介绍形状特征初步介绍 在学习Gamma分布之前,有必要复习一下Poisson分布:泊松分布 Poisson分布指的是,单个事件在某一刻发生的概率。Gamma分布更进一步,指的是某个事件在某个时刻发生第nnn次的概率。 p(x)xk−1e−λ…

PowerDesigner 模型类型介绍

目录 PowerDesigner 提供了两种方式组织模型 分别是Categories和Model types 1.Categories方式是从企业架构建模角度出发,主要包含业务层,信息层,应用层,技术层,需求与规划层 1.1 业务层主要用于业务流程&#xff0c…

python游戏开发的库你知道几个?

对这方面有兴趣的朋友可以去学习学习。 01 PyGame 官网: Pygame Front Page — pygame v2.1.4 documentation 概述: Pygame 是一组专为编写视频游戏而设计的 Python 模块。 它在优秀的 SDL 库之上添加了功能。这允许您使用 python 语言创建功能齐全…

MyBatisPlus框架:一文带你清晰整个MP框架逻辑

MyBatisPlus框架:一文带你清晰整个MP框架逻辑需求:如果搭建一个SpringBootMP的基本框架?并入门其API使用MP入门简介工程环境搭建数据库配置依赖Yaml框架流程简单介绍下MP的底层运行过程常用APIMP日志配置主键生成策略自动填充处理扩展插件MP乐…

allegro中添加logo (方法二)

allegro中添加logo (方法二)1、 先制作好bmp格式的文件2、 Allegro中新建一个format symbol文件3、 导入IPF文件4、 方法对比软件环境:cadence 16.6前言:很多时候我们在设计pcb的时候都会在pcb上添加自己产品的logo,现…

Python《字符,符号,函数,索引》

函数描述len()计算序列的长度max()找出序列中的最大元素min()找出序列中的最小元素list()将序列转换为列表str()将序列转换为字符串sum()计算元素的和sorted()对元素进行排序enumerate()将序列组合为一个索引序列,多用在 for 循环中 关键字 andexecnotassertfinall…

Linux网络编程(二)——socket通信基础

目录 一、socket 二、字节序 (一)字节序转换函数 三、Socket地址 (一)通用socket地址 (二)专用socket地址 四、IP地址转换 五、TCP通信流程 (一)TCP和UDP的区别 &#xff…

深入浅出RPC

什么是RPC 为什么要有RPC PRC架构组件 RPC框架需要解决的问题? 1、如何确定客户端和服务端之间的通信协议? 2、如何更高效地进行网络通信? 3、服务端提供的服务如何暴露给客户端? 4、客户端如何发现这些暴露的服务? 5…

云存储学习笔记--3

目录前言1. 原理2. 实验前言 那么,根据我们上一版块的解释,其实经过思考会发现,传统的分区格式化会有一些问题,比如说:当我数据的存储大小超过了所有单个磁盘的存储空间大小的时候,会发现即使剩余空间总和…

论文复现-1论文重读:Black-Box Tuning for Language-Model-as-a-Service

论文核心:使用PLM的API进而完成prompt learning,微调完成任务。 具体来说,是采用连续prompts拼接在input_text之后,然后,通过derivative-free的框架,完成任务。 一、背景(Introduction&#x…

门店数字化管理|门店督导工作监管难?SpaceSight 来帮忙

在门店管理中,这些问题是否一直困扰着你: 哪家店员工作更细致高效?难评估! 有哪些门店问题高频发生?难发现! 不同门店运营差距有多大?难界定! SpaceSight 系列第二篇,为…

看看阿里程序员是怎样讲限流的

限流算法很多,常见的有三类,分别是计数器算法、漏桶算法、令牌桶算法,下面逐一讲解。 计数器算法 简单粗暴,比如指定线程池大小,指定数据库连接池大小、nginx连接数等,这都属于计数器算法。 计数器算法是限流算法里最简单也是最容易实现的一种算法。举个例子,比如…

YOLO系列目标检测算法——PP-YOLOv2

YOLO系列目标检测算法目录 - 文章链接 YOLO系列目标检测算法总结对比- 文章链接 YOLOv1- 文章链接 YOLOv2- 文章链接 YOLOv3- 文章链接 YOLOv4- 文章链接 Scaled-YOLOv4- 文章链接 YOLOv5- 文章链接 YOLOv6- 文章链接 YOLOv7- 文章链接 PP-YOLO- 文章链接 …

>python可视化神器altair

python可视化神器一.些简单图形的绘制(一).柱状图1. 然后我们还可以设置高亮柱状图的某一根柱子,其他柱子设置为一样的颜色:2. 翻转图片,同时添加图片标注,在图上加上数据3.在图形上添加线条4. 组合图,柱状图折线图(二…

[R语言]手把手教你如何绘图(万字)

目录 概况 常用高级图形 条形图 csv文件导入 csv文件导出 R语言sep函数 seq函数 with函数 直方图和密度估计图 盒型图 boxplot() 正态QQ图 散点图 pairs()散点矩阵图 曲线图 curve() 三维图 动态三维图 低级图形函数 abline() lines() legand()增加图例 …

String类——字符序列类(1)

目录 前言 String类 1.该类的由来 2.String类对象的创建 (1)头文件 (2)类对象的创建 其他用法: (3)String类对象遍历 1:数组方式遍历 2.范围for遍历: …

【Python】【期末复习题】【2022秋】

文章目录一、单选题(20分)二、判断题(10分)三、填空题(10分)四、问答题(共30分,6题,每题5分)五、程序题(3题,每题10分,共3…

React.js 简介以及一些基本概念

React 是什么 React 跟angular.js 和Vue.js 一样是构建用户界面的js库 2011 年 由Facebook 工程师Jordan Walke创建 在 2013 开源 React 的优势 原生js的痛点 原生的Javascript 操作DOM繁琐,效率低(DOM-API 操作UI)使用Javascript 直接操作DOM&#xf…

scala语法(三)(有java基础速学)

面向对象编程(中) scala的包 Scala中包名和源码所在的系统文件目录结构要可以不一致,但是编译后的字节码文件路径和包名会保持一致 scala 自动引入的包 Scala中,以下三个包的内容会隐式引用到每个程序上。 import java.lang._…

[附源码]Python计算机毕业设计二手交易平台Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…