一:一般硬件架构;(对于1000m网一般都使用普通io口,普通管脚能跑800M(正点技术说的)))
1:FPGA普通管脚——phy芯片(pcs+pma)——rg45
2:FPGA(GT)+光口(利用fpga的GT,直接节约了phy芯片)
二:
1.rg45:是电口,协议一般称呼:1000BASE-T
2.SFP:是光口,协议一般称呼:1000base-cx,1000base-lx
三:以太网phy芯片的协议就是利用pcs来4B/5B编码
四:FPGA与phy芯片接口
1.100Mbit/s(MII接口)——
对于tx和rx的方向都是phy向mac方向和GMII是异同的
MII是英文 Medium Independent Interface :意思就它只是接口定义了但是不管你是光纤还是电传输
100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz
4线,单沿
2.100Mbit/s(RMII接口——双沿)
100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz
2线,双沿
3.1000Mbit/s(GMII接口)
1000Mbps速率下,时钟频率为125MHz,同时也兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。
8线,单沿
4.1000Mbit/s(RGMII接口——双沿)
reduce简化版gmii
1000Mbps速率下,时钟频率为125MHz,同时也兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。
4线,双沿
5.SGMII接口——前面的S代表Serial,即串行的意思,1000Mbps
1线,双沿,LVDS标准
6.XGMII--10 Gigabit Media Independent Interface 是“10Gb独立于媒体的接口”,X对应罗马数字10
五:以太网的协议:
mac层协议+ip层协议+udp协议
六:88E1512(PHY)芯片使用
MDC(输入时钟)最大支持12MHz.
PGA使用的时axi ethernet PCS/PMA IP核
MDIO:I/O类型
UDP RGMII千兆以太网通信——Vivado 的 Tri Mode Ethernet MAC IP核需要付费才能使用,——源码使用的是这个ip核Tri Mode Ethernet MAC IP(1000M网)
基于米联客源码 FPGA优质开源项目 - UDP RGMII千兆以太网_fpga千兆网口ip核-CSDN博客
八:参考资源小梅哥
1:也有相关源码也是UDP的1000网——但是未使用ip
2.fpga发展30多年了很少有用rtl实现tcp/ip协议站设计。一般都是基于UDP协议。
3.tcp/ip协议基本就是为软件开发使用的。而UDP在正常使用可以接受丢包,他是不管接收方是否正确接受数据类似于串口是有风险。
4.ARP:pc可以自动识别目标mac,ip地址。目前程序不支持自动识别,可以支持电脑手动静态绑定的情况。
6.phy芯片的rset pin如果处于低相当于phy芯片就复位状态,处于高就处于正常模式。正常模式phy芯片就和pc开始协商——网络速度等等其他
九:以太网数据帧(IEEE 802.3 标准规定)
十:实验步骤
mac以太网帧+ARP帧+有个组包工具软件(小兵以太网测试仪)+wireshark:网络抓包工具来分析pc和fpga通信。+CRC CALCULATOR(CRC32)
十一:FPGA实现以太网
1.一般说的FPGA UDP通信,FPGA只做到了传输层,传输层以上的会话层、表示层等等,FPGA是没有的。FPGA 开发板通过一片 以太网PHY芯片 提供对以太网连接的支持,PHY芯片内提供物理层,进行4b/10b编码,PHY芯片提供MII/GMII/RGMII 接口的MAC连接。
在传输层中 TCP 和 UDP都是传输层协议,它们都属于TCP/IP协议族:
2.1、PHY 芯片初始化
VSC8601 芯片上电后需要进行复位配置,该芯片复位信号需要在上电保持一段时间后才能将复位信号置为高,否则 PHY 芯片不会工作,其配置过程如图(文档79页)所示。PHY 的复位信号引脚和 FPGA 相连,当上电后至少经过 4ms 以上才可以将 PHY 芯片复位引脚置高,这样就完成 PHY 芯片初始化了,还是蛮简单的。
2.2
以太网数据速率如下:4*125*2=1000Mbps,4bit,双沿传输,125MHZ
2.3
ARP 是自动识别对方的ip,和静态绑定区别相当于手动绑定。
ARP的方法:arp -s +目标ip地址(十进制)+目标mac地址 回车绑定好了
arp -a 查看是否绑定成功