紫光同创PGL22G开发平台试用连载-(4)以太网测试工程三

yuancwei 提交于 周五, 09/11/2020

由于网络分析仪等设备的缺乏,上板进行以太网链路测试时,采用了两种方法:

方法①PC及上使用wireshark抓包分析;

方法②PGL22G开发板的网口与基于XILINX芯片的开发板ALINX AX7101的其中一个网口与进行互联测试。两个开发板在以太网设计上是一致的,开发板ALINX AX7101经过验证,网口是正常的。如下图所示。

4-1

发送报文采用两层以太网报文,以太网TYPE固定为0x8899。由于测试环境比较简单,不会有其它的杂包,因此无论是采用wireshark抓包还是用开发板对接收报文的检查/统计,均用(TYPE=0x8899)来识别报文。接收端进行统计时,同时统计报文个数和字节数。

控制PGL22G开发板网口(千兆模式下)发送长度随机的以太网报文(伪随机),长度介于64~1518字节之间,网口连接到PC机使用wireshark抓包。发送一段时间后停止,抓包结果如下:

4-3

通过串口读取PGL22G开发板内部的发包个数统计,结果却与wireshark抓包个数不符:PGL22G开发板网口发包个数为328003,而wireshark抓包个数为326565,存在丢包。

4-2

将PGL22G网口的发包间隔加大(带宽降低),再次做测试,发现还是有丢包发生,但是丢包率有所下降。为避免PC机性能对抓包结果产生影响,干脆直接使用AX7101的网口来进行测试。

单独进行PGL22G开发板发送、AX7101开发板接收测试。发送报文的长度是随机的(伪随机),长度介于64~1518字节之间。发送一段时间后查看两个开发板的统计结果,发送端和接收端统计的报文个数和字节数完全一致(图片左侧为发送端统计,右侧为接收端统计。红色框内为包个数统计,蓝色框内为字节数统计)。查看接收端的内部信息,接收无crc错和长度错。测试证明PGL22G芯片的RGMII发送是ok的。

4-4

然后单独进行AX7101开发板发送、PGL22G开发板接收测试。测试方法同上,结果发现PGL22G开发板接收端可以连续接收到正确的包,但有丢包,丢包率2%左右。首先考虑时序约束不够的可能性。将RGMII接收时序收紧一下,设计原本约束的setup/hold时间均为1.05ns,改为setup/hold=0.95ns(2ns-1.05ns=0.95ns)。

4-5

编译下载后再次测试,发送端和接收端统计的报文个数和字节数完全一致。说明前一步的测试确实是因为时序约束不够导致的。

最后进行长时间双向传输测试,将两端的发送功能同时打开,先用PC机的流量统计功能得到的当前的流量(单向)约是970Mbps。

4-6

然后两个网口互连,测试约2小时后,两端均停止发包,查看内部统计信息如下:

4-7

双向发包个数均为约10^9个,均没有丢包,说明以太网功能ok。

相关文章

Digi-Key