PHY芯片快速深度理解(持续更新中……)

PHY芯片快速深度理解(持续更新中……)什么是 phy 物理层芯片称为 PHY 数据链路层芯片称为 MAC 可以看到 PHY 的数据是 RJ45 网络接口 网线口 穿过了的差分信号 而 PHY 作用就是将差分信号转为数字信号 这块内容不用深究 制造商都设计好了 RJ45 座子上一般有两个灯 一个黄色 橙色 一个绿色 绿色亮的话表示网络连接正常 黄色闪烁的话说明当前正在进行网络通信 黄灯闪动频率快表示网速好 这两个灯由 PHY 芯片控制 如果不懂物理层和数据链路层可以看一下网络七层协议 什么是 mido 协议 mido 协议即 SMI 协议

目录

目录

目录

什么是phy

为什么要熟悉RJ45网口

什么是mido协议

MDIO的作用 

MDIO读写时序

为什么说读取的phy最多32个​​​​​​​

什么是phy

物理层芯片称为PHY、数据链路层芯片称为MAC。

可以看到PHY的数据是RJ45网络接口(网线口)穿过了的差分信号,而PHY作用就是将差分信号转为数字信号,这块内容不用深究,制造商都设计好了。

那我们干什么呢?(主要是对phy芯片进行模式选择,比如工作速率,工作模式)

为什么要熟悉RJ45网口

上面说到针对phy芯片我们只要进行模式选择(下文会介绍使用mdio接口,通过寄存器控制)

那模式选择后,如何查看是否有效呢?最简单直接的就是通过RJ45网口的指示灯查看

PHY芯片快速深度理解(持续更新中……)

RJ45 座子上一般有两个灯,一个黄色(橙色),一个绿色,绿色亮的话表示网络连接正常,黄色闪烁的话说明当前正在进行网络通信黄灯闪动频率快表示网速好,这两个灯由 PHY 芯片控制。

如果不懂物理层和数据链路层可以看一下网络七层协议。

PHY芯片快速深度理解(持续更新中……)

什么是mido协议

mido协议即SMI协议

SMI协议也是一种通信协议类似与I2C协议但是通信方式不一样

SMI包含两根信号线,一个MDC时钟线,一个MDIO双向传输的数据线,

如图为SMI应用框图。STA设备通过MDIO接口与PHY通信。STA(StaTIon Management)为主控设备,比如MCU、MAC、ONU等。PHY为从设备。一个STA最多管理32个PHY。MDC信号由STA控制,MDIO信号根据通信方式的不同可以由STA或者PHY接管控制。如图通常MDIO会接一个电阻上拉至接口电源。

PHY芯片快速深度理解(持续更新中……)

MDIO的作用 

从上面的连接图可以看到MDIO是用来连接主设备和多个PHY设备,并且通过MDIO来传输数据

那么传输的是数据是哪些呢?主要是传输链接状态、传输速度与选择、断电、低功率休眠状态、TX/RX模式选择、自动协商控制、环回模式控制等。

MDIO读写时序

PHY芯片快速深度理解(持续更新中……)

Preamble:32bits的前导码

Start2bit的开始位。

OP Code:2bits的操作码,10表示读,01表示写。

PHYAD:5bits的PHY地址。

REGAD:5bits的寄存器地址,即要读或写的寄存器。

Turn Around:2bits的TA,在读命令中,MDIO在此时由MAC驱动改为PHY驱动,并等待一个时钟周期准备发送数据。在写命令中,不需要MDIO方向发生变化,则只是等待两个时钟周期准备写入数据。

Data:16bits数据,在读命令中,PHY芯片将读到的对应PHYAD的REGAD寄存器的数据写到Data中,在写命令中,MAC将要写入对应PHYAD的REGAD寄存器的值写入Data中。

Idle:空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平,上拉电阻一般为1.5K。

为什么说读取的phy最多32个

因为mdio中读取的phy只提供5bit的字节即最高11111 转成十进制就是31即0-31就是32个,但这是从读取的方式判断的,而mdio读取是依照phy芯片本身地址空间就5为

为什么说reg地址最多32个

同样mdio中读取的reg只提供5bit的字节即最高11111 转成十进制就是31即0-31就是32个

 PHY 芯片寄存器地址空间为 5 位,地址 0-31 共 32 个寄存器, IEEE 定义了 0-15 这 16 个寄存器的功能, 16~31 这 16 个寄存器由厂商自行实现。 也就是说不管你用的哪个厂家的 PHY 芯片,其中 0~15 这 16 个寄存器是一模一样的。 仅靠这 16 个寄存器是完全可以驱动起 PHY 芯片的,至少能保证基本的网络数据通信。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215197.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:28
下一篇 2026年3月18日 下午2:28


相关推荐

  • java设计模式3,里氏替换原则

    java设计模式3,里氏替换原则里氏替换原则的内容可以描述为:“派生类(子类)对象可以在程序中代替其基类(超类)对象。”

    2025年7月3日
    6
  • 转录组fpkm是什么意思_fpkm值越大表达量

    转录组fpkm是什么意思_fpkm值越大表达量在转录组测序(RNA-Seq)中,基因的表达量是我们关注的重点。基因表达量的衡量指标有:RPKM、FPKM、TPM。RPKM:ReadsPerKilobaseMillion;说实话,这个英文说

    2022年8月3日
    44
  • 小程序:解析h5标签

    小程序:解析h5标签1 场景小程序中 从后台请求回来的数据 是带标签的 应该是富文本自动生成的 2 目的去掉标签 3 方法 1 原先的代码 textclass nodes htInfo forum content 2 修改为 textclass nodes htInfo forum content

    2025年9月4日
    4
  • 有没有大模型推理加速引擎FasterTransformer入门级教程?

    有没有大模型推理加速引擎FasterTransformer入门级教程?

    2026年3月16日
    1
  • opengrok搭建[通俗易懂]

    opengrok搭建[通俗易懂]前序OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。一般常用于大型的项目中,比如Android系统源码。我也是刚来公司后才发现有这个东西的,在此自己也搭建一套,方便在家里也可以查看源码。因为是查看自己定制的系统源码所以要搭这个,如果只是查看AOSP的官方源码推荐一个网站:http://androidxref.com/环境OS:Debian

    2022年4月27日
    64
  • Sparse Filtering 学习笔记(三)目标函数的建立和求解

    Sparse Filtering 学习笔记(三)目标函数的建立和求解SparseFilter 是一个用于提取特征的无监督学习算法 与通常特征学习算法试图建模训练数据的分布的做法不同 SparseFilter 直接对训练数据的特征分布进行分析 在所谓 好特征 的指导下构建目标函数来进行优化 其中只涉及一个可调参数 本文将主要讨论两个问题 1 什么样的特征是好的特征 2 如何利用好特征的条件来构造 SparseFilter 的目标函数

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号