【国产FPGA 正点原子DFPGL22G开发板】二、千兆以太网测评【硬件设计篇】
[复制链接]
本帖最后由 yyliu 于 2023-1-6 18:36 编辑
声明:针对本帖中可能出现的侵权行为,请及时联系本人修改或删除。未经本人允许,请勿转载。若本帖存在错误或不足之处,烦请指正,本人会及时修改。
0.说明
第二期将对千兆以太网模块进行测评,由于本人从事硬件设计工作,第二期打算出两篇测评:硬件设计篇和程序设计篇。
硬件设计篇主要介绍DFPGL22G开发板千兆以太网模块的硬件方案,以及一些硬件设计细节;程序设计篇主要介绍千兆以太网通信的程序框图和代码实现,有条件的话还会做一些仿真、网速测试。
1.千兆以太网模块硬件框图
FPGA采用紫光同创Logos系列的PGL22G-6CMBG324,具有240个用户IO,约2万个LUT4资源,约2.6万个FF资源,约1000Kbit RAM资源;另外具有PCIE2.0X4和ADC硬核资源。
PHY芯片为裕太车通公司的YT8511,该芯片支持10/100/1000M网络自适应,FPGA模拟MAC层,与PHY通过RGMII接口通信;
PHY芯片具有MDI/MDIX自适应能力,与RJ45插座直连。
下图是千兆以太网模块的硬件框图。
2.千兆以太网模块硬件详细设计
2.1 主芯片端RGMII接口设计
千兆以太网中,常用的接口为RGMII 和GMII 接口。RGMII 接口的优势是同时适用于10M/100M/1000Mbps 通信速率,同时占用的引脚数较少。ATK-DFPGL22G 开发板板载的PHY 芯片采用的接口为RGMII 接口,下图是MAC 侧与PHY 侧接口的连接。
FPGA的MAC接口,可以任意选择IO用于RGMII接口的信号连接。
需要注意的是:1.根据PHY芯片的电平标准,确认是FPGA的BANK IO应该选择的电平值3.3V/2.5V/1.8V。
2.RGMII的数据发送和数据接收都是差分电平,因此应该连到FPGA的差分信号引脚;
3.RGMII接口具有一些时钟引脚,如MDIO接口的时钟引脚,时钟频率最大12.5Mhz,还有数据发送、数据接收的125Mhz时钟,需要留意这些时钟引脚是否需要连接到FPGA的时钟管脚。
FPGA一侧的RGMII接口原理图和引脚使用情况见下图:
2.2 PHY芯片设计
PHY芯片的电路设计见下图,我将其外围电路用字母A~H框出来,逐个介绍设计原理。
模块A、I电路介绍:
很多IC都有strapping pin,strapping pin就是复用管脚,在上电复位期间选择某种功能,但正常工作时又定义为其他用法。YT8511C也有很多strapping pin,功能见下图:
针对本设计所需的功能,Power on Strapping Pins配置如下图,由此我们得知PHY芯片电路的模块A、I为什么有的引脚上拉、有的引脚下拉:
针对strapping pin,往往在PHY电源稳定后,IC复位电平有效时进行采样,复位结束后进行锁存。因此,我们应该保证IC复位期间的引脚电平保持稳定,防止IC复位释放后,锁存错误的电平,造成芯片实际功能与我们期望的不同。
YT8511C对于采样strapping pin的时间描述见下图:
模块AB电路介绍:
这些引脚除了用于strapping pin之外,IC正常工作时,可以作为RGMII引脚用于数据通信。各IO的含义见下图:
模块C电路介绍:
模块C用于MAC对PHY的管理接口,主要包括两个数据线, 见下图
该管理接口类似于I2C总线,MAC芯片(FPGA实现)可以通过该管理接口配置PHY芯片的寄存器值,从而实现PHY芯片的各种功能,若要详细了解可以参考PHY的datasheet。
还记得前面的strapping pin设置了PHY地址吗,该地址可以用于区域不同的PHY,因为同一个MAC可以挂载多个PHY芯片,因此需要区分地址。该管理接口又不同于I2C发送器件地址就可以了,管理接口时许见下图,PHY地址只占用了几个bit
模块D电路:
该电路使用了一个25Mhz晶体,其外部有匹配电容。由于不知道正点原子使用的具体晶体型号和参数,因此就不分析匹配电容的计算了。
模块E电路:
使用RC延时,实现IC上电时自动复位。由于电容充电的原因,当VDDH电平正常时,复位信号经过一段时间(ms级别)才会拉高,这一段时间就是复位信号有效时间。当该信号变成高电平时,复位完成。
模块F电路:
此模块需要注意,VDDH电平是通过PHY芯片内部电路输出的,而且,VDDH的电平可以通过straping pin引脚去配置的,本设计的VDDH电压是3.3V。
模块G电路:
需要注意磁珠和电容的运用。由于这几个IC供电引脚用于模拟电路的供电,可以使用磁珠滤除高频造成干扰。同时用了几个旁路电容。
模块H电路:
这几个信号连到RJ45座子上,可以与外部网线实现电气连接。
2.3 RJ45电路设计
RJ45电路设计如下图:我们首先应该知道,网口很容易受到静电、浪涌导致PHY损坏,为什么该以太网模块的设计没有加网络变压器呢?
目前很多的RJ45座子都是集成了网络变压器的,由于我看不到正点原子该RJ45座子的规格书,因此只能猜测,不详细去分析网络变压器了。
下图是RJ45座子的信号含义
我们可以发现,RJ45电路的4对差分信号并没有组成12一对、36一对、45一对、78一对,而是12、34、56、78各一对。这是因为12、34、56、78各一对是RJ45的PCB footprint,信号经过RJ45座子内部变压器后,经过交叉,网口输出的就是12一对、36一对、45一对、78一对。
对于网络灯,一般千兆网络ACT灯是橘色黄,LINK灯是绿色,PHY芯片的LED灯引脚输出低电平时,RJ45座子上的LED就会被点亮。我们就可以知道网络连接的是百兆网络还是千兆网络,是否有在数据读写操作。YT8511C的LED定义如下:
2.4 PHY电源的pi滤波
该电源滤波电路的作用,大家可以畅所欲言,一起讨论。
3.上电时序
YT8511C对上电时许和时钟也有要求,这部分较为简单,正点原子的电路实现,大家可以自行思考。
|