MII, RMII, GMII, RGMII: antarmuka paralel ke PHY · Antarmuka listrik: keluarga MII dan AUI · Kartu jaringan dan switch · Dokumentasi · CodingBox
CodingBox Dokumentasi

MII, RMII, GMII, RGMII: antarmuka paralel ke PHY

Antarmuka paralel yang tidak bergantung pada media ini menghubungkan sebuah MAC ke chip PHY tembaga melalui beberapa sentimeter PCB — di dalam router, switch kecil, access point, kontroler industri, dan setiap board embedded dengan RJ45. Antarmuka ini tidak pernah mencapai cage transceiver, tetapi menjadi titik acuan untuk segala sesuatu yang mencapainya: SGMII adalah “GMII yang diserialisasi”, XGMII adalah “GMII pada 10G”, dan PHY di dalam SFP tembaga berbicara dengan salah satu dari antarmuka ini secara internal. Halaman ini memberikan pin, clock, dan timing untuk MII, RMII, GMII, dan RGMII, masalah delay RGMII, in-band status, manajemen MDIO, serta gangguan yang dihasilkan setiap antarmuka.

MII (IEEE 802.3 Klausul 22)

ButirNilai
Rate10 dan 100 Mb/s
Data4-bit TXD[3:0], 4-bit RXD[3:0]
ClockTX_CLK dan RX_CLK dari PHY: 25 MHz (100M), 2,5 MHz (10M)
KontrolTX_EN, TX_ER, RX_DV, RX_ER, CRS (carrier sense), COL (collision)
ManajemenMDC, MDIO (bersama)
Jumlah sinyal16 data/control + 2 manajemen
Level5 V / 3,3 V TTL
Jangkauanbeberapa cm; satu PHY per MAC

Masih ditemukan pada mikrokontroler dan FPGA; digantikan oleh RMII untuk jumlah pin.

RMII (RMII Consortium spec v1.2)

ButirNilai
Rate10 dan 100 Mb/s
Data2-bit TXD[1:0], RXD[1:0]
Clocksatu REF_CLK 50 MHz, dipakai bersama oleh MAC dan PHY; disediakan oleh sebuah osilator, MAC, atau PHY (mode PHY-clock-out)
KontrolTX_EN, CRS_DV (carrier sense + data valid dimultipleks), RX_ER (opsional)
Jumlah sinyal7–9
Mode 10 Mb/ssetiap nibble diulang 10× pada 50 MHz
Jangkauancm

Topologi reference-clock 50 MHz adalah bug klasik RMII: sebuah PHY yang mengharapkan clock eksternal sementara SoC mengharapkan PHY-lah yang menghasilkan clock tersebut menghasilkan antarmuka yang mati dengan LED link yang tampak sehat.

GMII (Klausul 35)

ButirNilai
Rate1000 Mb/s; fallback ke sinyal MII untuk 10/100
Data8-bit TXD[7:0], RXD[7:0]
ClockGTX_CLK 125 MHz dari MAC untuk transmit; RX_CLK 125 MHz dari PHY untuk receive; TX_CLK dari PHY hanya dipakai pada fallback 10/100
KontrolTX_EN, TX_ER, RX_DV, RX_ER, CRS, COL
Jumlah sinyal24 + manajemen
Level2,5 V (toleran 3,3 V pada banyak varian)
Jangkauancm; timing budget ketat pada 125 MHz single-data-rate

Saat ini kebanyakan menjadi antarmuka on-chip atau FPGA; RGMII mengambil alih perannya pada board.

RGMII (Reduced GMII, spesifikasi HP/Marvell v1.3 dan v2.0)

ButirNilai
Rate10/100/1000
DataTXD[3:0] dan RXD[3:0] 4-bit double data rate: nibble rendah pada rising edge, nibble tinggi pada falling edge
ClockTXC 125 MHz (dari MAC), RXC 125 MHz (dari PHY); 25 / 2,5 MHz untuk 100M / 10M
KontrolTX_CTL (TX_EN pada rising edge, TX_EN xor TX_ER pada falling edge), RX_CTL (RX_DV / RX_DV xor RX_ER)
Jumlah sinyal12
Level2,5 V (v1.3), 1,5 V HSTL atau 1,8 V (opsi v2.0); 3,3 V pada beberapa PHY
Jangkauan≤ 10–15 cm trace matched-length

Masalah delay

RGMII mengharuskan clock tiba 1,5–2,0 ns setelah tepi data pada sisi penerima (jendela setup/hold). Ada tiga cara untuk mencapainya:

ModeSiapa yang menambahkan delayphy-mode device-treeCatatan
PCB delay (v1.3)~5 cm trace clock tambahanrgmiiklasik, rapuh
Delay internal di PHY (RGMII-ID, v2.0)PHY menambahkan 2 ns pada clock TX dan RXrgmii-idpaling umum saat ini
Delay internal di MAC/SoCditambahkan oleh SoCrgmii dengan register delay di sisi MAC—
CampuranPHY hanya pada satu arahrgmii-txid, rgmii-rxidketika hanya satu sisi yang mendukungnya

Menambahkan delay dua kali (PCB dan PHY) atau tidak sama sekali menghasilkan gangguan khas RGMII: link up pada 1G dengan error CRC atau tanpa trafik, sementara 100M berfungsi normal (100M memiliki periode 40 ns dan mentoleransi skew tersebut). Perbaiki dengan mengubah register delay PHY atau phy-mode.

In-band status

Saat idle, PHY men-drive link, kecepatan, dan dupleks pada RXD[3:0] sehingga MAC dapat mengonfigurasi ulang clock divider-nya tanpa pembacaan MDIO: RXD[0] link, RXD[2:1] kecepatan (00 = 10, 01 = 100, 10 = 1000), RXD[3] dupleks. Sebagian MAC mengabaikannya dan mengandalkan polling MDIO; ekspektasi yang tidak cocok menghasilkan link yang up pada PHY tetapi down pada MAC.

TBI dan RTBI

Ten-Bit Interface: simbol 1000BASE-X yang dikodekan 8b/10b (10 bit pada 125 MHz, RTBI pada DDR dengan 5 bit) antara MAC/PCS dan SerDes eksternal atau PHY optik. Sudah usang pada board; keturunan serialnya adalah 1000BASE-X/SGMII (SGMII & serial gigabit).

Perbandingan

AntarmukaPin (data + ctrl)ClockRate maksimumTeganganPenggunaan tipikal
MII1625 MHz dari PHY100M3,3/5 VMCU, legacy
RMII7–950 MHz bersama100M3,3 VSoC embedded + PHY
SMII2–3/port125 MHz100M3,3 VPHY multi-port (Cisco)
GMII24125 MHz (MAC tx / PHY rx)1G2,5 VFPGA, on-chip
RGMII12125 MHz DDR1G2,5/1,8/1,5 VSoC ↔ PHY pada board
SGMII4 (2 pasang)1,25 GBd embedded1G (10/100 dengan replikasi)CMLSoC ↔ PHY, cage SFP

Manajemen PHY: MDIO/MDC

ButirKlausul 22Klausul 45
Pengalamatanaddress PHY 5-bit, register 5-bit (32 register)port 5-bit, device 5-bit (PMA/PMD, PCS, PHY XS, DTE XS, AN, vendor), register 16-bit
Register kunci0 control (reset, speed, AN enable, loopback), 1 status (link, AN complete), 2–3 PHY ID (OUI + model), 4 AN advertisement, 5 link-partner ability, 9/10 control/status 1000BASE-T, 17+ vendor (delay RGMII, LED)1.x PMA, 3.x PCS, 7.x AN, 30.x/31.x vendor
KecepatanMDC ≤ 2,5 MHz (sering lebih cepat dalam praktiknya)sama
Tools Linuxmii-tool -v eth0, phytool read eth0/1/0, ethtool eth0; driver melalui phylib, phylinkphytool read eth0/1:1/0

Ini berbeda dengan modul pluggable, yang dikelola lewat I²C, bukan MDIO (Antarmuka dua kawat). PHY internal pada SFP tembaga adalah pengecualiannya: register MDIO-nya dapat dijangkau melalui I²C modul tersebut pada address sekunder di banyak desain, dan begitulah cara vendor mengatur fallback 10/100 dan perilaku autonegosiasi.

PHY umum dan antarmukanya

Keluarga PHYAntarmukaBoard tipikal
Marvell 88E1111 / 88E1512 / 88E1510GMII, RGMII, SGMII, TBIrouter, modul SFP tembaga (88E1111)
Realtek RTL8211F / RTL8201RGMII / RMIISBC, router konsumen
Microchip KSZ9031 / KSZ8081 / LAN8720RGMII / RMII / RMIIindustri, board MCU
TI DP83867 / DP83848RGMII, SGMII / MII, RMIIindustri
Broadcom BCM54xxxRGMII, SGMII, QSGMIIswitch enterprise (PHY quad/octal)
Marvell 88E1543 / 88E1548QSGMII quadswitch akses 48-port

Gangguan per antarmuka

GejalaAntarmukaPenyebab
Tidak pernah link, PHY ID terbaca normalRMIIketidakcocokan arah/sumber REF_CLK
100M berfungsi, 1G tanpa trafik / CRCRGMIImode delay (ID) salah atau dobel
Link up pada LED PHY, MAC menyatakan downRGMII/SGMIIin-band status dinonaktifkan pada satu sisi, atau polling MDIO tidak ada
Separuh paket hilang pada 1GGMII/RGMIIskew panjang trace, level tegangan salah
PHY tidak ditemukan pada MDIOapa punaddress PHY salah (strapping pin), pull-up MDIO tidak ada
Kecepatan tertahan di 10/100apa punregister AN advertisement terbatas, kabel, atau phy-mode tanpa dukungan 1G

Di CodingBox

Tidak ada satu pun di halaman ini yang melalui EEPROM modul — kecuali SFP tembaga, yang PHY internalnya (biasanya part kelas 88E1111) berada di belakang I²C yang sama yang dibaca CodingBox. Ketika sebuah modul tembaga berfungsi pada 1G tetapi tidak pada 10/100, jawabannya terletak pada konfigurasi PHY tersebut dan mode SGMII/1000BASE-X host, bukan pada byte identitas A0h (Tembaga & DAC, SGMII & serial gigabit).


Jika Anda menemukan ketidakakuratan atau kesalahan dalam artikel ini, pilih bagian teks yang bersangkutan lalu tekan Ctrl+Enter untuk .