UDP千兆以太网FPGA_verilog实现(一、知识搜集)

2018年11月11日 星期日 近段时间打算在FPGA——quartus上实现千兆以太网

一、对网卡的重新认识:
网卡工作在ISO/OSI的最后两层:物理层和数据链路层。
1、物理层:定义了数据传送与接收所需要的电光信号、线路状态、数据编码和电路等等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY芯片
、----------------------------------------------------------------、
2、数据链路层:提供寻址,数据帧的构建,数据差错检查,传送控制,向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。
很多网卡的这两个部分是做到一起的,他们之间的关系是PCI总线接MAC总线,MAC控制器接PHY,PHY又接网线(当然并非完全直接接上,中间又一些电容等)

3、PHY和MAC之间又是如何传送数据和相互沟通的呢?

IEEE定义了标准的MII/GigaMII(Media Independed Interface)。MII传递了网络的所有数据和数据的控制,而MAC对PHY的工作状态的确定和对PHY的控制则是使用SMI(serial Management Interface)界面通过读写PHY的寄存器来完成的。MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态

上述3.大致了解留个印象即可,暂时还不具体明白

也就是说,我们不用管PHY层,因为PHY层次,使用RTL8211EG这款芯片来实现的,我们只用管数据链路层,数据链路层的MAC控制芯片,便是我们的FPGA芯片。
*-----------------------------------------------------------------
RTL8211EG 支持MDI/MDX自适应,各种速度自适应,maser/slave自适应

RTL8211EG上电会检测一些特定的IO的电平状态,从而确定自己的工作模式
补充:此CRC为自定义添加,只针对UDP帧头到数据末尾,不对其他数据位进行校验,也就是说,只有数据到了UDP帧头才开始计算CRC,到数据末尾结束,并将结果(32bit=4Byte)附在末尾。

二、PHY芯片之RTL8211EG芯片介绍
RTL8211EG是由Realtek公司推出的千兆网PHY芯片,RTL8211EG芯片作为千兆网PHY芯片,它与MAC层的接口可通过RGMII(Reduced Gigabit Media Independent interface:简化的千兆介质无关接口)和GMLL(Gigabit Media Independent interface千兆介质无关接口)进行通信,
UDP千兆以太网FPGA_verilog实现(一、知识搜集)_第1张图片

时钟部分就不多说了,图上很清新,可以通过过MDC/MDIO管理接口来配置或读取PHY芯片内部的寄存器。由于RTL8211EG芯片只提供PHY层功能,不包括MAC、UDP、TCP等功能,所以我们需要私用FPGA来实现这些功能来完成数据通信。
下图来自datasheet

上图是该芯片的管脚
--------------------------------下次继续

你可能感兴趣的:(UDP千兆以太网FPGA_verilog实现(一、知识搜集))