TI中文支持网
TI专业的中文技术问题搜集分享网站

C6657与PHY芯片88E1111连接不上

板子是完全按照C6657LEVM板做的,只是PHY芯片选用的是88E1111,,PHY地址改为0010,。运行的程序是C6657的GE程序,SGMII的连接状态返回值一直是0x30。使用MDIO去读PHY芯片的寄存器值,返回的值全是0xFFFF。各位高手,帮忙看一下是否哪里没有配置到,不胜感激。

Thomas Yang1:

感觉是PHY芯片没有初始化好,在STK例子里有通过MDIO初始化PHY芯片的例子代码,可以参考下

liyue liu:

回复 Thomas Yang1:

非常感谢你 Thomas Yang1,现在的使用MDIO初始化PHY芯片的问题是这样的:我用MDIO向PHY芯片寄存器用PHYREG_write函数写值时,

    PHYREG_write( pd->regId, PHYREG_CONTROL, phyAddr, PHYREG_CONTROL_RESET );    PHYREG_waitResultsAck( pd->regId, &i, &ack );

函数的ack可以返回1,tmp1是写入寄存器的值。配置其他寄存器都是一样,但是我配置完后

使用PHYREG_read读状态寄存器的时候

            PHYREG_read( pd->regId, PHYREG_STATUS, pd->phyAddr );            PHYREG_waitResultsAck( pd->regId, &tmp1, &ack );

返回值ack始终为0,而且tmp1的值始终为0xffff。都其他寄存器也是一样返回0xFFFF.

我向PHY的控制寄存器的Reset写1,按理说PHY芯片会自动复位清0,可为什么写完后的返回值还是写入的值呢?

还有MDIO的ACTIVE寄存器始终为0。我采用的是88E1111自协商模式。

帮忙分析分析,谢谢

Thomas Yang1:

回复 liyue liu:

感觉PHY工作都不正常,查下PHY的时钟把,也可以把failure unit 和 pass unit 交叉验证下

user4471589:

回复 liyue liu:

你好,你这个正常了吗?我也画了个板子,也是用的88E1111,连接网线。PC端没反应,但是连接开发板PC端提示已连接。

赞(0)
未经允许不得转载:TI中文支持网 » C6657与PHY芯片88E1111连接不上
分享到: 更多 (0)