硬件设计基础之闲聊千兆以太网
一、千兆以太网的介绍
常见的以太网有几种形式,10Mbps、100MHz、1000Mbps、10Gbps等,当然还有更高的,接触的少些,暂且不聊。
10Mbps、100Mbps,多见于单片机使用,比如STM32/GD32
1000Mbps、10Gbps,多见于FPGA使用,比如Altera的低端Cyclone系列、中端A系列、高端S系列;Xilinx的低端Spartan7系列、ZYNQ系列,中低端A7系列、中端K7系列、高端V系列。
当然CPU也会用到,常见笔记本使用的就是千兆以太网。
当然千兆以太网传输,也可以使用光口(不使用RJ45),目前技术也成熟,有专用的座子。
千兆以太网,顾名思义,就是传输的数据1000Mbps,每秒传输1000Mbit。
因为使用4组差分对传输,所以单组差分对的数据量=1000Mbit/4=250Mbit
二、千兆以太网的接口协议
千兆以太网信号通过RJ45座子与外部设备连接;
支持千兆以太网的协议有,RGMII协议、GMII协议、SGMII协议;
1)RGMII协议
RGMII协议,发送端,数据线有4根,时钟线有1根,接收端也是如此,具体使用引脚见下面的图片;
当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;
如果传输1000Mbps,FPGA端,传输时钟在125MHz,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=125MHz*2边沿*4根线=1000Mbps。
2)GMII协议
GMII协议,发送端,数据线有8根,时钟线有1根,接收端也是如此,具体使用引脚见下面的图片;
当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;
如果传输1000Mbps,FPGA端,传输时钟在250MHz,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=125MHz*8根线=1000Mbps。
3)SGMII协议
SGMII协议,发送端1个差分对,接收端1个差分对,时钟占用一个差分对,数据引脚可以接到FPGA的GPIO引脚(需要注意,同一个BANK,间隔放差分对,最好做Quartus软件仿真),也可以接到FPGA的高速BANK引脚,传输数据的速率1.25Gbps,具体使用引脚见下面的图片;
当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;
如果传输1000Mbps,FPGA端,传输时钟在1.25Gbps,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=1.25Gbps*80%(8B/10B编码)=1000Mbps。
三、常用芯片介绍
支持千兆以太网的芯片,按照协议选型:
1)支持RGMII协议和GMII协议的芯片
RTL8211E-VB-CG、RTL8211E-G-VB-VL-CG、RTL8211F(D)(I)-CG88E1111、88E1512、DP83867IR、
2)支持RGMII协议的芯片
RTL8211F-CG、KSZ9031RNX、88E1518、
3)支持RGMII协议和SGMII协议的芯片
dp83867is、RTL8211FS-CG、88E1512、
4)支持RGMII协议和MII协议的芯片
88E1510
5)支持RGMII协议、GMII协议、PCIE的芯片
RTL8111C
6)支持QSGMII协议的芯片
88E1680
7)支持MII协议的芯片(十兆/百兆)
RTL8201CP、DM9000CEP