FPGA-以太网基础知识-MII接口-RMII接口-GMII接口-RGMII接口-MAC协议-UDP协议

FPGA-以太网基础知识-MII接口-RMII接口-GMII接口-RGMII接口-MAC协议、UDP协议

记录学习FPGA以太网基础知识、包括MII接口-RMII接口-GMII接口-RGMII接口-MAC协议、UDP协议

文章目录

一、FPGA以太网基础框架

FPGA以太网基础框架

由上图可得,以太网传输流程
1、一块fpga的pcb板子以太网部分,包括FPGA芯片、PHY以太网芯片、网口接口。
2、FPGA芯片包括UDP层、IP层、MAC层,即FPGA封装好了这些硬件模块也叫IP核(这里的ip核和IP层是不同概念,IP协议指网络层,IP核指FPGA中的硬件模块),即硬件协议栈。
3、对于以太网数据传输流程来说,先将用户数据传输给FPGA中的UDP层进行UDP协议处理、再传给IP层进行IP协议处理,再传给MAC层进行MAC协议处理,再通过接口与PHY以太网芯片连接,再传给网口

二、MAC与PHY接口类型

1、MII接口(百兆)

由上图可知,MII接口是用来连接MAC和PHY的,RMII接口、GMII接口、RGMII接口同理,只是接口类型不同
MII接口是百兆,原理如下图:
MII接口
当传四位数据时,25兆Hz即可满足要求百兆网络传输要求,即传输12.5M

2、RMII接口(百兆、双沿)

RMII接口
在RMII接口下,上升沿和下降沿都传输数据,比MII接口少两个线即可满足要求,完成传输百兆,12.5MB

3、GMII接口(千兆)

GMII接口与MII接口原理基本相同,但GMII接口为传输千兆网络。

GMII接口

4、RGMII接口(千兆、双沿)

RGMII接口与RMII接口原理基本相同,但RGMII接口为传输千兆网络。
RGMII接口

三、MAC协议

MAC协议如下图

AMC协议

字段解释

IP数据报描述

四、UDP协议

UDP协议位于 OSI 七层模型中的传输层。数据结构结构如下图:
udp协议
结构
UDP 报文中每个字段的含义如下:

源端口:这个字段占据 UDP 报文头的前 16 位,通常包含发送数据报的应用程序所使用的 UDP 端口。

目的端口:接收端计算机上 UDP 软件使用的端口,占据 16 位。

长度:该字段占据 16 位,表示 UDP 数据报长度,包含 UDP 报文头和 UDP 数据长度。因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8。

校验值:该字段占据 16 位,可以检验数据在传输过程中是否被损坏。16位UDP校验和。UDP计算校验和的方法和计算IP数据报首部校验和的方法相似,但不同的是IP数据报的校验和只检验IP数据报的首部,而UDP校验和包含三个部分:UDP伪首部,UDP首部和UDP的数据部分。伪首部的数据是从IP数据报头和UDP数据报头获取的,包括源IP地址,目的IP地址,协议类型和UDP长度,其目的是让UDP两次检查数据是否已经正确到达目的地,只是单纯为了做校验用的。在大多数使用场景中接收端并不检测UDP校验和,因此这里不做过多介绍。

  • 最后总体的数据格式如下图:
    总体格式

五、TCP和UDP区别

tcp和udp区别

总结

本文对以太网基础知识,FPGA以太网框架,传输数据流程进行了学习了解,了解了MAC与PHY芯片,即数据层与物理层之间的接口类型及其区别,包括MII接口-RMII接口-GMII接口-RGMII接口。同时学习了解了,数据传输进行MAC协议和UDP协议的处理,了解协议原理。
本文主要用于后期巩固知识。

参考CSDN:https://blog.csdn.net/qq_43045275/article/details/128597175
参考B站:https://www.bilibili.com/video/BV1Za4y1c7jG/?spm_id_from=333.999.0.0&vd_source=41e646f94a8a699c1dff7daee76f3787

版权声明:本文为博主作者:Bellwen原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/Bellwen/article/details/131842282

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2024年1月11日
下一篇 2024年1月11日

相关推荐