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四层模型是网络通信的分层架构,总共有四层,分别为网络接口层、网络层、传输层 和 应用层。各层功能如下:
- 网络接口层(物理层与链路层):
- 物理层(PHY):负责将数据转换为适合物理媒介传输的信号。
- 链路层(MAC):负责数据帧的封装、解封装、错误检测和流量控制。
- 网络层:负责数据包的路由和转发,核心协议为IP(Internet Protocol)。
- 传输层:负责端到端的数据传输,核心协议为TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。
- 应用层:负责应用程序之间的通信,核心协议包括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)
管理数据帧传输,确保设备通信。
具体功能:
- 帧封装 :将上层数据封装为以太网帧,包括源MAC地址、目标MAC地址和帧校验序列(FCS)。
- 冲突检测 :在半双工模式下,通过 CSMA/CD(载波侦听多路访问/冲突检测)机制避免数据冲突。
- 流量控制 :使用 PAUSE 帧实现流量控制,防止接收端缓冲区溢出。
与 MII 层的关系:
- MAC 层通过 MII 接口与 PHY 层交互。
- MII 接口提供了标准化的信号定义(如 TXD、RXD),使得 MAC 和 PHY 可以无缝协作。
应用场景:
- 在嵌入式系统或 FPGA 设计中,MAC 模块通常由硬件逻辑实现。
- 在现代交换机中,MAC 地址表用于管理设备间的通信。
2.3.2 ARP(Address Resolution Protocol)
将IP地址解析为MAC地址,支持局域网通信。
工作原理 :
请求过程 :主机发送一个 ARP 请求广播帧,询问目标 IP 地址对应的 MAC 地址。
响应过程 :目标设备收到 ARP 请求后,返回一个 ARP 响应帧,包含其 MAC 地址。
数据包格式 :
- 硬件类型 :指定网络类型(如以太网)。
- 协议类型 :指定协议类型(如 IPv4)。
- 操作码 :指示是 ARP 请求还是 ARP 响应。
- 发送方 MAC 地址和 IP 地址 。
- 目标 MAC 地址和 IP 地址 。
应用场景 :
- 在局域网中,ARP 用于建立 IP 地址与 MAC 地址的映射关系。
- 在路由器中,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_ER | MAC → PHY | 指示发送数据错误。 |
TX_EN | MAC → PHY | 控制发送数据的有效性。 |
TX_CLK | MAC → PHY | 提供发送数据的时钟信号。 |
TXD[3:0] | MAC → PHY | 传输发送的数据。 |
RX_ER | PHY → MAC | 指示接收数据错误。 |
RX_DV | PHY → MAC | 控制接收数据的有效性。 |
RX_CLK | PHY → MAC | 提供接收数据的时钟信号。 |
RXD[3:0] | PHY → MAC | 传输接收的数据。 |
CRS | PHY → MAC | 指示物理媒介是否处于活动状态。 |
COL | PHY → 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地址的转换。
工作流程:
- ARP请求:当设备需要发送数据时,首先检查ARP缓存中是否存在目标IP地址对应的MAC地址。如果没有,设备会广播一个ARP请求,询问“谁拥有这个IP地址?”。
- ARP响应:目标设备收到ARP请求后,会回复一个ARP响应,包含其MAC地址。
- 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