SGMII, 1000BASE-X, QSGMII, USXGMII: PHY ve SFP’ye seri arayüzler
Her 1G SFP kafesi 1,25 GBd’lik seri bir şerit taşır ve bu şerit, bir osiloskopta birbirinin aynı görünen iki lehçe konuşabilir: bir fiber modülün beklediği IEEE arayüzü 1000BASE-X ve 10/100 Mb/s ile farklı bir otomatik anlaşma ekleyen Cisco’nun türevi SGMII. Bakır SFP’ler ikisi arasındaki sınırda yaşar ve “bakır SFP 1G’de bağlanıyor ama 100 Mb/s kameram bağlanmıyor” taleplerinin çoğu bir lehçe uyuşmazlığıdır. Bu sayfa iki gigabit lehçesini, bunların otomatik anlaşmasını, 2500BASE-X’i, çok portlu QSGMII’yi, multigig için USXGMII ile 10GBASE-T SFP+’ı ve Linux ile anahtarların modu nasıl seçtiğini ele alır.
1000BASE-X: yerel SFP arayüzü (Clause 36/37)
| Öğe | Değer |
|---|---|
| Hız | 1,25 GBd, 8b/10b → 1000 Mb/s veri yükü |
| Şeritler | her yönde 1 diferansiyel çift (CML, AC bağlaşımlı) |
| Kodlama | /K28.5/ virgül karakterleriyle 8b/10b, sıralı kümeler /C1/ /C2/ (yapılandırma), /I1/ /I2/ (boşta) |
| Otomatik anlaşma | Clause 37: /C/ sıralı kümelerinde değiş tokuş edilen 16 bit yapılandırma sözcüğü — tam/yarı çift yönlü, duraklama (simetrik/asimetrik), uzak arıza, onay. Hız alanı yok: 1000BASE-X yalnızca 1G’dir |
| Nerede | anahtar/NIC SerDes’i → SFP kafesi; fiber SFP (SX/LX/ZX/BiDi/CWDM) bunu doğrudan lazere iletir; PCS host’ta bulunur |
Bir fiber SFP şeffaftır: host neyi kodlarsa ışık olarak o çıkar. Bir 1G fiber modülün “modu” olmamasının nedeni budur — ama portun vardır ve bu 1000BASE-X olmalıdır (genellikle “SerDes” veya “fiber” modu olarak gösterilir; karşı uçta AN yoksa Cisco’da speed nonegotiate).
SGMII: gigabit artı 10/100 (Cisco SGMII spesifikasyonu v1.8)
| Öğe | Değer |
|---|---|
| Hız | aynı 1,25 GBd, 8b/10b |
| 10/100 desteği | hat 1,25 GBd’de kalması için her veri baytı 100× (10 Mb/s) veya 10× (100 Mb/s) çoğaltılır |
| Şeritler | 2 çift; isteğe bağlı 625 MHz DDR saat çiftleri (TX_CLK/RX_CLK) — çoğu SerDes uygulaması saatsiz çalışır |
| Otomatik anlaşma | SGMII kontrol sözcüğü (yine /C/ sıralı kümelerinde taşınır, 16 bit): bit 15 bağlantı, bit 11–10 hız (10/100/1000), bit 12 çift yönlülük, bit 14 onay — bakır tarafın ne anlaştığını MAC’e bildirmek için PHY → MAC yönünde gönderilir. Clause 37 içeriğiyle uyumlu değildir |
| Nerede | MAC ↔ bakır PHY (Marvell 88E15xx, TI DP83867, Broadcom), bakır SFP desteği isteyen kartlarda SoC ↔ SFP kafesi, bakır 1000BASE-T SFP’nin iç kısmı |
SGMII bir MAC–PHY arayüzüdür; “otomatik anlaşma” iki kez gerçekleşir — önce PHY ile bağlantı ortağı arasındaki bükümlü çiftte Clause 28, ardından SGMII kontrol sözcüğü sonucu MAC’e bildirir. Bir host Clause 37 beklerken bir SGMII sözcüğü alırsa (veya tersi olursa), bağlantı AN’ı hiçbir zaman tamamlamaz; porttaki AN’ı devre dışı bırakmak (speed nonegotiate, no negotiation auto, autoneg off) olağan çözümdür — yalnızca 1G’de.
İkisi arasındaki bakır SFP’ler
| Host port modu | Bakır SFP davranışı | 10/100 istemciler |
|---|---|---|
| 1000BASE-X, AN açık | modülün PHY’si Clause 37’ye yanıt vermelidir — çoğu verir (taklit eder), bazıları vermez → AN kapatılana kadar bağlantı yok | hayır (hız alanı yok) |
| 1000BASE-X, AN kapalı | bakır taraf 1G’de anlaştığında 1G’de bağlantı | hayır |
| SGMII, AN açık | PHY, 10/100/1000’i kontrol sözcüğüyle bildirir | evet |
| SGMII, AN kapalı | sabit 1G | hayır |
Marvell 88E1111 tabanlı bakır SFP modülleri, üretimde ayarlanan bir yapılandırma EEPROM’una/strap’ine bağlı olarak varsayılan olarak SGMII veya 1000BASE-X’tir; satıcılar aynı modülün “SGMII” ve “SerDes” türevlerini satar ve bazıları modülün I²C’si üzerinden erişilebilen PHY yazmaçları aracılığıyla değiştirilebilir. “1000BASE-T SFP destekleniyor” diye listelenen anahtar portları, bu kafeslerde SGMII uygular (Bakır Ethernet ve DAC).
100BASE-FX SFP’ler
100 Mb/s’lik bir fiber SFP’nin (100BASE-FX, 1310 nm, 2 km) çalışması için hostun şeridi 4b/5b ile 125 MBd’de çalıştırması gerekir — tamamen farklı bir PCS. Yalnızca açıkça “100M SFP” destekleyen portlar (seçili portlarda birçok kampüs anahtarı, çoğu yönlendirici; az sayıda veri merkezi anahtarı) çalışır; diğerlerinde modül algılanır ama hiçbir zaman bağlanmaz. Bazı hostlar 100BASE-FX’i, modülde harici bir PHY ile SGMII çoğaltması üzerinden uygular (“SGMII üzerinden 100M” SFP’ler).
2500BASE-X
| Öğe | Değer |
|---|---|
| Hız | 3,125 GBd, 8b/10b → 2,5 Gb/s |
| Standart | IEEE’den yok (fiilen, 1000BASE-X’in 2,5 katı); Linux phy-interface-type = "2500base-x" |
| AN | Clause 37 tarzı, genellikle devre dışı |
| Nerede | 2,5G SFP modülleri (2.5GBASE-T bakır, 2,5G fiber), hosta doğru GPON/EPON ONU çubukları (2,5G aşağı yön), Wi-Fi 6 AP üst bağlantıları, bazı 2,5G anahtar SFP kafesleri |
Multigig için IEEE eşdeğerleri 2.5GBASE-X/5GBASE-R’dir (802.3bz), ama çoğu silikon 2500BASE-X veya USXGMII konuşur.
QSGMII: tek şeritte dört port
| Öğe | Değer |
|---|---|
| Hız | 5 GBd, 8b/10b; zaman çoklamalı 4 SGMII kanalı |
| Şeritler | dört port için 2 çift |
| Nerede | anahtar ASIC’i ↔ dörtlü bakır PHY (48 portlu erişim anahtarları: 48 SGMII yerine 12 QSGMII şeridi), harici SerDes üzerinden bazı dört portlu SFP kafesi tasarımları |
| Türevler | QSGMII (Cisco), bazı Qualcomm/Realtek SoC’lerinde ayrıca “PSGMII” (5 port) |
Normal tasarımlarda bir kafeste görünmez; modu PHY kanalından devralınan SFP kombo portları sunan dörtlü PHY’li bir kartta önem kazanır.
USXGMII: tek bir 10G şeritte 10 Mb/s’den 10 Gb/s’ye
| Öğe | Değer |
|---|---|
| Hız | 10,3125 GBd, 64b/66b (10GBASE-R elektriksel) |
| Hızlar | sembol çoğaltmasıyla (SGMII’nin büyütülmüş hali gibi) 10M, 100M, 1G, 2,5G, 5G, 10G |
| Spesifikasyon | Cisco USXGMII (v1.2), yaygın olarak benimsendi; Linux usxgmii |
| Çok portlu | USXGMII-M: tek bir 10G şerit üzerinden 4 × 2,5G, 2 × 5G, 4 × 1G+… (QSGMII gibi) |
| AN | 64b/66b boştayken USXGMII AN sözcüğü, hız/çift yönlülük/bağlantıyı bildirir |
| Nerede | ASIC ↔ multigig PHY (2,5/5/10GBASE-T portları), 10GBASE-T SFP+ modülleri (iç PHY, ör. Marvell AQR/Broadcom) |
Bir 10GBASE-T SFP+ modülü, normal bir SFP+ portuna 10GBASE-R (SFI) sunar ve 10G’de bağlanır; 1G/2,5G/5G istemcilere de ayrıca hizmet verip veremeyeceği, hostun o kafeste USXGMII hız uyarlamasını desteklemesine bağlıdır — çoğu anahtar desteklemez, bu yüzden modül yalnızca 10G’de çalışır ya da uyarlamayı içeride yaparak bakır taraf daha yavaş çalışırken hosta 10G bildirir (Hız ve oran).
Host modu nasıl seçer
| Host | Mekanizma |
|---|---|
| Linux phylink/SFP | A0h bayt 3–10’u (uyumluluk), 12’yi (nominal hız), 36’yı (genişletilmiş) ve 6. bayt bit 3’ü (1000BASE-T) okur: 1000BASE-T → SGMII (SoC’de SGMII yoksa 1000BASE-X); 1000BASE-SX/LX → 1000BASE-X; BR 3,1 GBd → 2500BASE-X; 10G kodları → 10GBASE-R; modülün içindeki bakır PHY, I²C üzerinden (adres 0x56/0xAC) sorgulanır ve phylib tarafından sürülür |
| Anahtar NOS’u | platforma göre port varsayılanı (çoğu 1G SFP kafesi = SGMII uyumlu; 1G’de SFP+/SFP28 genellikle yalnızca 1000BASE-X), speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode komutları |
| NIC sürücüleri | Intel: SFP+ portları 1G’yi yalnızca 1000BASE-X’te destekler (10/100 bakır SFP yok); Mellanox: bazı modellerde 1000BASE-X üzerinden 1G; Broadcom: ürün yazılımına göre (NIC portları) |
| Bakır SFP | PHY modu strap’i/EEPROM’u (SGMII’ye karşı SerDes türevi), AN davranışı satıcı ürün yazılımınca ayarlanır |
Uyuşmazlık tablosu
| Belirti | Neden | Çözüm |
|---|---|---|
| Bakır SFP: 1G istemciler sorunsuz, 10/100 hiç bağlanmıyor | port 1000BASE-X’te | SGMII uyumlu bir porta geçin veya 10/100’ü 1G’den hosta uyarlamanın arkasına gizleyen bir modül kullanın |
| Fiber SFP yalnızca AN kapalıyken bağlanıyor | karşı uçta Clause 37 yok (medya dönüştürücü, bazı ONU’lar) veya bakır bir modülden SGMII sözcüğü | speed nonegotiate / autoneg off |
| 100BASE-FX SFP algılanıyor, bağlantı yok | hostta 100M SerDes modu yok | 100M SFP destekleyen bir port veya 100BASE-FX-SGMII üzerinden modül kullanın |
| 2,5G SFP 1G’de bağlanıyor ya da hiç bağlanmıyor | hostta 2500BASE-X yok | 2,5G uyumlu bir kafes veya hız düşürmeli bir modül seçin |
| ONU çubuğu bağlanıyor, sonra düşüyor | 2500BASE-X’e karşı 1000BASE-X beklentisi, AN | hostu 2500BASE-X’e, AN’ı kapalıya ayarlayın (PON optiği) |
| 10GBASE-T SFP+ yalnızca 10G’de bağlanıyor | hostta USXGMII yok | yalnızca 10G’yi kabul edin veya iç hız uyarlamalı bir modül kullanın |
| Linux: modül bir kartta çalışıyor, diğerinde çalışmıyor | phylink, EEPROM’dan farklı bir arayüz seçti; SoC’de o mod yok | sfp: module … interface için dmesg’i kontrol edin; uyumluluk baytlarını veya cihaz ağacını düzeltin |
CodingBox’ta
Hostun seçimini yönlendiren baytların tümü A0h’dedir: uyumluluk kodları 3–10 (1000BASE-T, SX, LX, 10G kodları), nominal bit hızı 12, kodlama 11 (8b/10b’ye karşı 64b/66b), genişletilmiş uyumluluk 36. 1000BASE-SX olarak kodlanmış bir bakır modül fiber olarak ele alınır ve 10/100 yolunu kaybeder; başıboş bir 1000BASE-T biti olan bir fiber modül ise SGMII olarak sürülür. CodingBox bu alanları gösterir ve düzenler (Check transceiver, Uyumluluk kodları).