文章 ID: 000086267 內容類型: 疑難排解 最近查看日期: 2023 年 08 月 09 日

為什麼我的Nios® II簡易通訊端伺服器設計範例無法以 1G 的速度自動協商?

環境

  • Intel® Quartus® Prime Pro Edition 軟體
  • Intel® Nios® II 內嵌式設計套件 (EDS)
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    由於簡單通訊端伺服器範本中的預設超時期限,在 Cyclone® V、Cyclone® 10 和 Max® 10 設備中,以 1G 速度進行的自動協商可能會失敗。

    解決方法

    要解決此問題,使用者需要修改BSP原始程式碼以增加自動協商超時延遲,並使用以下說明重新編譯以生成新的ELF檔。

    在專案目錄中打開以下檔:

    ../software/<project_name_bsp>/drivers/src/altera_avalon_tse.c

    將超時延遲從「usleep(1000)」更改為「usleep(5000)」,如下一部分代碼所示:

    alt_32 alt_tse_phy_restart_an(alt_tse_phy_info *pphy, alt_u32 timeout_threshold) {

    ........................................

    while(alt_tse_phy_rd_mdio_reg(pphy, TSE_PHY_MDIO_STATUS, TSE_PHY_MDIO_STATUS_AN_COMPLETE, 1) == 0 ){


    if(timeout > timeout_threshold) { tse_dprintf(4, 「WARNING : PHY[%d.%d] - Auto-Negotiation FAILED\n」, mac_group_index, mac_info_index);

    /* 恢復以前的 MDIO 位址 */

    alt_tse_phy_wr_mdio_addr(pphy, mdioadd_prev);

    返回TSE_PHY_AN_NOT_COMPLETE;


    }


    睡眠(5000);從Usleep(1000)更新

    }

    相關產品

    本文章適用於 2 產品

    Intel® Cyclone®
    Intel® MAX® CPLD 和 FPGA

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。