问题1:器件在百兆速率下存在丢包现象,丢包率较低0.01%,软件层面是否有寄存器,可以辅助确认是否在phy芯片节点产生了丢包
问题2:器件10M速率下丢包率高于百兆速率,丢包率1%左右。硬件及软件层面如何排查相关问题
你能分享原理图以供审查吗?
可以读取寄存器0x15,查看PHY是否报告了任何符号错误吗?
如果PHY寄存器0x15没有看到任何符号错误,则PHY没有看到任何码元。DP83848是一个相当旧的物理层,因此其调试能力非常有限。
你们还能读取寄存器0x01并验证链接是否正常吗?我想使用寄存器0x01的读取来验证它们是否能够读取DP83848寄存器。
你们检查过RMII的计时了吗?看原理图,看起来来自振荡器(Y1)的50MHz时钟在MAC和DP83848之间共享,你能确认一下吗?如果是这样的话,那么时钟质量可能很差,时钟频率可能超出所需的+/-50ppm,这将导致数据包丢失。
理想情况下,希望使用时钟缓冲器来独立地将时钟驱动到PHY和MAC。或者,您可以将振荡器时钟驱动到MAC,如果MAC具有50MHz时钟输出,则可以使用MAC向PHY XI提供50MHz时钟。
读取寄存器0x01是为了验证我们能够成功读取PHY寄存器,以验证我们能够正确读取PHY寄存器0x15,并且PHY实际上没有看到任何符号错误。