揭秘以太网各大接口

作者:Kevin,开源骚客

FPGA学到了一定程度的朋友,应该有非常多的都想来学习一下千兆网。

当然千兆网说难也不难,说容易也不是太容易。

对于千兆网的内容,如果说想通过这样几篇文章来写明白,还是不太现实的。

咱们先来给大家介绍一下,关于以太网有哪些接口。

千兆以太网,只是说以太网的速率为千兆,也就是1G。除了千兆网,还有百兆网,万兆网,当然这些都是指的以太网的速率。

不同速率的以太网,在FPGA端的接口表现形式也是不一样的。下边就来介绍百兆网和千兆网的接口形式。

这是网口与FPGA连接的常用方案,RJ45就是咱们平常说的水晶头,Ethernet PHY是以太网的PHY芯片,之后就是Ethernet PHY与FPGA相连。

下边是以太网PHY芯片与FPGA连接的简略图,注意,这是简略图,,不代表全部的信号。

先说百兆网,百兆网的接口一般为MII(Media Independent Interface),当然10M网,用的也是MII接口。

下图是一块以太网PHY芯片的一些资料。

在百兆网模式下,其RXCLK的周期为40ns,也就是25M,数据端口RXD只用了4根线RXD[3:0],然后25M*4 = 100M,这样算出来,就是100M的速率了。

接着再来说一下千兆网,千兆网的接口,就我所接触的有3种,GMII,RGMII和SGMII。

先说GMII,RxClk的周期为8ns,也就是125M,数据端口使用了8bit,125M*8 = 1000M,速率就是千兆网了。

还有RGMII,其时钟频率也为125M,但是它只使用了4个线,不过,RGMII使用的是双沿模式,也就是DDR模式,在时钟的上下沿都可以传送数据。

这样算的话,125M*4*2 = 1000M,还是千兆网。

RGMII与GMII主要的区别就是双沿采样与单沿采样。

之后还有SGMII,全称为Serial Gigabit Media Independent Interface,也就是串行的以太网接口。

RGMII,GMII还是MII,都是使用并行接口,而且还需要随路时钟,而SGMII只需要2组线,一组是发送,一组是接收,当然一组线由两根差分线组成。SGMII也是需要8/10B编码。

对了,SGMII如何在FPGA来实现呢?当然我自己也只用过SGMII的IP Core。

这样在PCB布线时,就可以节省一些布线的空间。当然,对于FPGA端来讲,也节省了FPGA的引脚资源。

SGMII一般在公司的项目会用的多一些,像GMII,RGMI在某宝上卖的开发板上一般都有,当然在Kevin的淘宝店,也是有千兆网的开发板的呢。

文章来源:开源骚客