1 SerDes
SerDes是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种时分多路复用(TDM)、点对点的通信技术,即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而大大降低通信成本。
SerDes主要由物理介质相关( PMD)子层、物理媒介附加(PMA)子层和物理编码子层( PCS )所组成。PMD是负责串行信号传输的电气块,PMA负责串化/解串化,PCS负责数据流的编码/解码。在PCS的上面是上层功能。针对FPGA 的SERDES ,PCS提供了ASIC块和FPGA之间的接口边界。
以太网是使用最广泛的通信协议。以太网的数据传输速率已经从10 Mbps发展至100 Mbps,又发展至1000 Mbps ,继而又发展多吉比特范围: 10 Gbps 、 40 Gbps和100 Gbps。随着数据传输率的发展,链路已经从并行接口(MII、 GMII )发展到串行链路(GE、SGMII 、 XAUI等)。
2 以太网接口
GMII
GMII是8bit并行同步收发接口,采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。GMII接口数据结构符合IEEE以太网标准。该接口定义见IEEE 802.3-2000。
发送器:
- GTXCLK——吉比特TX..信号的时钟信号(125MHz)
- TXCLK——10/100M信号时钟
- TXD[7..0]——被发送数据
- TXEN——发送器使能信号
- TXER——发送器错误(用于破坏一个数据包)
注:在千兆速率下,向PHY提供GTXCLK信号,TXD、TXEN、TXER信号与此时钟信号同步。否则,在10/100M速率下,PHY提供 TXCLK时钟信号,其它信号与此信号同步。其工作频率为25MHz(100M网络)或2.5MHz(10M网络)。
接收器:
- RXCLK——接收时钟信号(从收到的数据中提取,因此与GTXCLK无关联)
- RXD[7..0]——接收数据
- RXDV——接收数据有效指示
- RXER——接收数据出错指示
- COL——冲突检测(仅用于半双工状态)管理配置
- MDC——配置接口时钟
- MDIO——配置接口I/O
管理配置接口控制PHY的特性。该接口有32个寄存器地址,每个地址16位。其中前16个已经在"IEEE 802.3,2000-22.2.4 Management Functions"中规定了用途,其余的则由各器件自己指定。
RMII
RMII(Reduced Media Independant Interface),简化媒体独立接口。是标准的以太网接口之一,比MII有更少的I/O传输。关于RMII口和MII口的问题,RMII口是用两根线来传输数据的,MII口是用4根线来传输数据的, GMII是用8根线来传输数据的。GMII和RMII都是并行传输并需要随路时钟。对于10M线速,MII的时钟速率是2.5M,RMII则是5M;对于100M线速,MII的时钟速率是25M,RMII则是50M。
MII/RMII用于传输以太网包,在MII/RMII接口是4/2bit的,在以太网的PHY里需要做串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
以太网帧的格式为:前导符+开始位+目的MAC地址+源MAC地址+类型/长度+数据+padding(optional)+32bitCRC。
如果有VLAN,则要在类型/长度后面加上2个字节的VLAN Tag,其中12bit来表示VLAN ID,另外4bit表示数据的优先级!
SGMII
SGMII(Serial Gigabit Media Independent Interface)是PHY与MAC之间的接口,类似与GMII和RGMII,只不过GMII和RGMII都是并行的,而且需要随路时钟,PCB布线相对麻烦,而且不适应背板应用。而SGMII是串行的,不需要提供另外的时钟,MAC和PHY都需要CDR去恢复时钟。另外SGMII是有8B/10b编码的,速率是1.25Gbps。
XGMII
XGMII(10 Gigabit Media Independent Interface)是"10Gb独立于媒体的接口",X对应罗马数字10。SGMII为串行吉比特媒体独立接口,SGMII 提供了速率为 10/100/1000 Mbps 的全双工 BASE-T 功能,在光传输里,应用在以太网板上。
如果把SGMII PHY单独做成一个模块,它和以太网板上的MAC控制直接的关系是怎样的呢?
SGMII是PHY与MAC之间的接口,类似与GMII和RGMII,只不过GMII和RGMII都是并行的,而且需要随路时钟, PCB布线相对麻烦,而且不适应背板应用。而SGMII是串行的,不需要提供另外的时钟,MAC和PHY都需要CDR去恢复时钟。另外SGMII是有8B/10b编码的,速率是1.25G。SFP SGMII 与普通SFP相差很大,前者百兆速率可用在千兆位的SFP端口,而普通的SFP就不能,这样的差别可以方便客户以后的网络升级。