記事 ID: 000086267 コンテンツタイプ: トラブルシューティング 最終改訂日: 2020/03/23

Nios® II シンプル・ソケット・サーバーのデザイン例が 1G 速度でオートネゴシエーションに失敗するのはなぜですか?

環境

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
    インテル® Nios® II エンベデッド・デザイン・スイート (EDS)
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

Simple Socket Server テンプレートのデフォルトのタイムアウト期間により、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, "警告 : PHY[%d.%d] - オートネゴシエーションに失敗しました\n", mac_group_index, mac_info_index);

/* 以前の MDIO アドレスを復元する */

alt_tse_phy_wr_mdio_addr(pphy, mdioadd_prev);

TSE_PHY_AN_NOT_COMPLETEを返します。


}


usleep(5000);usleep(1000) からアップデート

}

関連製品

本記事の適用対象: 2 製品

インテル® Cyclone®
インテル® MAX®

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。