当前位置: 首页 > article >正文

FPGA 32 ,以太网TCP/IP四层模型:从MII到RGMII的深度解析( TCP/IP传输控制协议 )

目录

前言
一. TCP/IP四层模型概述
1.1 模型分层
1.2 媒介独立层 
二. 网络接口层
​2.1 物理层( PHY )​
2.2 媒介独立层( MII )​
① MII(Media Independent Interface)​
② ​RMII(Reduced MII)​
③ ​GMII(Gigabit MII)​
④ RGMII(Reduced GMII)​
⑤ 其他MII接口
​三. 网络层
​3.1 ​ARP(Address Resolution Protocol,地址解析协议)​
​3.2 ​IP(Internet Protocol,网际网络协议)​
​四. 传输层
​4.1 TCP(Transmission Control Protocol,传输控制协议)
​4.2 UDP(User Datagram Protocol,用户数据报协议)​​ 
​五. 应用层
​5.1 ​HTTP(Hypertext Transfer Protocol,超文本传输协议)
​5.2 FTP(File Transfer Protocol,文件传输协议)​​
​5.3 DNS(Domain Name System,域名系统)​​
六. 技术补充
​6.1 ​MAC(Media Access Control,媒体访问控制)
​6.2 ARP(Address Resolution Protocol,地址解析协议)​
​6.3 ​ODDR(Output Double Data Rate,输出双数据速率)​​
​6.4 ​IDDR(Input Double Data Rate,输入双数据速率)​​
6.5 ​DDR(Double Data Rate,双数据速率)​
​6.6 ​UDP(User Datagram Protocol,用户数据报协议)​
​6.7 ​​MDI(Medium Dependent Interface,媒介依赖接口)​
6.8 SOC(System on Chip,片上系统)​
七. 本文总结
八. 更多操作

前言

TCP/IP四层模型传输控制协议是网络通信的核心框架,包括数据链路层 / 网络接口层(链路层与物理层)​网络层传输层应用层。这里将结合TCP/IP四层模型,深入探讨物理层(PHY)、链路层(MAC)、媒介独立层(MII)及其相关技术(如ODDR、IDDR、MDI、MAC、ARP、UDP等),帮助我们全面理解网络通信的底层实现及其在TCP/IP模型中的位置和作用。虽然上篇对TCP/IP四层模型传输控制协议有过分享,但是鉴于TCP/IP模型的广泛应用,这里对其进行详细介绍。

一. TCP/IP四层模型概述

1.1 模型分层

TCP/IP四层模型是网络通信的分层架构,总共有四层,分别为网络接口层、网络层、传输层 应用层各层功能如下:

  1. ​网络接口层(物理层与链路层)​:
    • 物理层(PHY)​:负责将数据转换为适合物理媒介传输的信号。
    • 链路层(MAC)​:负责数据帧的封装、解封装、错误检测和流量控制。
  2. 网络层:负责数据包的路由和转发,核心协议为IP(Internet Protocol)。
  3. 传输层:负责端到端的数据传输,核心协议为TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。
  4. 应用层:负责应用程序之间的通信,核心协议包括HTTP、FTP、DNS等。

ISO/OSI七层模型 与 TCP/IP四层模型对比:

1.2 媒介独立层 

网络接口层 > 媒介独立层

在TCP/IP的模型中将 物理层和数据链路层 合称网络接口层。网络接口层一般分为一层和二层,一层又称为物理层,二层又称为数据链路层,在以太网中又称为MAC层。由于一层与二层之间的设计往往由不同的厂家实现,为了方便一层与二层交换数据和控制,因此又出现了 媒介独立层 或 媒介无关层 MII(Media Independent Interface),媒介独立层与一层和二层之间的关系,如下图所示。由于在嵌入式系统 或 FPGA的编程中媒介独立层是经常要处理的一层,因此在讨论其它层之前先讨论该层。


二. 网络接口层

网络接口层( 物理层 PHY、链路层 MAC 与 媒介独立层 MII )

2.1 物理层( PHY )​

物理层是网络接口层的最底层,负责将MAC层的并行数据转换为适合物理媒介传输的串行信号。PHY层通常分为三个子层:

  • PCS子层(Physical Coding Sublayer)​:负责信道编码,如4B/5B、8B/10B、64B/66B等。
  • PMA子层(Physical Medium Attachment)​:负责信号调制,如3阶/5阶编码、PAM调制。
  • PMD子层(Physical Medium Dependent)​:负责与物理媒介相关的信号传输,如MDI接口。

2.2 链路层( MAC )

链路层也叫做数据链路层,英文名称:MAC。链路层是网络接口层的重要组成部分,负责帧的封装、错误检测和流量控制。它通过MAC地址实现设备间的通信,并通过ARP协议解析IP地址到MAC地址的映射。

2.3.1 MAC(Media Access Control)

管理数据帧传输,确保设备通信。

具体功能:

  1. 帧封装 :将上层数据封装为以太网帧,包括源MAC地址、目标MAC地址和帧校验序列(FCS)。
  2. 冲突检测 :在半双工模式下,通过 CSMA/CD(载波侦听多路访问/冲突检测)机制避免数据冲突。
  3. 流量控制 :使用 PAUSE 帧实现流量控制,防止接收端缓冲区溢出。

与 MII 层的关系:

  1. MAC 层通过 MII 接口与 PHY 层交互。
  2. MII 接口提供了标准化的信号定义(如 TXD、RXD),使得 MAC 和 PHY 可以无缝协作。

应用场景:

  1. 在嵌入式系统或 FPGA 设计中,MAC 模块通常由硬件逻辑实现。
  2. 在现代交换机中,MAC 地址表用于管理设备间的通信。

2.3.2 ARP(Address Resolution Protocol)

将IP地址解析为MAC地址,支持局域网通信。
工作原理 :

请求过程 :主机发送一个 ARP 请求广播帧,询问目标 IP 地址对应的 MAC 地址。
响应过程 :目标设备收到 ARP 请求后,返回一个 ARP 响应帧,包含其 MAC 地址。

数据包格式 :

  1. 硬件类型 :指定网络类型(如以太网)。
  2. 协议类型 :指定协议类型(如 IPv4)。
  3. 操作码 :指示是 ARP 请求还是 ARP 响应。
  4. 发送方 MAC 地址和 IP 地址 。
  5. 目标 MAC 地址和 IP 地址 。

应用场景 :

  1. 在局域网中,ARP 用于建立 IP 地址与 MAC 地址的映射关系。
  2. 在路由器中,ARP 表用于加速数据包转发。

2.3 媒介独立层( MII )

虽然上篇有过介绍,但是这里再来将其详细介绍

MII层是连接MAC层和PHY层的桥梁,确保两者之间的数据传输和控制。随着网络技术的发展,MII接口衍生出多种类型,以适应不同的网络速率和场景。

常见的MII接口包括:

  • MII:用于10M/100M以太网。
  • RMII:MII的简化版本,引脚数量减少。
  • GMII:用于千兆以太网,数据位宽扩展到8位。
  • RGMII:GMII的简化版本,采用双数据速率(DDR)技术。

① MII(Media Independent Interface)​

媒介无关层,MII接口主要用在10M/100M以太网 二层MAC 到一层Phy的接口。

MII接口信号(分类顺序):

发送方向信号:

  ● TX_ER(Transmit Error):发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的数据无效。对于10Mbps速率下,TX_ER不起作用;

  ● TX_EN(Transmit Enable):发送数据使能信号,同步于TX_CLK,高电平有效,表示TXD[3:0]上的数据有效。

  ● TX_CLK: 发送时钟,用Phy芯片产生,10M以太网为2.5MHz时钟,100M 以太网时钟为25MHz.方向由Phy(Physical)指向Host(主机)的MAC。

  ● TXD [3:0]: 发送的数据,与TX_CLK 同步,表示mac 层发送数据到phy层(对于MAC层的8位数据,TXD遵循先发低4位再发高4位的原则)。


接收方向信号:

  ● RX_ER(Receive Error): 接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用;(一般发生在转发过程,一旦信号拉高,整个数据包都不能用了)。

  ● ​RX_DV(Receive Data Valid):接收数据有效信号,同步于RX_CLK,高电平有效,表示RXD[3:0]上的数据有效。

  ● RX_CLK:  MAC 层的接收时钟,一般由phy产生,mac 层使用这个时钟。

  ● RXD[3:0]:接收数据,与RX_CLK同步,表示由phy层发送数据到mac层。


控制信号:

  ● CRS:Carrier Sense,载波侦测信号,用于表明发送或接收介质处于活动状态(phy在接收数据或者发送数据中),不需要同步于参考时钟。另外,CRS只有物理层(PHY)在半双工模式下有效;

  ● COL:Collision Detected,冲突检测信号,表明在介质上检测到了冲突状态,不需要同步于参考时钟,只有PHY在半双工模式下有效(以前的总线结构和hub结构经常用这个信号,目前都是全双工switch结构,此信号基本不用了)。

另外,在某些物理层芯片中,可能需要MAC提供时钟。此时时钟由MAC指向PHY。

其信号​连接关系:

信号名称方向作用
TX_ERMAC → PHY指示发送数据错误。
TX_ENMAC → PHY控制发送数据的有效性。
TX_CLKMAC → PHY提供发送数据的时钟信号。
TXD[3:0]MAC → PHY传输发送的数据。
RX_ERPHY → MAC指示接收数据错误。
RX_DVPHY → MAC控制接收数据的有效性。
RX_CLKPHY → MAC提供接收数据的时钟信号。
RXD[3:0]PHY → MAC传输接收的数据。
CRSPHY → MAC指示物理媒介是否处于活动状态。
COLPHY → MAC指示物理媒介上是否检测到冲突。

② ​RMII(Reduced MII)​

RMII 主要用在10M/100M的系统中,是MII的简化板,连线数量由MII的16根减少为8根。

RMII接口信号(图片顺序):

TX_EN:发送数据使能,高电平有效,只有TX_EN 为高电平时发送的数据才是有效的。在数据发送期间TX_EN 可以为低电平,此时为等待期。

● TXD[1:0]:发送数据,在RMII接口中发送数据每次只要两位,对于8位数据,发送顺序是从低到高的原则,如数据a[7:0], TXD 按照a[1:0]–>a[3:2]–>a[5:4]–>a[7:6]的顺序发送。数据发送与TX_EN配合,只有TX_EN为高电平时,数据才是有效的。

● RX_ER:该信号用于指示接收过程中发生的错误,防止错误数据被进一步处理。

RXD[1:0]:每次只接收两位,也是遵循从低位到高位的原则,与CRS_DV配合完成数据接收。

CRS_DV: 载波/数据有效, 载波检测在半双工中有效。在全双工在表示数据有效。

CLK_REF:是由外部时钟源提供的50MHz参考时钟。需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送/接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。在FPGA实现的MAC中,CLK_REF,可以由FPGA生成。

③ ​GMII(Gigabit MII)​

GMII是千兆网的MII接口,与MII接口类似只是数据接口由MII接口的4位变成为8位。GMII由于接口是8位,因此传输效率较高,时序控制简单,在早期的千兆网的设计中应用较多。但由于连线较多在

硬件电路的设计中变得较为复杂,因此目前已使用不多,逐渐被GMII的简化版RGMII所替代。

GMII接口信号(图片顺序):

TX_ER: 发送数据错误,一般指该发送的数据包无效,一般在传送中会复制RX_ER。

● TX_EN:发送数据使能。

GTX_CLK:由发送方提供与发送数据同步,一般上升沿与发送数据相位偏移180度。时钟频率为125MHz。

● TXD[7:0]: 8位发送数据。

RX_ER: 接收数据错误,接收数据包无效。在数据交换或转发中可以将RX_ER与对应的接收数据复制到发送端。

RX_DV:接收数据有效。

RXD[7:0]: 8位接收数据。

RX_CLK: 由PHY提供,上升沿对齐。有的PHY提供2ns延时。时钟频率为125M。

CRS:载波检测,总线网中有效。

COL:总线冲突,在全双工的通信中无效。

④ RGMII(Reduced GMII)​

RGMII是GMII为简化连线的复杂,从而降低引脚的版本,时钟仍然是125M,不过这里采用的是双边沿的方式读取和发送数据。即上升沿4bit(低位),下降沿4bit(高位)。目前RGMII是千兆网络通信中应用最为广泛的一种接口。

RGMII接口信号(图片顺序):

TX_EN:发送数据使能。

TXD[3:0]: 4位发送数据;对于8位数据先发送低四位,后发送高四位。

RX_DV:接收数据有效。

RXD[3:0]: 4位接收数据,接收顺序为先接收低四位数据,后接收高四位数据。

RX_CLK: 由PHY提供,上升沿对齐。有的PHY提供2ns延时。时钟频率为125M。

TX_CLK: 由发送方(MAC)提供与发送数据同步,时钟频率为125MHz。

⑤ 其他MII接口

在MII的接口中,还有其它的接口如SGMII,XGMII,SFP SGMII等类型,主要用于光纤通信中。

  • SGMII(Serial GMII)​:用于光纤通信,数据通过串行方式传输。
  • XGMII(10 Gigabit MII)​:用于10G以太网。
  • SFP SGMII:用于SFP模块的光纤通信。

物理层(PHY)和媒介独立层(MII)是网络通信的基础技术。物理层PHY通过信道编码和信号处理确保数据传输的可靠性,而媒介独立层MII则通过标准化接口实现MAC层和PHY层之间的高效通信。理解这些技术对于网络设计和优化具有重要意义。

网络接口层作为TCP/IP模型的最底层,涵盖了物理层(PHY)和链路层(数据链路层,MAC)的核心功能。通过物理层的编码、调制和信号处理,以及媒介独立层(MII)的标准化接口设计,确保了数据能够在物理媒介上高效、可靠地传输。同时,链路层通过MAC地址管理和ARP协议解析,实现了设备间的通信和数据包的正确传递。


三. 网络层

网络层:ARP与IP

3.1 ARP(Address Resolution Protocol,地址解析协议)​

ARP是网络接口层的协议,用于将IP地址解析为MAC地址,以便在局域网中传输数据。当设备需要发送数据时,首先检查ARP缓存中是否存在目标IP地址对应的MAC地址。如果没有,设备会广播一个ARP请求,询问“谁拥有这个IP地址?”。目标设备收到ARP请求后,会回复一个ARP响应,包含其MAC地址。发送方将IP地址和MAC地址的映射存储在ARP缓存中,以便后续通信时直接使用。ARP协议是局域网通信的基础,确保数据能够准确传输到目标设备。

ARP协议用于将IP地址解析为MAC地址,以便在局域网中传输数据。它解决了网络层(IP地址)与数据链路层(MAC地址)之间的地址映射问题。将IP地址解析为MAC地址,支持局域网通信。

在TCP/IP模型中的位置:虽然ARP协议在功能上属于网络接口层,但它主要为网络层提供服务,帮助实现IP地址到MAC地址的转换。

工作流程

  1. ARP请求:当设备需要发送数据时,首先检查ARP缓存中是否存在目标IP地址对应的MAC地址。如果没有,设备会广播一个ARP请求,询问“谁拥有这个IP地址?”。
  2. ARP响应:目标设备收到ARP请求后,会回复一个ARP响应,包含其MAC地址。
  3. ARP缓存:发送方将IP地址和MAC地址的映射存储在ARP缓存中,以便后续通信时直接使用。

应用场景:ARP协议广泛应用于局域网(LAN)中,特别是在以太网环境中,确保数据能够准确传输到目标设备。

3.2 IP(Internet Protocol,网际网络协议)​

IP是网络层的核心协议,负责数据包的路由和转发,确保数据从源设备传输到目标设备。IP协议为每个设备分配唯一的IP地址,用于标识网络中的设备。它根据路由表选择最佳路径传输数据包,支持跨网络的数据传输。IP协议还支持分片与重组功能,当数据包的大小超过网络的最大传输单元(MTU)时,IP协议会将数据包分片传输,并在目标设备重新组合。IP协议广泛应用于互联网和局域网中,是数据包传输的基础。

IP协议是网络层的核心协议,负责数据包的路由和转发,确保数据从源设备传输到目标设备。负责数据包的路由和转发,支持跨网络通信。

在TCP/IP模型中的位置:IP协议位于网络层,是TCP/IP模型的核心协议之一。

主要功能

  • 寻址:IP协议为每个设备分配唯一的IP地址,用于标识网络中的设备。
  • 路由:IP协议根据路由表选择最佳路径传输数据包,确保数据能够跨越多个网络到达目标设备。
  • 分片与重组:当数据包的大小超过网络的最大传输单元(MTU)时,IP协议会将数据包分片传输,并在目标设备重新组合。

应用场景:IP协议广泛应用于互联网和局域网中,是数据包传输的基础。


四. 传输层

传输层:TCP与UDP

4.1 TCP(Transmission Control Protocol,传输控制协议)

TCP(Transmission Control Protocol,传输控制协议)​​ 是一种面向连接、可靠的传输层协议,主要用于确保数据在网络上准确、有序地传输。它通过三次握手建立连接,并通过确认机制、重传机制和错误检测来保证数据的完整性和顺序。TCP还支持流量控制和拥塞控制,能够动态调整数据传输速率,避免网络拥塞和接收方缓冲区溢出。尽管TCP的开销较大,延迟较高,但其高可靠性使其成为Web浏览、文件传输、电子邮件等需要可靠数据传输的应用场景的首选协议。

TCP协议提供可靠的、面向连接的数据传输服务,确保数据的完整性和顺序。

可靠传输数据,但较慢。

在TCP/IP模型中的位置:TCP协议位于传输层,是TCP/IP模型的核心协议之一。

主要特性

  • 可靠性:通过确认机制、重传机制和错误检测(如CRC校验)确保数据完整。
  • 流量控制:通过滑动窗口机制控制数据传输速率,避免接收方缓冲区溢出。
  • 拥塞控制:通过拥塞窗口机制动态调整数据发送速率,避免网络拥塞。

应用场景:TCP协议适用于需要高可靠性的应用场景,如Web浏览(HTTP)、文件传输(FTP)和电子邮件(SMTP)。

4.2 UDP(User Datagram Protocol,用户数据报协议)​​ 

UDP(User Datagram Protocol,用户数据报协议)​​ 是一种无连接、不可靠的传输层协议,主要用于高效传输数据。它不建立连接,直接将数据封装成数据报发送,适用于对实时性要求较高的场景,如视频流、语音通信、在线游戏等。UDP协议头开销小,传输效率高,但由于缺乏可靠性机制,可能会出现数据丢失、重复或乱序的情况。尽管不可靠,UDP在广播、多播和简单查询(如DNS、DHCP)等场景中表现出色,成为实时应用和轻量级通信的首选协议。

UDP协议提供无连接的、不可靠的数据传输服务,适用于实时性要求高的应用。

快速传输数据,但不可靠。

在TCP/IP模型中的位置:UDP协议位于传输层,是TCP/IP模型的核心协议之一。

主要特性

  • 高效性:UDP协议减少了协议开销,适用于对实时性要求高的应用。
  • 无连接:UDP协议不建立连接,直接发送数据,减少了握手和断开的开销。
  • 不可靠性:UDP协议不保证数据的可靠性和顺序,可能出现数据丢失或乱序。

应用场景:UDP协议适用于实时应用,如视频流(RTP)、语音通信(VoIP)和在线游戏。


五. 应用层

应用层:HTTP、FTP、DNS等

应用层是TCP/IP模型的最高层,负责应用程序之间的通信。它通过一系列协议为应用程序提供网络服务,以下是常见的应用层协议:

5.1 HTTP(Hypertext Transfer Protocol,超文本传输协议)

HTTP是应用层协议,用于在Web浏览器和服务器之间传输超文本(如HTML页面)。它基于请求-响应模型,客户端(浏览器)发送请求,服务器返回响应。HTTP协议支持多种方法(如GET、POST),用于获取或提交数据。HTTP是无状态协议,每次请求都是独立的,服务器不保存客户端的状态信息。HTTP广泛应用于Web浏览、API调用等场景,是互联网的基础协议之一。

HTTP协议用于Web浏览,支持客户端(浏览器)与服务器之间的通信。用于Web浏览和API调用,支持请求-响应模型。

特点

  • 无状态:每次请求都是独立的,服务器不保存客户端的状态信息。
  • 请求-响应模型:客户端发送请求,服务器返回响应。

应用场景:HTTP协议广泛应用于Web浏览、API调用等场景。

5.2 FTP(File Transfer Protocol,文件传输协议)​​

FTP是应用层协议,用于在客户端和服务器之间传输文件。它支持文件的上传、下载、删除和重命名等操作。FTP使用双通道通信,包括控制通道(用于发送命令)和数据通道(用于传输文件)。FTP协议支持匿名访问和用户认证,确保文件传输的安全性。FTP广泛应用于文件共享、网站部署等场景,是文件传输的经典协议。

FTP协议用于文件传输,支持客户端与服务器之间的文件上传和下载。用于文件传输,支持上传、下载和文件管理。

特点

  • 双通道通信:FTP协议使用两个通道(控制通道和数据通道)进行通信。
  • 支持大文件传输:FTP协议支持大文件的分块传输。

应用场景:FTP协议广泛应用于文件共享、网站部署等场景。

5.3 DNS(Domain Name System,域名系统)​​

DNS是应用层协议,用于将域名(如http://www.example.com)解析为IP地址(如192.0.2.1)。它采用分布式数据库结构,支持全球范围内的域名解析。DNS协议使用递归查询和迭代查询两种方式,确保域名解析的高效性和可靠性。DNS还支持缓存机制,减少重复查询的开销。DNS广泛应用于互联网访问、电子邮件等场景,是域名解析的核心协议。

DNS协议用于域名解析,将域名转换为IP地址。将域名解析为IP地址,支持互联网访问。

特点

  • 分布式数据库:DNS采用分布式数据库结构,支持全球范围内的域名解析。
  • 缓存机制:DNS服务器会缓存解析结果,提高查询效率。

应用场景:DNS协议广泛应用于域名解析、网络访问等场景。


六. 技术补充

​6.1 MAC(Media Access Control,媒体访问控制)

在以太网中,MAC层(介质访问控制层)作为数据链路层的核心组件,负责数据帧的封装、解封装、错误检测和流量控制。它不仅管理数据帧的发送和接收,还通过MII接口与PHY层(物理层)紧密协作,确保数据能够正确地在局域网中传输。简而言之,MAC层处理数据帧的各项操作,并与物理层配合实现数据的有效传输。

管理数据帧传输,确保设备通信。

​6.2 ARP(Address Resolution Protocol,地址解析协议)​

在局域网中,ARP(地址解析协议)用于将IP地址解析为对应的MAC地址,以实现数据的传输。ARP通过广播方式查询目标设备的MAC地址,并将解析得到的结果存储于ARP缓存中。这样,当需要向同一网络中的目标设备发送数据时,ARP协议可以确保正确地定位目标设备的物理地址。

将IP地址解析为MAC地址,支持局域网通信。

ARP 用于将IP地址映射到对应的MAC物理地址,这是因为在局域网内部通信时需要知道目标设备的MAC地址。ARP协议通过广播查询请求,获取目标设备的MAC地址,并将这个信息存储在本地的ARP缓存中以便后续快速访问。

​6.3 ODDR(Output Double Data Rate,输出双数据速率)​​

在RGMII接口中,ODDR用于将8位数据分为高低4位,分别在时钟的上升沿和下降沿传输。它是一种在FPGA中实现双数据速率输出的技术,用于在时钟的上升沿和下降沿分别输出数据。

在时钟上升沿和下降沿输出数据,提高传输效率。

​6.4 IDDR(Input Double Data Rate,输入双数据速率)​​

在RGMII接口中,IDDR用于将接收到的4位数据分别在时钟的上升沿和下降沿捕获,并合并为8位数据。它是一种在FPGA中实现双数据速率输入的技术,用于在时钟的上升沿和下降沿分别捕获数据。

在时钟上升沿和下降沿捕获数据,提高接收效率。

6.5 ​DDR(Double Data Rate,双数据速率)​

DDR是一种高速数据传输技术,通过在时钟的上升沿和下降沿分别传输数据,将数据传输速率提高一倍。DDR技术广泛应用于内存(如DDR SDRAM)和高速接口(如RGMII)中,以提高数据传输效率。在FPGA设计中,DDR技术通过ODDR(输出双数据速率)和IDDR(输入双数据速率)实现,分别用于双数据速率的发送和接收。DDR技术的核心优势是提高带宽和传输速率,适用于对性能要求较高的场景。

通过时钟双沿传输数据,提高传输效率。

在 RGMII接口 中,ODDR 和 IDDR 技术主要用于处理双倍数据速率 DDR(Double Data Rate) 信号。ODDR用于在时钟的上升沿和下降沿分别输出数据,而IDDR则用于在同一时钟周期内捕获两次数据。这里的DDR是基础概念,而ODDR和IDDR则是其具体应用形式,分别针对数据输出和输入优化,通过双边沿采样技术实现了更高效的数据传输速率。

ODDR和IDDR技术被用来实现高效的4位宽度数据传输。具体来说,8位宽的数据通过ODDR技术被分割成高低4位,在时钟的上升沿和下降沿分别发送出去;接收端则使用IDDR技术在时钟的两个边沿捕获4位数据,并将其合并为8位数据。

​6.6 UDP(User Datagram Protocol,用户数据报协议)​

UDP是一种无连接、不可靠的传输层协议,主要用于高效传输数据。它不建立连接,直接将数据封装成数据报发送,适用于对实时性要求较高的场景,如视频流、语音通信、在线游戏等。UDP协议头开销小,传输效率高,但由于缺乏可靠性机制,可能会出现数据丢失、重复或乱序的情况。尽管不可靠,UDP在广播、多播和简单查询(如DNS、DHCP)等场景中表现出色,成为实时应用和轻量级通信的首选协议。

UDP协议 提供了一种灵活的数据传输方式,特别适合那些对实时性有较高要求的应用。快速传输数据,但不可靠。

​6.7 ​MDI(Medium Dependent Interface,媒介依赖接口)​

MDI是物理层(PHY)与物理媒介(如网线、光纤)之间的接口,负责将PHY芯片生成的信号转换为适合物理媒介传输的形式。MDI接口的主要功能是实现信号的电平转换和阻抗匹配,确保信号在物理媒介上能够高效、可靠地传输。常见的MDI接口包括以太网中的RJ-45接口,用于连接网线和网络设备。MDI接口的设计和实现直接影响网络的传输性能和稳定性,是物理层与物理媒介之间的关键桥梁。

MDI 确保信号能够在物理媒介上高效、稳定地传播(FPGA 31 中也有提到)。连接PHY与物理媒介,确保信号传输。

6.8 SOC(System on Chip,片上系统)​

SOC是一种将处理器、内存、外设和其他功能模块集成在单一芯片上的技术。它通过高度集成,减少芯片面积、功耗和成本,同时提高系统性能和可靠性。SOC广泛应用于嵌入式系统、移动设备(如智能手机、平板电脑)和物联网设备中。SOC的核心优势是高度集成和定制化设计,能够满足特定应用场景的需求。SOC设计通常包括硬件描述、软件开发和系统验证等环节,是现代电子系统设计的核心技术之一。

FPGA(现场可编程门阵列)和SoC(系统级芯片)是两种不同的集成电路技术,但它们之间确实存在一定的关系,并且在某些情况下可以结合使用以形成更强大的解决方案。

将多种功能集成在单一芯片上,实现高效、低功耗的系统设计。


七. 本文总结

在TCP/IP模型中,网络接口层物理层数据链路层合并为一个整体,负责将数据转换为适合物理媒介传输的信号,并确保数据帧的正确传输。媒介独立层(MII)​作为连接 物理层PHY 和​ 链路层MAC 的桥梁,通过标准化的接口信号和灵活的速率适配,确保两者之间的高效通信。理解MII层的作用及其在嵌入式系统和FPGA编程中的重要性,对于网络设计和优化具有重要意义。


八. 更多操作

完整FPGA系列,请看

FPGA系列,文章目录https://blog.csdn.net/weixin_65793170/article/details/144185217


http://www.kler.cn/a/581690.html

相关文章:

  • 前端项目 Node.js 与 node-sass 版本兼容问题
  • 一个差劲的软件设计
  • 物理服务器的作用都有哪些?
  • mysql的binlog,redolog,undolog作用
  • . 从理论到实践:小红书、京东如何玩转大模型
  • 虚拟机 CentOS 9 网络配置
  • 电机控制常见面试问题(六)
  • OTA自动化测试解决方案——实车级OTA测试系统PAVELINK.OTABOX:实车级OTA自动化系统|系统级OTA通道测试系统|系统级OTA压力测试系统|PAVELINK.OTABOX解决方案
  • 编程视界:C++命名空间
  • HTTP 强 Etag 和 弱 Etag
  • perl、python、tcl语法中读写Excel的模块
  • 文档解析:PDF、图片内容deepseek解析出错怎么办?
  • 设备物联网无线通信,ESP32-C3芯片模组方案,智能化联动控制
  • 从零到多页复用:我的WPF MVVM国际化实践
  • 人脸识别之数据集中 PI20 和 CFMT 之间关联的模型预测贝叶斯(Python+论文代码实现)
  • 开发常用软件
  • CVPR2025轨迹预测相关论文以及自动驾驶端到端相关论文
  • Android Service封装实战:基于Binder与接口的高效通信方案
  • 算法手记1
  • 【技术白皮书】内功心法 | 第二部分 | Telnet远程登录的工作原理