FPGA-以太网基础知识-MII接口-RMII接口-GMII接口-RGMII接口-MAC协议、UDP协议
记录学习FPGA以太网基础知识、包括MII接口-RMII接口-GMII接口-RGMII接口-MAC协议、UDP协议
一、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接口是百兆,原理如下图:
当传四位数据时,25兆Hz即可满足要求百兆网络传输要求,即传输12.5M
2、RMII接口(百兆、双沿)
在RMII接口下,上升沿和下降沿都传输数据,比MII接口少两个线即可满足要求,完成传输百兆,12.5MB
3、GMII接口(千兆)
GMII接口与MII接口原理基本相同,但GMII接口为传输千兆网络。
4、RGMII接口(千兆、双沿)
RGMII接口与RMII接口原理基本相同,但RGMII接口为传输千兆网络。
三、MAC协议
MAC协议如下图
四、UDP协议
UDP协议位于 OSI 七层模型中的传输层。数据结构结构如下图:
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区别
总结
本文对以太网基础知识,FPGA以太网框架,传输数据流程进行了学习了解,了解了MAC与PHY芯片,即数据层与物理层之间的接口类型及其区别,包括MII接口-RMII接口-GMII接口-RGMII接口。同时学习了解了,数据传输进行MAC协议和UDP协议的处理,了解协议原理。
本文主要用于后期巩固知识。文章来源:https://www.toymoban.com/news/detail-716600.html
参考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文章来源地址https://www.toymoban.com/news/detail-716600.html
到了这里,关于FPGA-以太网基础知识-MII接口-RMII接口-GMII接口-RGMII接口-MAC协议-UDP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!