AR# 23948

8.2i EDK - Temac testapp_peripheral 例が ML405/ML410 PHY アドレス設定が原因で正しく機能しない

説明

キーワード : ML405, ML410, PHY, address, settings, アドレス, 設定

ML405 PHY アドレスおよび MDIO バス

ネットワークへの PHY レイヤ インターフェイスは、開発ボード ML シリーズの外部 PHY チップより提供されています。 ML シリーズの開発ボードの中には、ネットワーク接続ごとに 1 つの PHY デバイスを使用し、複数のネットワーク接続を提供するものもあります。

PHY には、データ、クロック、制御、およびデバイス管理のインターフェイスが含まれています。 パワーアップ時に、PHY デバイスは、共有の動作条件 (スピードやデュープレックスなど) の元に、リンク パートナを使って自動ネゴシエーションを行います。. PHY レジスタ設定は、ソフトウェアから後で変更することができます。

IEEE 802.3 ワークグループでは、Management Data Input/Output (MDIO) の 2 ピン規格を規定し、コントローラが PHY デバイス内のさまざまなレジスタにどのうようにアクセスにどのように変更するかを定義しています。 PHY デバイスは MDIO インターフェイスを最高 30 個までの PHY デバイスと共有できるため、PHY デバイスにはそれぞれアドレスが 1 つ必要です。

すべての生産 ML405 ボードは、PHY アドレス 0x07 になっています。 生産段階前のボードのうち、数は限られていますが、S/N 6060001 より小さいシリアル番号、または 6 桁のみのシリアル番号がついていて、PHY アドレスは 0x00 になっています。 S/N ラベルは CompactFlash コネクタ付近にある PCB 上にあります。 S/N ラベルを確認するには、CompactFlash カードを取り除く必要があります。


PHY アドレスを変更した理由

PHY アドレス 0x00 はブロードキャスト アドレスとして予約されています。 複数の PHY デバイスが共通 MDIO バスに接続されていない限り、このアドレスは問題にはなりません。 ML405 は、ユーザーが選択できる、FPGA をイーサネット PHY に接続する方法を複数サポートしています。 その 1 つ (SGMII) は、内部 PHY を、外部 PHY デバイスに接続されている MDIO バスに配置します。 この複数 PHY が使用されているシナリオで明確な PHY アクセスを提供するには、外部 PHY のアドレスを、すべての生産ボードで、0x07 に設定しています。


ネットワーク機能の検証

スタンドアロンのソフトウェア アプリケーション、Ping Responder は、受信されるすべての Ping リクエストに応答します。 このコードは、生産段階前の ML410 の RGMII および SGMII セクションに掲載されています。
http://www.xilinx.co.jp/ml410-p
これは、ML405 にも使用できます。

すべての Rev D およびそれ以降の ML410 ボードの PHY アドレス が0x07 になっています (また MGT/SGMII のサポートも提供)。 生産段階前の ML410 ボード(すべての Rev C およびそれ以前のもの) の中で、数は限られていますが、PHY アドレスが 0x00 になっています (MGT/SGMII のサポートはありませんが MII および RGMII サポートを提供)。

Ping Responder には、コード (mdio.c) が含まれていて、PHY アドレスが 0x00 または 0x07 のボードで実行されているかどうかを確認することができます。 すべての PHY のレジスタ 2 (PHY ID レジスタ) に各製造者 ID が含まれているため、このコードでどの製造者の PHY でもスキャンできます。

ソリューション

ML405 8.2i TestApp_Peripheral

EDK 8.2i SP1 より、Base System Builder (BSB) を使用して、hard_temac ペリフェラルを含む ML405 デザインを生成できます。 BSB で生成された、クイック TEMAC ループバック テストを実行するための TestApp_Peripheral コードは、生産 ML405 PHY アドレスを使用するよう変更する必要があります。

"xtemac_example.h" ファイルを次のように編集します。

#define TEMAC_PHY_ID 0



#define TEMAC_PHY_ID 7

に変更します。

AR# 23948
日付 08/20/2007
ステータス アクティブ
種類 一般