MDIO

MDIO,全称Management Data Input/Output,管理数据的进出,同时也被称为SMI (Serial Management Interface) 和 MIIM(Media Independent Interface Management),是以太协议中,MAC用来管理PHY的管理总线协议。

协议标准

MDIO接口由两个信号实现:
MDIO 接口时钟(MDC):由MAC设备驱动到PHY的时钟。MDIO数据与MDC时钟同步,在MDC上升沿有效。
MDIO 数据:双向,用于MAC读写PHY寄存器的数据。
总线仅支持单个MAC作为主设备,最多可以有32个PHY从设备。MDC可以是周期性的,最小周期为400ns,对应的最大频率为2.5MHz。这指的是早期的C22模式的标准,后面定义的C45模式的,可以支持65535个PHY设备,频率也更快,可达25M。

C22 的帧格式

 前导码PRE_32:32个bit高电平,表示前导码开始ST:2个bit表示开始信号,C22模式的为'01'。操作码OP:2个bit表示操作类型,读还是写,'10'读,'01'写。PHY地址PA5:5个bit表示PHY地址。寄存器地址RA5:5个bit表示寄存器地址。跳转TA:2个bit跳转帧。当向PHY写数据时候,这2个bit为"10",当从PHY读数据时候,释放总线两个时钟周期,第二个bit由PHY器件拉低。数据D16:16个bit的数据。空闲状态Z:空闲时候,总线保持三态。

)
C45 的帧格式

 前导码PRE_32:32个bit高电平,表示前导码开始ST:2个bit表示开始信号,C45模式的为'00'。操作码OP:2个bit表示操作类型,地址、读还是写,'00'地址,'11'读,'01'写, '10'增量读。PHY地址PA5:5个bit表示PHY地址。设备类型DEV5:5个bit表示device type。跳转TA:2个bit跳转帧。当向PHY写数据时候,这2个bit为"10",当从PHY读数据时候,释放总线两个时钟周期,第二个bit由PHY器件拉低。寄存器地址/数据D16:当操作码为读写时候,表示16个bit的数据。当操作码为地址时候,表示16个bit的寄存器地址。空闲状态Z:空闲时候,总线保持三态。

使用C22模式访问C45标准的器件

为了兼容性,协议定义了一套使用C22模式访问C45标准的设备。C45标准的设备都要预留reg13和reg14能够使用C22模式访问到。

reg13,用于填写C45特有的定义device type和操作码。

reg14,用于传输寄存器或者数据。

欢迎访问我的博客

MDIO总线简单介绍相关推荐

  1. stm32 GPIO简单介绍及初始化配置(库函数)

    前言: 相信,大部分查找GPIO的人,都是刚刚接触STM32的人,而刚接触STM32的人,大部分是从51上来的人,所以我会由浅入深,从51和STM32的区别入手,通过对比这两个处理器的配置方法,来跟大 ...

  2. WinCE电源管理的简单介绍

    电源管理的目的是节能,基本的节能方法是使系统适时的进出休眠状态.比如用户按下On/Off按钮,或者监视用户活动的定时器超时,或者应用呼叫api都可以使得系统休眠,用户再次按下On/Off或者其他唤醒中 ...

  3. (4)ZYNQ AXI4总线协议介绍

    1.1 ZYNQ AXI4总线协议介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ AXI4总线协议介绍: 5)结束语. 1.1.2 本节引言 " ...

  4. ActiveMQ简单介绍以及安装

    ActiveMQ简单介绍以及安装   现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 上篇博文深入浅出JMS(一)–JMS ...

  5. 片上总线Wishbone 学习(二)Wishbone总线标准介绍

    片上总线Wishbone 学习(二)Wishbone总线标准介绍 Wishbone总线产生.发展 市场是推动技术前进的主要动力,人们对各种电子产品不断的更新,更好,更完美的追求刺激了技术的不断升级和创 ...

  6. 【二 HLS】HLS接口的简单介绍

    一.HLS简单介绍 vivado HLS是xilinx推行的高级综合工具,可以使用C/C++以及system C来实现xilinx的可编程器件的编程,不用手写verilog语言,官方提供了两个重要的H ...

  7. 1 STM32F407ZG的简单介绍

    STM32F407ZG的简单介绍 0 处理器基本参数 1 程序环境 2 系统架构 2.1 S0:I 总线 2.2 S1:D 总线 3.3 S2:S 总线 2.4 S3.S4:DMA 存储器总线 2.5 ...

  8. PMAC应用一简单介绍

    PMAC应用一简单介绍 硬件介绍 与上位机通讯 软件介绍 pmac连接IDE 建立项目配置从站 添加从站拓扑 点动测试 结后语 硬件介绍 主控采用omorn的pmac(ck3m)运动控制器,pmac在 ...

  9. CAN FD总线详细介绍

    文章目录 前言 一.CAN FD简介 1.1 CAN FD是什么? 1.2 为什么要CAN FD? 1.3 CAN FD的特点 二.CAN FD协议 2.1 CAN FD帧结构 2.1.1 帧起始 2 ...

  10. 关于汽车CAN总线的介绍

    汽车CAN总线 是一种用于车辆电子控制系统的通信协议,它的全称为控制器局域网(Controller Area Network),是由Bosch公司在1986年研发的.CAN总线最初被用于汽车电子控制系 ...

最新文章

  1. Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
  2. Android依赖注入:Google Guice on Android的使用及相关资源
  3. flex布局实现叠在另一个div之上_如何让一个div在另一个div的上面,求高手指点...
  4. vscode 导入第三方jar包(添加外部JAR)
  5. C++ 中在函数的前面加上static的作用
  6. linux 下oracle启动步骤
  7. K. Easy Sigma(类欧几里得)
  8. 《盘点那些秀你一脸的秒天秒地算法》(1)
  9. LeetCode MySQL 601. 体育馆的人流量(row_number+over+cast)
  10. SourceTree的基本使用 - 天字天蝎 - 博客园
  11. python编程快速上手第三章_Python编程快速上手 往让繁琐工作自动化-6.6 习题(示例代码)...
  12. 从零开始学keras之卷积神经网络介绍
  13. dedecms和php有什么关系,dedecms和用PHP自己编写的程序做网站有什么区别?哪一种更好一点...
  14. frameset嵌套多个html,在一个html的js中调用另一个html的变量和函数(导航栏更新个人图标)
  15. java jtextfield 输入_【java】JTextField与JComboBox结合动态匹配输入信息
  16. php5.3.3以后php-fpm进程管理方式
  17. python编写程序判断数据类型_python中如何判断一个变量的数据类型
  18. Socket 使用笔记与注意事项(一)
  19. 程序员(工作十几年)的创业血泪史,万字长文,与君共勉!
  20. Android项目Jenkins配置(自定义参数构建,构建完成后360加固+自动下载签名+多渠道配置,自动乐固加固+签名,自动上传蒲公英,自动上传OSS,自动发送钉钉消息,自动发送企业微信应用)

热门文章

  1. 契约锁“7大”签约避坑指南,帮您化解99%的合同签署麻烦
  2. NCU SEM 发文检索2015年
  3. 个人微信开发api文档
  4. matlab 单元数组输入,Matlab 单元数组
  5. Quartz表达式校验方法
  6. 电子技术基础(三)_第3章集成运算放大器及其应用__基本运算电路
  7. js 网页烟花效果
  8. 微型计算机启天m425显卡驱动,Lenovo联想启天M425台式机NVIDIA VGA驱动26.21.14.4223版For Win10-64(2020年4月7日发布)...
  9. Robotium-基础理论介绍
  10. TRIZ创新方法#学习笔记02# |功能分析、技术矛盾和物理矛盾