以太网PHY原理介绍

article/2025/9/27 21:58:17

一、以太网分层模型

基于 OSI 七层网络模型, 车载以太网的网络拓扑结构如图1-1所示。

                                         图1-1  车载以太网网络拓扑结构图

      从图中可以看到位于 Layer1 和 Layer2 的为物理层和数据链路层。 Layer3 以上各层包含了 TCP/IP、 DOIP、SomeIP 等协议, 由 EthStack 软件包实现。
      物理层由 PHY 和以太网连接线构成; 数据链路层也就是常说的 MAC, 通常作为 MCU 内嵌的功能模块。 通过MII 接口可以建立 PHY 和 MAC 间的通讯, MII 接口支持多种模式, 如 MII/RMII/SMII/GMII/RGMII 等,这里主要介绍下 MII、 RMII 和 GMII 接口。

二、MII接口

MII 接口示意图如图 1-2 所示,共有 16 根信号线。
 

                                                                                  图1-2  MII 接口示意图

  1. TXD/RXD 为数据发送/接收信号, 分别有四根信号线;
  2. TXER 为发送数据错误信号, 同步于 TX_CLK,高电平有效,当 TX_ER 拉高时表示传输数据无效;
  3. RXER 为接收数据错误信号, 同步于 RX_CLK,高电平有效,当 RX_ER 拉高时表示传输数据无效;
  4. TX_EN 为发送使能信号,只有在 TX_EN 有效期内传的数据才有效;
  5. RX_DV 为接收使能信号,只有在 RX_DV 有效期内传的数据才有效;
  6. TX_CLK 为发送参考时钟, 由 PHY 提供,当传输速率为 100Mbps 时, TX_CLK 频率为25MHz;当传输速率为 10Mbps 时, TX_CLK 频率为 2.5MHz;
  7. RX_CLK 为接收参考时钟, 由 PHY 提供,当传输速率为 100Mbps 时, RX_CLK 频率25MHz;当传输速率为 10Mbps 时, RX_CLK 频率为 2.5MHz;
  8. CRS (Carrier Sense) 为载波侦测信号, 只要数据传输, CRS 即有效,在发送和接收均空闲时撤销; CRS仅在以太网工作在半双工模式下生效;
  9. COL (Collision Detected) 为冲突检测信号, 由 PHY 提供,表示介质检测到了冲突状态, COL 仅在以太网工作在半双工模式下生效

     MII 发送时序图如图1-3 所示

                                                                            图1-3 MII 发送时序图

     MII 接收时序图如图1-4 所示

                                                                        图1-4 MII 接收时序图

1. RMII 接口

    RMII 接口示意图如图 1-5所示,共有 8 根信号线。 RMII 为 MII 的简化版,信号线数量减半。

                                                                            图1-5 RMII 接口示意图

  1. TXD/RXD 为数据发送/接收信号,分别有两根信号线, 为 MII 的一半;
  2. TX_EN 同 MII 一致;
  3. RX_ER 同 MII 一致;
  4. CLK_REF 为 50MHz 参考时钟, 可以由 PHY 提供,也可以由 MAC 提供;
  5. CRS_DV 为 CRS 与 RX_DV 联合的信号。

 2. GMII 接口

      GMII 接口示意图如图 1-6 所示, 共有 24 根信号线。相比于 MII, GMII 可支持千兆速率传输, 通常 GMII 接口可以兼容 MII 接口。

                                                                            图1-6 GMII 接口示意图

 GMII 大部分信号线与 MII 一致,区别在于:

  1. TX_CLK 发送参考时钟由 MAC 提供, RX_CLK 接收参考时钟由 PHY 提供,两者均为 125MHz;
  2. TXD/RXD 发送/接收数据信号分别为 8 根信号线,为 MII 的两倍。

3. MDIO 接口

       MII接口除了上述的发送/接收数据、 状态指示信号外,还包含了MAC与PHY间用于状态管理的接口,由MDIO和 MDC 两根信号线组成, MAC 通过 MDIO 接口可以对 PHY 的寄存器进行读写操作。 MDIO 通讯有两种规范,分为 IEEE 802.2 Clause22 和 Clause45, Clause45 向前兼容 Clause22。
MDIO Clause22 的写时序图如图 1-7 所示

                                                                      图1-7 MDIO Clause22 的写时序图

  1. PRE 为帧前导码,由 32 个连续的 bit 1 构成;
  2. ST 为帧开始标志, Clause22 的开始标志为“01”;
  3. OP 为操作码, “01”表示写操作, “10”表示读操作;
  4. PHYAD 表示 PHY 的物理地址, 共 5 个 bit,每个 PHY 都会先将这 5 个 bit 与自己的地址进行比较,若匹配一致再进行后面的操作,若不一致,则忽略后面的数据;
  5. REGAD 表示 PHY 的寄存器地址;
  6. TA 为状态转换域, 当为读操作时, TA 第一个 bit 为高阻态, 第二个 bit 由 PHY 将其置为“0”; 当为写操作时, TA 由 MAC 控制,直接为“10”;
  7. DATA 为寄存器的数据,共 16bit, 当为读操作时, 由 PHY 提供;当为写操作时, 由 MAC 提供;
  8. IDLE 为帧空闲状态, MDIO 处于高阻态

MDIO Clause45 的写时序图如图 1-8 所示

                                                                     图1-8 MDIO Clause45 的写时序图

  1. PRE 为帧前导码,由 32 个连续的 bit 1 构成;
  2. ST 为帧开始标志, Clause45 的开始标志为“00”;
  3. OP 为操作码,分为 4 种状态, 比特“00”表示设置当前寄存器地址,比特“01”表示写当前寄存器。比特“10”表示读当前寄存器,比特“11”表示读当前寄存器读完后把当前寄存器的值加 1,用于顺序读;
  4. PRTAD 为端口地址, 即 PHY 的物理地址;
  5. DEVAD为器件地址, 共5个bit, 为Clause45新增, 目前包含00000(Reserved)、 00001(PMD/PMA) 、00010(WIS) 、 00011(PCS) 、 00100(PHY XS) 、 00101(DTE XS) ;
  6. TA 为状态转换域;
  7. REGAD / DATA, 当 OP 为“00”时, TA 后面的 16 个 bit 表示 REGAD, 为 PHY 的寄存器地址; 当 OP 不为“00”时, TA 后面的 16个 bit 表示 DATA,为寄存器数据, 当为读操作时, 由 PHY 提供;当为写操作时, 由 MAC 提供;
  8. IDLE 为帧空闲状态, MDIO 处于高阻态。

    Clause22 与 Clause45 的主要区别在于: Clause22 一帧报文包含了 PHYAD、 REGAD 和 DATA,而 Clause45将 REGAD 和 DATA 分为 2 帧传输,从而扩展了可支持寄存器的数量。


http://chatgpt.dhexx.cn/article/aKwhYN7v.shtml

相关文章

PHY(Physical Layer,PHY)通俗理解

碎碎念:最近更新的周期有点长... 主要最近和朋友一起重新开了一个公众号(FPGA Breaker),这个公众号也和本公众号垂直深度,不会和本公众号内容有太多重叠,主要是本人想推进国内开源IP的使用和发展&#xff0…

MAC和PHY的区别

 转载自:https://www.cnblogs.com/feitian629/archive/2013/01/25/2876857.html 一块以太网网卡包括OSI(开方系统互联)模型的两个层。物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、…

PHY寄存器

在之前的文章,我们讲解了STM32的网络外设部分。 文章有《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》。 STM32只有网络外设时不能进行网络通信的,因为STM32只提供了SMI接口,MII和RMII接口。我们…

以太网基础-MAC和PHY

网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多…

【以太网通信】PHY 芯片回环测试

PHY 芯片通常带有回环(Loopback)功能,用于 PHY 通信链路的测试。本文主要讨论三种常用 PHY 芯片的回环功能,并使用 Broadcom 的 B50612D 芯片进行 PHY 回环测试。 目录 1 常见 PHY 的回环功能 1.1 KSZ9031 1.2 RTL8211 1.3 B5…

PHY芯片快速深度理解

PHY芯片快速深度理解 什么是phy为什么要熟悉RJ45网口什么是mido协议MDIO读写时序为什么说读取的phy最多32个博客参考 什么是phy 物理层芯片称为PHY、数据链路层芯片称为MAC。 可以看到PHY的数据是RJ45网络接口(网线口)穿过了的差分信号,而PH…

phy芯片的那些事儿

一、什么是phy 1、phy的基本作用 收到MAC过来的数据(PHY没有帧的概念,都是数据而不管什么地址数据还是CRC),进行处理*,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变…

什么是PHY

什么是PHY https://www.cnblogs.com/YINBin/p/10980936.html 转载自:那些城市那些年 PHY((Physical Layer,PHY))是IEEE802.3中定义的一个标准模块,STA(station management ent…

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

目录 什么是phy 为什么要熟悉RJ45网口 网络七层协议 两个模块进行通信 什么是MDIO协议 MDIO的作用 MDIO没那么重要 MDIO读写时序 为什么说读取的phy最多32个 个人感谢: 看完后建议再看一下,会有更深入的理解 深度理解 RGMII (包…

【PHY】关于学习以太网PHY的这件事情

概述: 由于近期要使用以太网PHY芯片,于是在网上查找各种资料,学习这部分的知识,这篇文章是对当前的学习做一个汇总。因为这部分的知识很多,所以只是做一个整体的概要总结,具体的知识点无法详细展开&#x…

NAL Unit解析

NAL Unit结构解析 NAL Unit包含NAL Header 和 NAL Body NAL Header: 一个字节,包括: forbidden_zero_bit: 0禁止位,1bit;nal_ref_idc:参考索引,代表当前NAL Unit重要性,2bit;nal_unit_type: N…

模组使用之常见认证,CCC认证,SRRC认证,ROHS认证,NAL认证

部分内容来自《http://onemo10086.com/#/knowledge》 CCC认证 3C认证的全称为“中国强制性产品认证”,英文名称China Compulsory Certification,目的是国家为保护消费者人身安全和国家安全、加强产品质量管理、依照法律法规实施的一种产品合格评定制度。…

h264编码笔记(nal_ref_idc)

一、nal_ref_idc定义 X264关于nal_ref_idc的枚举定义: nal_ref_idc不等于0时,规定NAL单元的内容包含一个序列参数集,或一个图像参数集,或一个参考图像条带,或一个参考图像的条带数据分割。 如果一个包含一个条带或条带…

H264裸码流 I/P/B帧对应NAL类型

1.NAL类型检测 nal类型检测非常容易,对照下表即可容易判断类型。 较常用nal类型包括:SPS(7)、PPS(8)、IDR(5)、SLICE(1)。 而nal_type嵌在码流数据的nal_header(size1Byte)中,占据据该字节的后五位bits。 nal_header…

H.264/H265的NAL解析

1、H.264的NAL解析 在有序字节流格式的H.264码流中,我们可以根据前缀起始码0x 00 00 01或0x 00 00 01获取到一个完整的NAL Unit所包含的的字节数据。H.264码流中的每一个NAL Unit的作用并不是相同的,而是根据不同的类型起不同的作用。因此将H.264的码流解…

查看264NAL信息工具

用easyice只可以查看TS包的帧类型。 google了一下,发现了这个工具HEVCBSAnalyzer https://github.com/latelee/HEVCBSAnalyzer 从git上下载下来,直接使用release文件夹下的工具,查看MP4 NAL信息,正常。

JDK1.9-final关键字

1.1 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,J…

H264 NAL 单元解析

1、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据…

NAL分析

1.NAL头 2.NAL类型 5 IDR图像的片 7 序列参数集 ----- 8 图像参数集 NAL类型介绍 单一NALU的RTP包类型 组合的NALU的RTP包 分片NALU的RTP包 (1) (2)FU Header ---通过FU Header将分片的数据组合

H264 NAL单元简介

目录 一、H264 NAL头部 二、H264参数集 2.1 H264 SPS 2.2 H264 PPS 三、H264 Slice 五、H264参考帧管理方法 Elecard StreamEye​​​​​​​工具​​​​​​​ 编码时,一帧图片分为若干slice,编码以slice为单位进行,即slice之间编码…