MII (Media-independent Interface)とは
MII(Media-independent Interface、またはMedium-independent Interface)は、「伝送媒体に依存しないインタフェース」という意味を持ち、
イーサネットにおいて、MAC(Media Access Control、
データリンク層デバイス)とPHY(Physical Layer、
物理層デバイス)を接続する部分を指します。これにより、MAC層の設計を変更することなく、多様な
物理層(
ツイストペアケーブル、
光ファイバーなど)に対応できるようになります。
MIIの拡張規格
MIIは、様々な通信速度に対応するため、以下の規格に拡張されています。
MII: 100Mbps通信用
RMII (reduced MII): 100Mbps通信用、配線数を削減
GMII (gigabit MII): 1Gbps通信用
RGMII (reduced gigabit MII): 1Gbps通信用、配線数を削減
SGMII (serial gigabit MII): 1Gbps通信用、シリアルインタフェース
QSGMII (quad serial gigabit MII): 5Gbps通信用
XGMII (10-gigabit MII): 2.5Gbps、5Gbps、10Gbps通信用
MIIの概要
MIIの最大の利点は、MACとPHYの独立性を保つことです。これにより、伝送媒体に依存することなく、任意のMACを任意のPHYと組み合わせて使用できます。MIIに対して、伝送媒体を接続する部分はMDI (Medium-dependent interface)と呼ばれます。
MIIは1995年にIEEE 802.3u(ファーストイーサネット)で初めて規定されました。初期には、外部PHYにMII配線したコネクタを接続するために、マザーボードにCNRスロットが搭載されているものもありました。現在では、MACとPHYが同一基板上に実装されることが一般的で、MIIはチップ間のインタフェースとして扱われます。
イーサネットの高速化に伴い、GMIIなどの規格が登場し、より高速な通信をサポートしています。10Gbps以上の通信では、PHYの一部のみを置き換える要求が高まり、AUI (Attachment Unit Interface)の名称が再び用いられるようになっています。
初期のMII
初期のMIIは、送受信それぞれ4ビットのバスを25MHzのクロックで動作させ、100Mbpsの通信速度を実現していました。10Mbps通信との後方互換性も考慮されています。
MIIには以下の18個の信号線が必要です。
TXD[3..0]: 送信データ
RXD[3..0]: 受信データ
TX_CLK: 送信
クロック
TX_EN: 送信イネーブル
TX_ER: 送信エラー
RX_CLK: 受信クロック
RX_DV: 受信データ有効
RX_ER: 受信エラー
CRS: キャリア検知
COL: 衝突検出
MDC: 管理データ
クロック
MDIO: 管理データI/O
これらのうち、MDCとMDIOは複数のPHYで共有できますが、その他の16個はポートごとに必要です。特に多ポート機器では、配線数が多くなることが課題となります。
各ピンの説明
TXD[3..0], RXD[3..0]: イーサネットフレームを送受信します。プリアンブル、SFD(開始フレーム識別子)、
イーサネットヘッダ、ペイロード、CRC(巡回冗長検査)を含みます。
TX_CLK: PHYからMACに供給されるクロック。100Mbps通信の場合は25MHz、10Mbps通信の場合は2.5MHzです。
TX_EN: フレーム送信中はハイ、アイドル状態のときはローになります。
TX_ER: フレーム送信中にエラーが発生した場合にハイになります。また、EEE(省電力イーサネット)の制御などにも利用されます。
RX_ER: 受信信号が有効データとして復号できなかった場合にハイになります。特殊シンボルも定義されています。
RX_CLK: 受信データから復元されるクロック信号です。
RX_DV: フレーム受信中にハイを維持します。
CRS, COL: 半二重通信でのみ使用されます。CRSは送受信中または他機器の伝送路占有時にハイになり、COLは衝突検出時にハイになります。
MDIO, MDC: PHYの各種設定や状態取得のための2線シリアルバスです。
MDIOレジスタ
MDIOは、PHYの各種設定や状態取得に使用される管理インターフェースです。I2Cに似た2線シリアルバス(MDIO・MDC)を用いて、16ビットのレジスタにアクセスします。100Mbps・1Gbps通信用のPHYは、32個のレジスタを備えており、前半は書式が規定され、後半はPHY固有となっています。10Gbps通信以降では、65536個のレジスタが実装可能です。
RMII (Reduced MII)
RMIIは、100Mbps通信用のMIIの一種で、配線数を削減したものです。以下の9本の配線で構成されます。
REF_CLK: 基準クロック(50MHz)
TXD[1..0]: 送信データ
RXD[1..0]: 受信データ
TX_EN: 送信イネーブル
CRS_DV: キャリア検知/データ有効
MDIO: 管理データI/O
MDC: 管理データクロック
初期MIIから、クロックを共有化、データバスを削減、RXDVとCRSを1ピンにまとめるなどの変更が行われました。これにより配線数が削減されましたが、全二重・半二重、10M・100Mbpsの速度はMDIO/MDCで設定する必要があります。
RMIIの制限事項
速度や二重通信モードを示す信号がなく、MDIO/MDCで設定する必要があります。
RX_ER信号をサポートしないMACとの接続では、MAC側でCRCチェックをしないなどの対処が必要になる場合があります。
COL(衝突検出)がないため、半二重通信でエラー検出ができない場合があります。
TX_ENが交互出力ではないため、2つのPHYを直接接続してリピータとして使用することができません。
信号レベル
TTL信号レベルは5Vまたは3.3Vロジックが使用され、入力のしきい値は0.8V/2.0Vです。初期MIIでは68Ωの特性インピーダンスが規定されていましたが、RMIIでは集中定数回路として扱われ、インピーダンス制御は不要です。
GMII (Gigabit MII)
GMIIは、1Gbps通信用のMIIで、27本の配線で構成されます。送受信それぞれ8本のデータバスが125MHzで動作し、10Mbps/100Mbps通信にも対応します。
GTXCLK: 1Gbps通信用の送信
クロック
TXD[7..0]: 送信データ
TXEN: 送信イネーブル
TXER: 送信エラー
RXCLK: 受信
クロック
RXD[7..0]: 受信データ
RXDV: 受信データ有効
RXER: 受信エラー
CRS: キャリア検知
COL: 衝突検出
MDIO: 管理データI/O
MDC: 管理データクロック
RGMII (Reduced Gigabit MII)
RGMIIは、1Gbps通信用のMIIで、配線数を削減したものです。12本の配線で構成され、送受信のデータバスを半減し、半二重通信用の不要な信号を削除しています。
TXC: 送信
クロック
TXD[3..0]: 送信データ
TX_CTL: 送信制御(送信有効、送信エラー)
RXC: 受信クロック
RXD[3..0]: 受信データ
RX_CTL: 受信制御(受信有効、受信エラー)
MDIO: 管理データI/O
MDC: 管理データクロック
1Gbps通信では立ち上がり・立ち下がりの両エッジでデータを読み取ります。RGMII第2.0版では内部遅延オプションが追加され、基板設計時の遅延調整が不要になりました。
SGMII (Serial Gigabit MII)
SGMIIは、1Gbps通信用のMIIで、低消費電力な差動シリアルバス(LVDS)を使用し、信号数を10に減らしたものです。主にSFPトランシーバとの接続に使用されます。
データとクロックにそれぞれ1対の差動配線を使用し、8b/10b符号を用いて1.25Gbpsで動作します。
QSGMII (Quad Serial Gigabit MII)
QSGMIIは、5Gbps通信用のMIIで、SGMIIを4つ組み合わせたものです。4対のLVDS送受信信号と1対のLVDSクロック信号で構成されます。
XGMII (10-Gigabit MII)
XGMIIは、10Gbps通信用のMIIで、72本の配線で構成されます。156.25MHzで動作する32本のデータバスと、4本の制御フローが送受信方向にそれぞれ用意されています。配線数の多さから、XAUIに置き換えられることが多いです。
nGMII
nGMIIは、25Gbps以上の高速通信用のMIIの総称で、以下の規格があります。
25GMII: 25Gbps通信用
XLGMII: 40Gbps通信用
50GMII: 50Gbps通信用
CGMII: 100Gbps通信用
200GMII: 200Gbps通信用
400GMII: 400Gbps通信用
800GMII: 800Gbps通信用
25Gbps以上のMIIは、すべて論理インタフェースとして規定されており、物理的な配線は規定されていません。
関連技術
AUI (Attachment Unit Interface): 10Mbps通信用のMII
XAUI: 10Gbps通信用のMII
G.hn: ITU-T勧告でMIIという用語を使用
参考文献
Texas Instruments – AN-1405 DP83848 RMII
Texas Instruments – DP83848C PHY Data Sheet
hp.com – RGMIIv2_0_final_hp.pdf RGMII 2002-04-01 Version 2.0
Serial-GMII Specification Revision 1.7 (ENG-46158)
CEVA implementation documentation
Altera 10Gb Ethernet IP with XGMII and XAUI interfaces
GMII Timing and Electrical Specification
* Ethernet Media Converter