ebaz4205矿板以太网连接不稳定问题解决方案
背景描述:使用EBAZ4205矿板做了一个项目,其中用到了以太网与上位机通讯。
故障现象:矿板与上位机进行PING操作时,偶尔出现无法ping通的现象,如下图所示:
这种现象是PC和下位机连接状态不稳定造成的,总是在重复连接。通过在软件中设置断点发现每次连接都会进入xemacpsif_physpeed.c文件中的configure_IEEE_phy_speed()函数,如下图所示
该函数用来配置PHY芯片连接速度的。通过在xemacpsif_physpeed.c L784 行设置断点,发现只要在这个位置停一下,程序恢复运行后,就可以正常通信,判断是这里的延迟时间不足,通过查看原理图找到phy芯片的型号为:IP101GA,查阅手册发现这个芯片的复位时间需要10ms以上。而代码中使用的延时周期数为100000,处理器主频666MHz,显然延时不够,将该周期数延长到100000000后,该问题得到解决。
总结:该问题的原因是软件设置完PHY的连接速度后进行复位,复位时间不足引起的。