文章目录
- 一、以太网(Ethernet)介绍
- 二、协议介绍
- 三、什么是PHY?
- 1.标准接口协议:
- 2.寄存器配置:
- 3.自动协商:
- 四、时序
- 4.1RGMII接口时序
- 4.1.1 对其模式
- 4.1.2 延时模式(常用)
- 4.2MDIO接口时序
一、以太网(Ethernet)介绍
-
以太网是一种将几台电脑连接起来,能够进行通讯的技术,也就是组建所谓的“局域网”,但组建局域网的技术并非只有以太网一种,其它的还有令牌环网等
-
以太网不是一种具体的网络,而是一种技术规范,也就是IEEE802.3
-
是当今现有局域网采用的最通用的通信协议标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。
以太网分类(按照通信速率分类):
标准以太网:10Mbit/S
快速以太网:100Mbit/S
千兆以太网:1000Mbit/S (领航者板子)
万兆以太网:10Gbit/S
以太网接口
以太网接口类型有RJ45接口,RJ11接口(电话线接口),SC光纤接口等。
其中RJ45接口是我们现在最常见的网络设备接口(如:电脑网口)
二、协议介绍
1、RGMII
RGMII 是 Reduced GMII(吉比特介质独立接口)。RGMII 均采用4位数据接口,支持传输速率 :10M/100M/1000Mb/s ,其对应 clk 信号分别 2.5MHz/25MHz/125MHz。且:工作时钟 为125MHz时,在上升沿和下降沿同时传输数据。因此传输速率可达 1000Mbps。(125 * 2 * 4=1000)
1 Gbps:125 MHz时钟频率,双沿传播(DDR),4位数据总线,125 MHz时钟频率 x 2 双沿传播 x 8位数据总线 = 1 Gbps。
100 Mbps:25 MHz时钟频率,单沿传播(SDR),4位数据总线,25 MHz时钟频率 x 4位数据总线=100 Mbps。
10 Mbps:2.5 MHz时钟频率,单沿传播(SDR),4位数据总线, 2.5 MHz时钟频率 x 4位数据总线=10 Mbps。
2、GMII
而上面提到的GMII为8位位宽,同样支持传输速率 :10M/100M/1000Mb/s,其对应 clk 信号分别 2.5MHz/25MHz/125MHz。只有单沿传输
1 Gbps:125 MHz时钟频率 x 8位数据总线 = 1 Gbps
100 Mbps:25 MHz时钟频率 x 8位数据总线(通过内部处理确保100 Mbps)
10 Mbps:2.5 MHz时钟频率 x 8位数据总线(通过内部处理确保10 Mbps)
三、什么是PHY?
1.以太网通信中,PHY 通常指的是以太网物理层芯片或模块,通常包含用于发送和接收数据的电路,并提供诸如自动协商速率、双工模式、信号损耗补偿等功能。PHY 是实现以太网通信的重要组成部分,通常与 MAC层配合使用,MAC 负责管理数据包的传输和访问控制。
PHY有两个功能:
1.实现模拟信号与数字信号之间的转换
2.实现两个以太网设备的自协商
这里以正点原子:YT8511C/H芯片为例进行介绍 :
芯片原理图:
图中左下角的一些信息(例如PHY address 、电压值等都是从厂商提供的芯片手册里得到的)
此外还接触过另一款PHY芯片:VSC8601KN
不同的PHY芯片会因为生产厂商不同在使用时有所差异,但有些部分是有共性的,如下:
1.标准接口协议:
MII/GMII/RGMII/SGMII:这些是常见的以太网接口标准,用于FPGA和PHY芯片之间的数据传输。虽然具体的接口类型可能不同,但它们遵循IEEE 802.3标准,具有一致的信号定义和时序要求。
MDIO/MDC接口:用于管理数据输入/输出(MDIO)和管理数据时钟(MDC)的接口,用于配置和控制PHY芯片。这个接口遵循IEEE 802.3(目前接触到的两款PHY芯片都遵循的该协议)的Clause 22或Clause 45标准,广泛用于读取和写入PHY寄存器。
- MDIO是一条双向串行总线,用于传输管理数据;
- MDC是一条单向时钟信号,用于同步MDIO数据传输。
2.寄存器配置:
基本寄存器集:PHY芯片通常具有一组标准的寄存器,用于基本配置和状态监控。例如,控制寄存器、状态寄存器、PHY ID寄存器和自动协商寄存器等。这些寄存器的定义和功能在不同厂商的PHY芯片中基本一致。这里以IEEE 802.3标准为例
扩展寄存器集:除了基本寄存器,PHY芯片还可能具有厂商特定的扩展寄存器集,用于高级功能配置。
3.自动协商:
自动协商功能:PHY芯片通常支持自动协商功能,可以自动检测和配置链路速度(10 Mbps、100 Mbps、1 Gbps)和双工模式(全双工、半双工)。这一功能通过寄存器配置进行控制,并通过状态寄存器报告结果。
四、时序
4.1RGMII接口时序
这里有不同的模式
4.1.1 对其模式
4.1.2 延时模式(常用)
问:如何采用延迟模式?
答:这里通过使用IODEALY的源语在物理层面上引入延迟。它通常用于精确控制输入和输出信号的延迟,以满足特定时序要求。IODELAY可以在FPGA内部调整信号的传输时间,适用于需要精确时序控制的应用,如RGMII接口。
4.2MDIO接口时序