当前位置:网站首页>PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
2022-07-05 06:28:00 【恩来贺】
最近在调试一款Phy的驱动,从没有任何头绪到略有了解经历了太多的痛苦,于是决定写这个系列篇记录一下。特别感谢无数优秀的博主无私奉献很多优秀的博文给予了我很大的帮助。在这个系列篇中,我也会转载部分优秀的博文(会附上链接),以及增添自己的理解,如果部分内容有侵权的地方,麻烦联系我。
概述
管理MII接口的MDIO接口是一个双线的串行接口,用来对PHY芯片等物理层信息进行操作管理。
MDIO的历史
MDIO是Management Data Input/Output 的缩写,有两根线,分别为双向的MDIO和单向的MDC,用于以太网设备中上层对物理层的管理。之所以能够管理这些PHY芯片,是因为能够对PHY芯片的各类寄存器进行访问和修改。
MDIO接口最初是由IEEE RFC802.3中的22号条款定义的,在最初的定义中,一个单独的MDIO接口可以访问32个不同的PHY设备中的32个寄存器,这些寄存器提供状态和控制信息,例如:连接状态、传输速度能力、当前选择的传速、低压消耗时的下电情况、全双工还是半双工、自动协商、错误提示以及反馈信息等等。
为了满足10G以太网设备的普及发展,在IEEE 802.3ae 的45号条款中为MDIO接口提供了额外的规范:
- 能够通过32个端口访问32个不同设备的65536个寄存器;
- 为访问10G以太网提供额外的OP码和ST码,从而可以直接访问寄存器地址;
- 端到端的报错信号;
- 环回模式控制;
- 低压电气标准。
操作原理
MDIO总线有两个信号:管理数据时钟(MDC)和管理数据输入/输出(MDIO)。
MDIO接口中有特定的术语定义总线上的各种设备。驱动MDIO总线的设备被定义为站管理实体(STA)。而被MDC管理的目标设备称为可被MDIO管理的设备(MMD)。
STA初始化MDIO所有的通信,同时负责驱动时钟MDC。MDC的频率可以高达2.5 MHz。
22号条款
22号条款的MDIO通信的帧格式定义如下:
45号条款
为了弥补22号的条款中定义的缺陷,45号条款中增添了对低压设备的支持,最低可到1.2V,同时扩充了帧格式,能够访问更多的设备和寄存器。
45号MDIO通信帧格式如下:
第45号条款的主要变化是如何访问寄存器。在第22中,一个单独的帧指定要读或写的地址和数据,同时完成了这些工作。45号中改变这种范式,第一个地址帧发送到指定的MMD和寄存器,然后发送第二帧来执行读或写。
添加这个依次循环访问的好处是45条款是向后兼容22条款的,允许设备的互操作。其次,通过创建一个框架的登记地址,地址空间从5位增加到16位,这使得STA访问65536个不同的寄存器。
为了做到这一点,在数据帧的组成部分进行了一些变化。定义了新的ST代码(00),用于标识第45号条款的数据帧。运算码扩展到指定地址帧,写帧,读帧,或读和读后增量地址帧。由于寄存器地址不再需要,这个字段被指定目标设备类型的内容代替。扩展后还允许STA接入除了PHY以外的其他设备。
转载博文地址: 了解与MDIO/MDC接口相关的22号、45号条款
边栏推荐
- Xavier CPU & GPU high load power consumption test
- Technology blog learning website
- AE tutorial - path growth animation
- Markdown syntax
- confidential! Netease employee data analysis internal training course, white whoring! (attach a data package worth 399 yuan)
- Orin 两种刷机方式
- [moviepy] unable to find a solution for exe
- Vant Weapp SwipeCell设置多个按钮
- Qt项目中的日志库log4qt使用
- Edge calculation data sorting
猜你喜欢
使用paping工具进行tcp端口连通性检测
UTC, GPS time and Tai
4. Oracle redo log file management
International Open Source firmware Foundation (osff) organization
[moviepy] unable to find a solution for exe
Find the combination number acwing 889 01 sequence meeting conditions
Get class files and attributes by reflection
The problem of Chinese garbled code in the vscode output box can be solved once for life
. Net core stepping on the pit practice
Skywalking全部
随机推荐
Sorting out the latest Android interview points in 2022 to help you easily win the offer - attached is the summary of Android intermediate and advanced interview questions in 2022
How to make water ripple effect? This wave of water ripple effect pulls full of retro feeling
Error: “MountVolume.SetUp failed for volume pvc 故障处理
vsCode创建自己的代码模板
The route of wechat applet jumps again without triggering onload
安装OpenCV--conda建立虚拟环境并在jupyter中添加此环境的kernel
Vant weapp swippecell set multiple buttons
Inclusion exclusion principle acwing 890 Divisible number
Preemption of CFS scheduling
How to correctly ask questions in CSDN Q & A
Sum of two numbers, the numbers in the array are converted to decimal, added, and output inversely
Orin 安装CUDA环境
‘mongoexport‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
Qt项目中的日志库log4qt使用
Cookie、Session、JWT、token四者间的区别与联系
5. Oracle tablespace
June 29, 2022 daily
微信小程序路由再次跳轉不觸發onload
UTC, GPS time and Tai
LSA Type Explanation - lsa-1 [type 1 LSA - router LSA] detailed explanation