各位工程师:
本人最近在我们自己的设计6670板子上测试网口通路时发现sgmii status中link始终没有置1,即无法link。测试环境如下:
1.板子上网口电路模块与开发板基本一致,phy采用88e1111,config0-6寄存器的配置也是按照开发板上来的,如下:
2.SERDES采用250M时钟,配置底层sgmii和serdes采用platform库(其中phy选项设为1),另外修改了serdes pll寄存器为0x51,以及macportnum修改为0(我们硬件中采用sgmii0与phy相连)
目前网口部分连接图如下:sgmii<—->88E1111<——->RJ45<——->PC机,现象是在执行platform_init时时钟卡在等待link状态那边。尝试过很多种方法去排查问题:包括使用过论坛中底层开发套件中GE工程测试serdes回环正常,并且利用mdio查看phy前三个寄存器值(control寄存器值为0x1140,status寄存器值为0x796d,PHY Identifier寄存器值为0x0141)与88e1111文档中指示其正常工作状态也匹配,用示波器也查过输入到serdes的250m时钟也正常,88e1111与PC机也成功连接(RJ45 指示灯正常闪烁)。目前还是无法实现link,但是同样的代码加在开发板上就一切正常,请问下还有可能是哪方面的问题会导致无法link上?另外判断有没有link是通过什么准则的?
麻烦TI工程师帮忙解答一下,多谢了!
Denny%20Yang99373:
建议详细对比一下SGMII—–88E1111 你的原理图和EVM原理图。
同时对比测试一下PHY时钟信号质量。