MII, RMII, GMII, RGMII: PHY’ye paralel arayüzler · Elektriksel arayüzler: MII ailesi ve AUI’ler · Ağ kartları ve anahtarlar · Belgeler · CodingBox
CodingBox Belgeler

MII, RMII, GMII, RGMII: PHY’ye paralel arayüzler

Paralel ortamdan bağımsız arayüzler, bir MAC’i birkaç santimetrelik bir PCB üzerinden bakır bir PHY yongasına bağlar — yönlendiricilerin, küçük anahtarların, erişim noktalarının, endüstriyel kontrolörlerin ve bir RJ45’e sahip her gömülü kartın içinde. Bir alıcı-verici kafesine asla ulaşmazlar, ama ulaşan her şey için referans noktasıdırlar: SGMII “serileştirilmiş GMII”dir, XGMII “10G’de GMII”dir ve bir bakır SFP içindeki PHY, dahili olarak bunlardan birini konuşur. Bu sayfa MII, RMII, GMII ve RGMII için pinleri, saatleri ve zamanlamayı, RGMII gecikme sorununu, bant içi durumu, MDIO yönetimini ve her arayüzün ürettiği arızaları verir.

MII (IEEE 802.3 Clause 22)

KalemDeğer
Hızlar10 ve 100 Mb/s
Veri4 bit TXD[3:0], 4 bit RXD[3:0]
SaatlerTX_CLK ve RX_CLK PHY’den: 25 MHz (100M), 2,5 MHz (10M)
KontrolTX_EN, TX_ER, RX_DV, RX_ER, CRS (taşıyıcı algılama), COL (çakışma)
YönetimMDC, MDIO (paylaşılan)
Sinyal sayısı16 veri/kontrol + 2 yönetim
Seviyeler5 V / 3,3 V TTL
Erişim mesafesibirkaç cm; MAC başına bir PHY

Hâlâ mikrodenetleyicilerde ve FPGA’larda bulunur; pin sayısı açısından yerini RMII’ye bırakmıştır.

RMII (RMII Consortium spec v1.2)

KalemDeğer
Hızlar10 ve 100 Mb/s
Veri2 bit TXD[1:0], RXD[1:0]
SaatMAC ve PHY tarafından paylaşılan tek bir REF_CLK 50 MHz; bir osilatör, MAC veya PHY tarafından kaynaklanır (PHY-clock-out modu)
KontrolTX_EN, CRS_DV (çoklanmış taşıyıcı algılama + veri geçerli), RX_ER (isteğe bağlı)
Sinyal sayısı7–9
10 Mb/s moduher nibble 50 MHz’de 10× tekrarlanır
Erişim mesafesicm

50 MHz referans saat topolojisi, klasik RMII hatasıdır: SoC, PHY’nin onu sürmesini beklerken PHY’nin harici bir saat beklemesi, sağlıklı bir bağlantı LED’iyle birlikte ölü bir arayüz verir.

GMII (Clause 35)

KalemDeğer
Hızlar1000 Mb/s; 10/100 için MII sinyallemesine geri döner
Veri8 bit TXD[7:0], RXD[7:0]
Saatlergönderim için MAC’ten GTX_CLK 125 MHz; alım için PHY’den RX_CLK 125 MHz; yalnızca 10/100 geri dönüşünde kullanılan PHY’den TX_CLK
KontrolTX_EN, TX_ER, RX_DV, RX_ER, CRS, COL
Sinyal sayısı24 + yönetim
Seviyeler2,5 V (birçoğunda 3,3 V tolere eder)
Erişim mesafesicm; 125 MHz tek veri hızında zamanlama bütçesi sıkı

Günümüzde çoğunlukla bir yonga üzeri veya FPGA arayüzüdür; kartlarda yerini RGMII almıştır.

RGMII (Reduced GMII, HP/Marvell specification v1.3 and v2.0)

KalemDeğer
Hızlar10/100/1000
Veri4 bit TXD[3:0] ve RXD[3:0] çift veri hızı: yükselen kenarda düşük nibble, düşen kenarda yüksek nibble
SaatlerTXC 125 MHz (MAC’ten), RXC 125 MHz (PHY’den); 100M / 10M için 25 / 2,5 MHz
KontrolTX_CTL (yükselen kenarda TX_EN, düşen kenarda TX_EN xor TX_ER), RX_CTL (RX_DV / RX_DV xor RX_ER)
Sinyal sayısı12
Seviyeler2,5 V (v1.3), 1,5 V HSTL veya 1,8 V (v2.0 seçeneği); bazı PHY’lerde 3,3 V
Erişim mesafesi≤ 10–15 cm eşit uzunlukta izler

Gecikme sorunu

RGMII, saatin alıcıda veri kenarlarından 1,5–2,0 ns sonra gelmesini gerektirir (kurulum/tutma penceresi). Bunu elde etmenin üç yolu vardır:

ModGecikmeyi kim eklerDevice-tree phy-modeNotlar
PCB gecikmesi (v1.3)~5 cm ekstra saat izirgmiiklasik, kırılgan
PHY içinde dahili gecikme (RGMII-ID, v2.0)PHY, TX ve RX saatlerine 2 ns eklerrgmii-idgünümüzde en yaygını
MAC/SoC içinde dahili gecikmeSoC eklerMAC tarafı gecikme yazmacıyla rgmii—
KarışıkPHY yalnızca bir yöndergmii-txid, rgmii-rxidyalnızca bir taraf bunu destekliyorsa

Gecikmeyi iki kez (PCB ve PHY) veya hiç eklememek, RGMII’nin karakteristik arızasını üretir: 100M çalışırken 1G’de CRC hatalarıyla veya trafiksiz link up (100M’nin 40 ns’lik bir periyodu vardır ve kaymayı tolere eder). PHY’nin gecikme yazmacını veya phy-mode’u değiştirerek düzeltin.

Bant içi durum

Boşta iken PHY, link, hız ve duplex’i RXD[3:0] üzerinde sürer; böylece MAC, bir MDIO okuması olmadan saat bölücüsünü yeniden yapılandırabilir: RXD[0] link, RXD[2:1] hız (00 = 10, 01 = 100, 10 = 1000), RXD[3] duplex. Bazı MAC’ler bunu yok sayar ve MDIO yoklamasına güvenir; uyuşmayan beklentiler, PHY’de up ve MAC’te down olan bir bağlantı verir.

TBI ve RTBI

Ten-Bit Interface: bir MAC/PCS ile harici bir SerDes veya optik PHY arasındaki 8b/10b kodlu 1000BASE-X sembolleri (125 MHz’de 10 bit, DDR’de RTBI 5 bit ile). Kartlarda artık kullanılmıyor; seri torunu 1000BASE-X/SGMII’dir (SGMII ve seri gigabit).

Karşılaştırma

ArayüzPinler (veri + kontrol)SaatMaks. hızGerilimTipik kullanım
MII16PHY’den 25 MHz100M3,3/5 VMCU’lar, eski sistemler
RMII7–9paylaşılan 50 MHz100M3,3 Vgömülü SoC + PHY
SMIIport başına 2–3125 MHz100M3,3 Vçok portlu PHY’ler (Cisco)
GMII24125 MHz (MAC tx / PHY rx)1G2,5 VFPGA, yonga üzeri
RGMII12125 MHz DDR1G2,5/1,8/1,5 Vkartlarda SoC ↔ PHY
SGMII4 (2 çift)gömülü 1,25 GBd1G (10/100, çoğaltmayla)CMLSoC ↔ PHY, SFP kafesleri

PHY yönetimi: MDIO/MDC

KalemClause 22Clause 45
Adresleme5 bit PHY adresi, 5 bit yazmaç (32 yazmaç)5 bit port, 5 bit aygıt (PMA/PMD, PCS, PHY XS, DTE XS, AN, satıcı), 16 bit yazmaç
Anahtar yazmaçlar0 kontrol (sıfırlama, hız, AN etkinleştirme, loopback), 1 durum (link, AN tamamlandı), 2–3 PHY ID (OUI + model), 4 AN duyurusu, 5 bağlantı ortağı yeteneği, 9/10 1000BASE-T kontrol/durum, 17+ satıcı (RGMII gecikmesi, LED’ler)1.x PMA, 3.x PCS, 7.x AN, 30.x/31.x satıcı
HızMDC ≤ 2,5 MHz (pratikte genellikle daha hızlı)aynı
Linux araçlarımii-tool -v eth0, phytool read eth0/1/0, ethtool eth0; phylib, phylink üzerinden sürücüphytool read eth0/1:1/0

Bunu, MDIO değil I²C üzerinden yönetilen takılabilir modüllerle karşılaştırın (İki telli arayüz). Bir bakır SFP’nin dahili PHY’si istisnadır: MDIO yazmaçlarına, birçok tasarımda modülün I²C’si üzerinden ikincil bir adresten ulaşılabilir; satıcılar 10/100 geri dönüşünü ve otomatik anlaşma davranışını bu şekilde ayarlar.

Yaygın PHY’ler ve arayüzleri

PHY ailesiArayüzlerTipik kart
Marvell 88E1111 / 88E1512 / 88E1510GMII, RGMII, SGMII, TBIyönlendiriciler, bakır SFP modülleri (88E1111)
Realtek RTL8211F / RTL8201RGMII / RMIISBC’ler, tüketici yönlendiricileri
Microchip KSZ9031 / KSZ8081 / LAN8720RGMII / RMII / RMIIendüstriyel, MCU kartları
TI DP83867 / DP83848RGMII, SGMII / MII, RMIIendüstriyel
Broadcom BCM54xxxRGMII, SGMII, QSGMIIkurumsal anahtarlar (dörtlü/sekizli PHY’ler)
Marvell 88E1543 / 88E1548QSGMII dörtlü48 portlu erişim anahtarları

Arayüze göre arızalar

BelirtiArayüzNeden
Hiç link yok, PHY ID sorunsuz okunuyorRMIIREF_CLK yönü/kaynağı uyuşmazlığı
100M çalışıyor, 1G’de trafik yok / CRCRGMIIgecikme modu (ID) yanlış veya iki katına çıkmış
PHY LED’inde link up, MAC down diyorRGMII/SGMIIbir tarafta bant içi durum devre dışı veya MDIO yoklaması yok
1G’de paketlerin yarısı kayboluyorGMII/RGMIIiz uzunluğu kayması, yanlış gerilim seviyesi
PHY, MDIO’da bulunamıyorherhangi biriyanlış PHY adresi (strapping pinleri), MDIO pull-up eksik
Hız 10/100’de takılı kalmışherhangi birisınırlı AN duyuru yazmacı, kablo veya 1G desteği olmayan phy-mode

CodingBox’ta

Bu sayfadaki hiçbir şey modülün EEPROM’u üzerinden işlemez — bakır SFP hariç: onun dahili PHY’si (tipik olarak 88E1111 sınıfı bir parça), CodingBox’ın okuduğu aynı I²C’nin arkasında oturur. Bakır bir modül 1G’de çalışıp 10/100’de çalışmadığında, yanıt A0h kimlik baytlarında değil, o PHY’nin yapılandırmasında ve hostun SGMII/1000BASE-X modundadır (Bakır Ethernet ve DAC, SGMII ve seri gigabit).


Bu materyalde bir yanlışlık veya hata bulursanız ilgili bölümü seçin ve Ctrl+Enter tuşlarına basarak .