微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > ARM技术讨论 > 网络初始化phy自动沟通过程中出错

网络初始化phy自动沟通过程中出错

时间:10-02 整理:3721RD 点击:
我的phy在自动沟通过程中出现远程终端故障 Remote Fault,请问有谁遇见过,是怎么解决的,或者有什么可能的问题?

  1. UINT8   ucRegAddr;
  2.     UINT16  usPhyStatus;
  3.     UINT32  i = 0;

  4.     ucRegAddr = MII_STAT_REG;

  5.     do {                                                                /* spin until it is done        */
  6.         API_TimeMSleep(pPhyDev->PHY_uiLinkDelay);

  7.         i++;
  8.         if (i >= pPhyDev->PHY_uiTryMax) {
  9.            return   (MII_ERROR);
  10.         }

  11.         if (MII_READ(pPhyDev->PHY_ucPhyAddr, ucRegAddr, &usPhyStatus) != MII_OK) {
  12.            return   (MII_ERROR);
  13.         }
  14.     } while ((usPhyStatus & MII_SR_LINK_STATUS) != MII_SR_LINK_STATUS);

  15.     _DebugHandle(__LOGMESSAGE_LEVEL, "mii: link up.\r\n");

  16.     /*
  17.      *  check for remote fault condition, read twice
  18.      */
  19.     if (MII_READ(pPhyDev->PHY_ucPhyAddr, ucRegAddr, &usPhyStatus) != MII_OK) {
  20.         return  (MII_ERROR);
  21.     }
  22.     if (MII_READ(pPhyDev->PHY_ucPhyAddr, ucRegAddr, &usPhyStatus) != MII_OK) {
  23.         return  (MII_ERROR);
  24.     }

  25.     if ((usPhyStatus & MII_SR_REMOTE_FAULT) == MII_SR_REMOTE_FAULT) {
  26.         _DebugHandle(__LOGMESSAGE_LEVEL, "mii: remote fault.\r\n");\\一直在打印这句话
  27.         return  (MII_ERROR);
  28.     }
  29.    

复制代码

程序在飞腾1500A上没有问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top