在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5162|回复: 4

[原创] 三速以太网(Triple Speed Ethernet)外部PHY88E1111Auto Negotiation运行问题

[复制链接]
发表于 2012-3-23 15:01:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小弟正在做三速以太网的工程,使用NIOS搭建Qsys工程,使用Eclipse编译软件和在线Debug。
我的工程是FPGA内部集成MAC,通过SGMII接口与外部PHY芯片88E1111相连。
现在到了下板子调试的阶段,先是想实现MDIO口的配置功能,但是外部PHY在Auto Negotiation这一步卡住了。
C程序如下:
int main (void)
{
  int phyadd;
  int phyid1 = 0;
  int phyid2 = 0;
  np_tse_mac* pmac;
  pmac = (np_tse_mac*) TSE_MAC_BASE;

// Find phyid...assuming it's National's PHY....for now.

  for( phyadd = 0x00; phyadd < 0xff; phyadd++ )
{

IOWR(&pmac->MDIO_ADDR0, 0, phyadd);   
phyid1 = IORD(&pmac->mdio0.PHY_ID1, 0);  
phyid2 = IORD(&pmac->mdio0.PHY_ID2, 0);

if( phyid1 != phyid2 )
{
printf("\n\n\nPHY INFO:  [phyid] 0x%x %x %x\n", phyadd, phyid1, phyid2);
phyadd = 0xff;   
}


}

// Issue a PHY reset.

IOWR(&pmac->mdio0.CONTROL, 0, PCS_CTL_an_enable | PCS_CTL_sw_reset);


if( ( ( IORD(&pmac->mdio0.CONTROL,0) & PCS_CTL_rx_slpbk) != 0 ) || ( ( IORD(&pmac->mdio0.STATUS,0) & PCS_ST_an_done) == 0) )

{

IOWR(&pmac->mdio0.CONTROL, 0, PCS_CTL_an_enable | PCS_CTL_sw_reset);
printf( "PHY INFO:  Issuing PHY Reset\n" );


}


//Holding pattern until autonegotiation completes.

  if(( IORD( &pmac->mdio0.STATUS, 0 ) & PCS_ST_an_done ) == 0 )
  {


printf( "PHY INFO:  waiting on PHY link...\n" );


while(( IORD( &pmac->mdio0.STATUS, 0 ) & PCS_ST_an_done ) == 0 )


{
usleep(10);     
printf( "while!\n" );


}

printf( "PHY INFO:  PHY link detected, allowing network to start.\n\n\n\n" );
  }


  while(1);
  return( 0 );
}


下板子Debug运行时,一直卡在“PHY INFO:  waiting on PHY link...”这一步,说明autonegotiation没有完成。

                               
登录/注册后可看大图


请问搞过以太网的各位大神,这是什么情况?是不是软件部分缺少什么东西?
发表于 2015-4-26 00:38:35 | 显示全部楼层
发表于 2015-5-6 21:16:23 | 显示全部楼层
学些顶贴!!!!!!!!!
发表于 2018-12-23 15:04:25 | 显示全部楼层
发表于 2019-8-13 11:45:54 | 显示全部楼层
:o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-23 19:51 , Processed in 0.024266 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表