管理データ入出力(MDIO )は、シリアル管理インターフェース(SMI)またはメディア独立インターフェース管理(MIIM)とも呼ばれ、 IEEE 802.3規格のイーサネットファミリのメディア独立インターフェース(MII )用に定義されたシリアルバスです。MIIは、メディアアクセスコントロール(MAC)デバイスとイーサネット物理層(PHY)回路を接続します。MDIOを制御するMACデバイスは、ステーション管理エンティティ(SME)と呼ばれます。
MIIには2つの信号インターフェースがあります。
MDIOインターフェースは、2つの信号によって実現されます。
このバスはマスターとして単一のMACのみをサポートし、最大32個の PHYスレーブを接続できます。
MDCは周期的に動作させることができ、最小周期は400 ナノ秒で、これは最大周波数2.5MHzに相当します 。ただし、最新のチップではより高速なアクセスが可能です。例えば、DP83640は MDCの最大クロック周波数を25MHzまでサポートしています。
MDIOには、32個のPHYと1個のMACの合計最悪ケースのリーク電流を考慮して、 1.5kΩ~10kΩの特定のプルアップ抵抗が必要です。
レジスタアクセスを行う前に、PHYデバイスは通常、MACからMDIOライン上に32個の1からなるプリアンブルを送信する必要があります。アクセスは16個の 制御ビットとそれに続く16個の データビットで構成されます。制御ビットは、2個のスタートビット、2個のアクセスタイプビット(読み出しまたは書き込み)、PHYアドレス(5ビット)、レジスタアドレス(5ビット)、および2個の「ターンアラウンド」ビットで構成されます。
書き込みコマンドの場合、MACはアドレスとデータを提供します。読み出しコマンドの場合、PHYはターンアラウンドビットタイムの間MDIOラインを占有し、要求されたレジスタデータをMACに提供した後、MDIOラインを解放します。
MACがMDIOラインを駆動する際、クロックMDCの立ち上がりエッジの10ナノ秒前(セットアップ時間)に安定した値を保証する必要があります。さらに、MDIOはMDCの立ち上がりエッジの後10ナノ秒(ホールド時間)の 間、安定した状態を維持する必要があります。
PHYがMDIOラインを駆動する場合、PHYはクロックの立ち上がりエッジから0~300nsの間にMDIO信号を提供する必要があります。[ 1 ]したがって、最小クロック周期400ns( 最大クロックレート2.5MHz)であれば、MACはクロックのローサイクルの後半でMDIOを安全にサンプリングできます。
プレ32
MDIOヘッダーの最初のフィールドはプリアンブルです。プリアンブルの間、MACはMDIOライン上に32ビット(すべて「1」)を送信します。
ST
スタートフィールドは2ビットで構成され、常に「01」という組み合わせが含まれます。
OP
オペコードは2ビットで構成されます。可能なオペコードは2種類あり、「10」を読み出すか「01」を書き込むかのいずれかです。
PA5
5ビット、PHYアドレス。
RA5
レジスタアドレスフィールドは、書き込みまたは読み出しを行うレジスタを示します。このフィールドは5ビット長です。
TA
ターンアラウンドフィールドは2ビット長です。データがPHYに書き込まれる際、MACはMDIOラインに「10」を書き込みます。データが読み出される際、MACはMDIOラインを解放します。
D16
16ビットのデータ。これは、OPフィールドの値に応じて、SMEまたはPHYのいずれかによって送信されます。
Z
トライステートMDIO。
IEEE 802.3 パート 3 [ 1 ]では、異なるオペコードと開始シーケンスを使用します。オペコード 00 (アドレス設定) と 11 (読み出し)/01 (書き込み)/10 (読み出しインクリメント) は、レジスタの読み書きを行うための 2 つのシリアル トランザクションとして使用されます。