Media-independent interface

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
Sun Ultra 1英語版のMIIコネクタ

media-independent interfaceMII、媒体独立インタフェース)は、もともとファストイーサネット(100メガビット・イーサネット)の媒体アクセス制御(MAC)ブロックをPHYチップに接続する目的で定義された標準インタフェースである。MII標準はIEEE 802.3uで規定されており、さまざまなタイプのPHYをMACに接続するのに使われる。MIIの存在によって、MACハードウェアを再設計または交換せずとも、多種多様な伝送媒体(ツイストペアケーブル光ファイバーなど)に接続する各種のPHYデバイスを使用できる。言い換えれば、MIIとはMAC層を「媒体から独立させる」("media-independent"とする)ためのインタフェースであり、これによってネットワーク信号の伝送媒体とは無関係に、任意のMACを任意のPHYと組み合わせて使える[1]

MIIは、MACを外部PHYにコネクタを介して接続するときや、同一基板上にあるPHYチップに直接接続するときに使用できる。かつてはMIIバス信号を接続するためのCNRスロット(CNRコネクタ Type B)がPCのマザーボードに搭載されている場合があったが、ネットワーク機能がオンボードで実装されるようになって廃れた[2]

Management Data Input/Output英語版(MDIO)シリアルバスは、MACとPHYの間で管理情報を転送するMIIのサブセットである。通常は、設定がMDIOインターフェイスを介して変更されない限り、電源投入時のオートネゴシエーションによってPHYと相手方の接続が確立される。

IEEE802.3uで規定されているもともとのMIIは、各方向に1ニブル(=4ビット。送信に4ビット、受信に4ビット)のデータを25 MHzのクロックでネットワーク転送し、100 Mbit/sのスループットを実現している。信号の削減や速度の向上を目的として初期のMIIを拡張したバリエーションとしては、以下のものがある。

  • reduced media-independent interface (RMII)
  • gigabit media-independent interface (GMII)
  • reduced gigabit media-independent interface (RGMII)
  • serial gigabit media-independent interface (SGMII)
  • quad serial gigabit media-independent interface (QSGMII)
  • 10-gigabit media-independent interface (XGMII)

標準MII[編集]

標準MIIは以下のレジスタを備えている[3]

  • Basic Mode Configuration (#0)
  • Status Word (#1)
  • PHY Identification (#2, #3)
  • Ability Advertisement (#4)
  • Link Partner Ability (#5)
  • Auto Negotiation Expansion (#6)

MIIステータスワードは、イーサネットNICがネットワークに接続されているかどうかを検出するために使用される可能性があるため、最も有用なデータである。MIIステータスワードの各ビットの値は以下の意味を持つ[4]

ビット値 意味
0x8000 100BASE-T4に対応
0x7800 10/100 HD/FDに対応(最も一般的)
0x0040 プリアンブル抑制可
0x0020 オートネゴシエーション完了
0x0010 リモート障害
0x0008 オートネゴシエーション可
0x0004 リンク確立
0x0002 ジャバー英語版検出
0x0001 拡張MIIレジスタが存在

送信機信号[編集]

信号名 説明 方向
TX_CLK 送信クロック PHY→MAC
TXD0 送信データビット0(最初に送信) MAC→PHY
TXD1 送信データビット1 MAC→PHY
TXD2 送信データビット2 MAC→PHY
TXD3 送信データビット3 MAC→PHY
TX_EN 送信可 MAC→PHY
TX_ER 送信エラー(オプション) MAC→PHY

送信クロックは、リンク速度(100Mbit/sの場合は25MHz、10Mbit/sの場合は2.5MHz)に基づいてPHYによって生成される自走クロックである。 残りの送信信号は、TX_CLKの立ち上がりエッジで同期してMACによって駆動される。 この構成により、リンク速度を意識せずにMACを動作させることができる。送信可信号は、フレーム送信中はハイに、送信機がアイドル状態のときはローに保持される。

フレーム送信中に1つまたは複数のクロック周期の間送信エラーが発生することがある。これは、フレームが有効であるとして受信されるのを妨げるためにフレームを故意に破壊するよう何らかの目に見える方法でPHYに要求するためである。この機能が使用できない場合、MACは信号を省略することがあり、その場合、信号はPHYに対してローに固定されるべきである。

最近では、送信データラインが特殊用途のシグナリングに使用されていることを示すために、フレーム送信外で送信エラーを発生させる方法が使用されている。具体的には、データ値0b0001(TX_ENがロー、TX_ERがハイに連続的に保持される)を使用して、EEE対応のPHYに低電力モードに入るように要求する。

受信機信号[編集]

信号名 説明 方向
RX_CLK 受信クロック PHY→MAC
RXD0 受信データビット0(最初に受信) PHY→MAC
RXD1 受信データビット1 PHY→MAC
RXD2 受信データビット2 PHY→MAC
RXD3 受信データビット3 PHY→MAC
RX_DV 受信データ有効 PHY→MAC
RX_ER 受信エラー PHY→MAC
CRS キャリアセンス PHY→MAC
COL 衝突検知 PHY→MAC

最初の7つの受信機の信号は、送信機の信号と全く類似している。ただし、RX_ERはオプションではなく、受信信号が有効データに復号できなかったことを示すために使用される。受信クロックは、フレーム受信中に入力信号から復元される。クロックを復元できないとき(つまり、媒体に信号が流れていないとき)、PHYは代替として自走クロックを提示する必要がある。

受信データ有効信号(RX_DV)は、フレームの開始時にすぐにハイになる必要はないが、受信データにフレーム開始識別子バイトが含まれるようにする必要がある。プリアンブルのいくつかのニブルは失われる可能性がある。

送信と同様に、フレーム外でRX_ERを上げることは特別なシグナリングに使用される。受信に関しては、リンクパートナーがEEE低電力モードにあることを示す0b0001と、「偽のキャリア」表示のための0b1110の2つのデータ値が定義されている。

CRS信号とCOL信号は受信クロックとは非同期であり、半二重モードでのみ意味がありる。送信中、受信中、またはメディアが使用中であると検出された場合は、キャリアセンスがハイになる。衝突が検出されると、衝突が続いている間COLもハイになる。

それに加えて、MACはCOL信号を弱くプルアップし、COLハイとCRSローとの組み合わせ(PHYは決して生成しない)をPHYの不在/切断の表示として使用する。

管理信号[編集]

信号名 説明 方向
MDIO 管理データ 双方向
MDC 管理データクロック MAC→PHY

MDCとMDIOは複数のPHYで共有できる。

制限事項[編集]

インターフェイスには18個の信号が必要で、そのうち2つ(MDIOとMDC)のみが複数のPHYで共有できる。これは、特にマルチポートデバイスにとって問題となる。例えば、MIIを使用する8ポートスイッチでは、8×16 + 2 = 130の信号が必要になる。

RMII[編集]

reduced media-independent interfaceRMII)は、PHYとMACを接続するのに必要となる信号の数を減らすために開発された規格である。MIIの規格から以下の4点が変更された。

  • 2つのクロックTXCLKとRXCLKを単一のクロックに置き換える。このクロックは、出力ではなくPHYへの入力であるため、スイッチなどのマルチポートデバイス内の全てのPHYでクロック信号を共有できる。
  • クロック周波数を25MHzから50MHzに倍増し、データパスは4ビットから2ビットに狭める。
  • RXDV信号とCRS信号を1つの信号に多重化する。
  • COL信号を削除する。

これらの変更は、RMIIがMIIと比較して約半分の数の信号を使用することを意味する。

RMIIの信号
信号名 説明 方向
REF_CLK 連続50MHz基準クロック 基準クロックは、外部クロックソースから両方のデバイスに入力することも、MACからPHYに駆動することもできる。
TXD0 送信データビット0(最初に送信) MAC→PHY
TXD1 送信データビット1 MAC→PHY
TX_EN ハイのとき、TXD0とTXD1のデータを送信機にクロックする。 MAC→PHY
RXD0 受信データビット0(最初に受信) PHY→MAC
RXD1 受信データビット1 PHY→MAC
CRS_DV キャリアセンス(CRS)とRXデータ有効(RX_DV)は交互のクロックサイクルで多重化される。10 Mbit/sモードでは、10クロックサイクルごとに切り替わる。 PHY→MAC
RX_ER 受信エラー(スイッチではオプション) PHY→MAC
MDIO 管理データ 双方向
MDC 管理データクロック MAC→PHY

MDCとMDIOは複数のPHYで共有できる。

受信機信号と送信機信号は同じREF_CLKを基準にしている。

このインタフェースは、MIIの18個に対して9個の信号を必要とする。9個の内、マルチポートデバイスでは、MDIO、MDC、REF_CLKは共有できるので、各ポートで必要なのは6または7個となる。

RMIIでは50MHzのクロックを必要とし(MIIでは25MHz)、データは1クロックに対し2ビットずつ送信される(MIIでは4ビット)。データは立ち上がりエッジでのみサンプリングされる(つまり、ダブルポンピングされない)。

REF_CLKは、100Mbit/sモードと10Mbit/sモードの両方で、50MHzで動作する。その代わり、10Mbit/sモードでは、送信側(PHYまたはMAC)は10クロックサイクルの間全ての信号を有効にしておく必要があり、受信機(PHYまたはMAC)は10サイクルごとにのみ入力信号をサンプリングする。

制限事項[編集]

インタフェースが全二重モードか半二重モードかを定義する信号はないが、MACとPHYの両方で一致する必要がある。これはシリアルMDIO/MDCインタフェースを介して通信する必要がある。インタフェースが10Mbpsまたは100Mbpsモードのどちらであるかを定義する信号もないため、これもデュプレックス設定と同様に、MDIO/MDCインタフェースを使用して処理する必要がある。RMIIコンソーシアム仕様のバージョン1.2では、MDIO/MDCインタフェースはIEEE 802.3uでMIIに対して定義されているものと同一であると規定している。IEEE 802.3の現在の改訂では、リンクの速度とデュプレックスモードをネゴシエートして設定するための標準MDIO/MDCメカニズムを指定している、古いPHYデバイスは古いバージョンの標準に対して設計されているため、速度とデュプレックスを独自の方法で設定する。RMII規格の将来のバージョンでは、TX_ENとCRS_DVがディアサートされている間にTXD0/TXD1/RXD0/RXD1ピンを介してデータを送信する方法が指定される可能性がある。これにより、MDIO/MDCシリアルリンクをポーリングする必要がなく、リンク速度やデュプレックスなどのパラメータをリアルタイムで伝達できる。

一部のMACが接続されておらずRX_ER信号がない場合(マルチポートスイッチなど)は、CRCを無効にするために一部のPHYでデータを置き換えて対処する。COL信号が欠落している場合は、半二重モードでTX_ENとCRS_DVラインからのデコードされたCRS信号をANDすることによって得られる。これはCRSの定義をわずかに修正すること意味する。MIIでは、CRSはRxとTxフレームの両方でアサートされるが、RMIIではRxフレームのみとなる。これにより、RMIIでは、「キャリアなし」と「キャリア損失」の2つのエラー状態を検出できず、10BASE210BASE5などの共有媒体に対応することが困難あるいは不可能になる。

信号レベル[編集]

TTL信号レベルは5Vまたは3.3Vロジックに使用される。高入力しきい値は2.0V、低入力しきい値は0.8Vである。仕様では、入力は5Vに耐える必要があると規定されているが、RMIIインターフェイスを備えた一部の一般的なチップは5Vに耐えられない。半導体業界のトレンドと、両方のICが通常同じボード上にあるという事実から考えると、5V耐性でないのは非常に一般的であり、実際に5Vを駆動するチップはおそらく稀である。5Vに耐えられるのは、主に古いMII専用デバイスに見られる。一方、新しいデバイスは2.5Vと1.8Vの両方のロジックに対応する可能性がある。MACを実装するのに十分なFPGAは、通常5V耐性ではない。

RMII信号は、伝送線路ではなく集中信号として扱われる。終端処理やインピーダンスの制御は不要である。これを可能にするためには、出力ドライブ(したがってスルーレートも)をできるだけ遅くする必要がある(立ち上がり時間1〜5 ns)。ドライバは、最大0.30mのPCBトレースを可能にする25pFの容量を駆動できなければならない。少なくとも規格では、信号を伝送線路として扱う必要はないとしている。ただし、エッジレートが1 nsで約2.7 cmを超えると、伝送線路の影響が重大な問題になる可能性がある。5 nsでは、トレースは5倍長くなる。関連するMII規格のIEEEバージョンは、68Ωのトレースインピーダンスを規定している[5]

RMII規格ではTX_ENを交互のクロックサイクルでのみサンプリングするように規定していないため、CRS_DVと対称的ではなく、2つのRMII PHYデバイスを背中合わせに接続してリピータを形成することはできない。ただし、これはRMIIモードで補助信号としてデコードされたRX_DVを供給するNational DP83848で可能である[6]

GMII[編集]

gigabit media-independent interface (GMII)は、媒体アクセス制御(MAC)デバイスと物理層(PHY)の間のインタフェースである。このインタフェースは、受信用と送信用に別々の8ビットデータパスを使用して125MHzでクロックされるデータインタフェースを使用して実装され、最大1000 Mbit/sの速度を定義する。MII仕様に従って、10/100 Mbit/sのフォールバック速度でも動作する。

インタフェース上のデータは、IEEEイーサネット規格を使用してフレーム化されており、プリアンブル、開始フレーム識別子(SFD)、イーサネットヘッダ、ペイロード、巡回冗長検査(CRC)からなる。

GMIIインタフェースは、IEEE 802.3z-1998の1000BASE-Xで第35項として最初に定義され、その後IEEE 802.3-2000以降に組み込まれた[7]

送信機信号[編集]

信号名 説明
GTXCLK ギガビットTX信号用のクロック信号(125MHz)
TXCLK 10/100 Mbit/s信号用のクロック信号
TXD[7..0] 送信データ
TXEN 送信可
TXER 送信エラー(パケットを破壊するために使用)

PHYがギガビットか10/100 Mbit/sのどちらの速度で動作しているかに応じて、2つのクロックがある。ギガビット速度では、GTXCLKがPHYに供給され、TXD、TXEN、TXER信号はこれに同期する。10/100 Mbit/sの場合、TXCLK(PHYから供給)を使用してこれらの信号を同期する。これは、100 Mbit/s接続では25 MHz、10 Mbit/s接続では2.5 MHzで動作する。受信機のクロックは、受信データから復元されるクロックが1つしかないため、はるかに単純である。従って、GTXCLKとRXCLKはコヒーレントではない。

受信機信号[編集]

信号名 説明
RXCLK 受信クロック信号(受信データから回復)
RXD[7..0] 受信データ
RXDV 受信データ有効
RXER 受信データエラー
COL 衝突検知(半二重接続のみ)
CS キャリアセンス(半二重接続のみ)

管理信号[編集]

信号名 説明
MDC 管理インタフェースクロック
MDIO 管理インタフェースのI/O双方向ピン

管理インタフェースはPHYの動作を制御する。それぞれ16ビットを含む32個のアドレスがある。最初の16アドレスには定義済みの使用法がある[8]が、他のアドレスはデバイス固有である。これらのレジスタを使用してデバイスを設定することができ(「ギガビットのみ、全二重」、「全二重のみ」など)、動作モードを決定することができる。

RGMII[編集]

対応しているイーサネット速度
[Mbit/s] [MHz] Bits/clock cycle
10 2.5 4
100 25  4
1000 125  8

reduced gigabit media-independent interface (RGMII)は、イーサネットMACPHYとの間の特定のインタフェースを定義する。

RGMIIは、GMIIの半分のデータピン数を使用する。この削減は、1000 Mbit/動作でクロックの立ち上がりエッジと立ち下がりエッジの両方でデータをクロッキングすること、不要な信号(キャリアセンスと衝突表示)を削除することによって実現されている。従って、RGMIIはRX_CTL、RXC、RXD[3:0]、TX_CTL、TXC、TXD[3:0](12ピン)のみで構成される。

GMIIとは異なり、送信クロック信号は常にTXCライン上でMACによって提供される。ソース同期クロッキングが使用され、(PHYまたはMACによって)出力されるクロック信号はデータ信号と同期している。このため、シンクのセットアップ時間とホールド時間を満たすために、クロック信号に1.5〜2 nsの遅延を追加するようにPCBを設計する必要がある。RGMII v2.0ではオプションの内部遅延(RGMII-ID)を指定しているため、PCB設計者は遅延を追加する必要がない。

これらのデータレートを達成するために、データは1000 Mbit/sでは立ち上がりエッジと立ち下がりエッジで、10/100 Mbit/sでは立ち上がりエッジでのみクロックされる[9]。RX_CTL信号は、立ち上がりエッジでRXDV(データ有効)を、立ち下がりエッジで(RXDVまたはRXER)を伝達する。TX_CTL信号も同様に、立ち上がりエッジでTXENを、立ち下がりエッジで(TXENまたはTXER)を伝達する。これは、1000 Mbit/sと10/100 Mbit/sの両方に当てはまる。

RGMII信号
信号名 説明 方向
TXC クロック信号 MAC→PHY
TXD[3..0] 送信するデータ MAC→PHY
TX_CTL 送信可と送信エラーの多重化 MAC→PHY
RXC 受信クロック信号(受信データから回復) PHY→MAC
RXD[3..0] 受信データ PHY→MAC
RX_CTL 受信可と受信エラーの多重化 PHY→MAC
MDC 管理インタフェースクロック MAC→PHY
MDIO 管理インタフェースのI/O 双方向

RGMIIバージョン1.3[10]は2.5V CMOSを使用し[11]、RGMIIバージョン2は1.5V HSTL英語版を使用する[12]

SGMII[編集]

serial gigabit media-independent interface (SGMII)はMIIの一種で、イーサネットMACブロックをPHYに接続するために使用される標準インタフェースである。これはギガビット・イーサネットに使用されるが、10/100 Mbit/sイーサネットも伝送できる。

TXとRXのデータおよびTXとRXのクロックには、625MHzのクロック周波数DDRの差動ペアを使用する。GMIIとの違いは、低消費電力でピン数の少ないシリアル8b/10bコードインタフェース(一般にSerDesと呼ばれる)である。送信パスと受信パスはそれぞれ、データ用に1つの差動ペアとクロック用に別の差動ペアを使用する。TX/RXクロックはデバイス出力で生成する必要があるが、デバイス入力ではオプションである(代わりにクロック回復を使用することもできる)。クロックは常に625MHzであるため、10/100 Mbit/sイーサネットは、データワードをそれぞれ100/10回複製することによって伝送される。

QSGMII[編集]

quad serial gigabit media-independent interface (QSGMII)は、4本のSGMII回線を組み合わせて5 Gbit/sのインタフェースにする方法である。SGMIIと同様に、QSGMIIはTXおよびRXデータ用のLow voltage differential signaling(LVDS)と単一のLVDSクロック信号を使用する。

QSGMIIは、4本のSGMIIバスよりもはるかに少ない信号線を使用する。

XGMII[編集]

10 gigabit media-independent interface (XGMII) は、全二重10ギガビット・イーサネット(10GbE)ポートを相互に接続したり、プリント回路基板上の他の電子機器に接続したりするためのIEEE 802.3で定義された規格である。156.25MHz DDR (312.5 MT/s)で動作する2つの32ビットデータパス(RxとTx)と2つの4ビット制御フロー(RxcとTxc)で構成されている。

通常はオンチップ接続に使用される。チップ間での使用では、ほとんどXAUI英語版に置き換えられている。

関連項目[編集]

脚注[編集]

  1. ^ 論理層と物理層をつなぐインターフェースRMII”. 2019年3月5日閲覧。
  2. ^ CompTIA A+ 220-701 and 220-702 Cert Guide”. 2019年3月5日閲覧。
  3. ^ IEEE Standard 802.3: CSMA/CD AccessMethod and Physical Layer Specials, Section Two, Chapter 22.2.4
  4. ^ Linux MII interface definition”. 2018年11月19日閲覧。
  5. ^ AN-1469 datasheet
  6. ^ AN-1405 schematic.
  7. ^ IEEE Standard for Ethernet - Section 3”. ieeexplore.ieee.org. IEEE 802.3 (2015年). 2018年4月20日閲覧。
  8. ^ IEEE 802.3,2000–22.2.4 Management Functions
  9. ^ Reduced Gigabit Media Independent Interface (RGMII) Version 2.0” (2002年4月1日). 2016年3月3日時点のオリジナルよりアーカイブ。2019年2月12日閲覧。
  10. ^ Reduced Gigabit Media Independent Interface (RGMII) Version 1.3” (2000年12月10日). 2016年3月3日時点のオリジナルよりアーカイブ。2019年2月12日閲覧。
  11. ^ 2.5 V ± 0.2 V (Normal Range) and 1.8 V – 2.7 V (Wide Range) Power Supply Voltage and Interface Standard for Nonterminated Digital Integrated Circuits, JESD8-5A.01” (2006年6月1日). 2019年2月12日閲覧。
  12. ^ High Speed Transceiver Logic (HSTL). A 1.5V Output Buffer Supply Voltage Based Interface Standard for Digital Integrated Circuits, JESD8-6” (1995年8月1日). 2019年2月12日閲覧。

外部リンク[編集]