MDIO (Management Data Input/Output) マスター インターフェイス - 3.0 日本語

AXI Ethernet Lite MAC v3.0 LogiCORE IP 製品ガイド (PG135)

Document ID
PG135
Release Date
2015-11-18
Version
3.0 日本語

MDIO マスター インターフェイス ブロックは、Vivado® 統合設計環境 (IDE) のパラメーターで [Enable MII Management Module] をオンにするとデザインに追加されます。このロジックを追加すると、AXI Ethernet Lite MAC コアから PHY コンフィギュレーション レジスタへのアクセスが可能になります。MDIO マスター インターフェイス モジュールは、IEEE 802.3 Media Independent Interface (MII) 規格で定義された機能を実装することを目的に設計されています。

MDIO モジュールは、PHY へのマネージメント データ クロック (phy_mdc) を生成します。このクロックの最小周期は 400ns です。phy_mdc 信号は phy_mdio データ信号の情報を転送する際のタイミング基準として PHY へ供給されます。

phy_mdio 信号は、PHY と MDIO モジュール間の双方向の信号です。この信号を使用して PHY と MDIO モジュール間で制御およびステータス情報をやりとりします。制御情報は MDIO モジュールによって駆動され、PHY によってサンプリングされます (どちらも phy_mdc に同期)。ステータス情報は PHY によって駆動され、MDIO モジュールによってサンプリングされます (どちらも phy_mdc に同期)。phy_mdio 信号は、MDIO モジュールと PHY のいずれかで駆動可能なトライステート回路によって駆動されます。

MDIO インターフェイスは、標準の方法を使用して PHY マネージメント レジスタへアクセスします。MDIO モジュールは最大 32 個の PHY デバイスをサポートしています。各 PHY デバイスにアクセスするには、MDIO アドレス (MDIOADDR) レジスタに PHY デバイス アドレスと PHY レジスタ アドレスを順に書き込む必要があります (この図)。このモジュールは最大 32 個の PHY マネージメント レジスタへのアクセスをサポートしています。PHY への書き込みトランザクション データは MDIO 書き込みデータ (MDIOWR) レジスタに書き込み、PHY レジスタからのステータス データは MDIO 読み出しデータ (MDIORD) レジスタから読み出します。MDIO 制御 (MDIOCTRL) レジスタは、MDIO ラインでマネージメント トランザクションを開始するために使用します。

AXI Ethernet Lite MAC コアでは、MDIO 制御レジスタ (アドレス 0x07F0) のステータス ビットをソフトウェアでセットする前に PHY デバイス アドレスと PHY レジスタ アドレスを MDIO アドレス レジスタ (アドレス 0x07E4) に格納しておく必要があります。

PHY レジスタの書き込みトランザクションを開始するためのソフトウェア シーケンスは次のとおりです。

1.ソフトウェアで MDIOCTRL レジスタを読み出し、MDIO マスターが直前の要求の実行を完了したかどうかを
チェックします。ステータス ビットが 0 なら、MDIO マスターは新しい要求を受け取ることができます。

2.ソフトウェアで MDIOADDR レジスタ (アドレス 0x07E4) に PHY デバイス アドレスと PHY レジスタ アドレスを書き込み、同じレジスタのビット [10] に 0 を書き込みます。

3.ソフトウェアで、MDIOWR レジスタ (アドレス 0x07E8) に PHY レジスタへの書き込みデータを格納します。

4.ソフトウェアで、MDIOCTRL レジスタ (アドレス 0x07F0) の MDIO イネーブル ビットに 1 を書き込みます。

5.ソフトウェアで、アドレス 0x07F0 のステータス ビット (データ バスのビット [0]) に 1 を書き込んで MDIO トランザクションを開始します。

6.MDIO 書き込みトランザクションが完了したら、ステータス ビットが AXI Ethernet Lite MAC コアによってクリアされます。

7.ソフトウェアでステータス ビットを監視し、AXI Ethernet Lite MAC コアによって 0 にセットされたら MDIO ラインで新しいトランザクションを開始します。

PHY レジスタの読み出しトランザクションを開始するためのソフトウェア シーケンスは次のとおりです。

1.ソフトウェアで MDIOCTRL レジスタを読み出し、MDIO マスターが直前の要求の実行を完了したかどうかを
チェックします。ステータス ビットが 0 なら、MDIO マスターは新しい要求を受け取ることができます。

2.ソフトウェアで MDIOADDR レジスタ (アドレス 1x07E4) に PHY デバイス アドレスと PHY レジスタ アドレスを書き込み、同じレジスタのビット [10] に 0 を書き込みます。

3.ソフトウェアで、MDIOCTRL レジスタ (アドレス 0x07F0) の MDIO イネーブル ビットに 1 を書き込みます。

4.ソフトウェアで、アドレス 0x07F0 のステータス ビット (データ バスのビット [0]) に 1 を書き込んで MDIO トランザクションを開始します。

5.MDIO 読み出しトランザクションが完了したら、ステータス ビットが AXI Ethernet Lite MAC コアによってクリアされます。

ソフトウェアでステータス ビットを監視し、AXI Ethernet Lite MAC コアによって 0 にセットされたら MDIO ラインで新しいトランザクションを開始します。