SGMII, 1000BASE-X, QSGMII, USXGMII: interfejsy szeregowe do PHY i SFP · Interfejsy elektryczne: rodzina MII i AUI · Karty sieciowe i przełączniki · Dokumentacja · CodingBox
CodingBox Dokumentacja

SGMII, 1000BASE-X, QSGMII, USXGMII: interfejsy szeregowe do PHY i SFP

Każda klatka SFP 1G przenosi linię szeregową 1,25 GBd, a ta linia może mówić dwoma dialektami, które na oscyloskopie wyglądają identycznie: 1000BASE-X — interfejs IEEE, którego oczekuje moduł światłowodowy, i SGMII — wariant Cisco, który dodaje 10/100 Mb/s i inną autonegocjację. Miedziane SFP żyją na granicy między nimi, i większość zgłoszeń typu „miedziany SFP łączy się przy 1G, ale moja kamera 100 Mb/s nie działa” to właśnie niezgodność dialektów. Ta strona opisuje oba gigabitowe dialekty, ich autonegocjację, 2500BASE-X, wieloportowy QSGMII, USXGMII dla multigigabitu i 10GBASE-T SFP+ oraz sposób, w jaki Linux i przełączniki wybierają tryb.

1000BASE-X: natywny interfejs SFP (Clause 36/37)

PozycjaWartość
Szybkość1,25 GBd, 8b/10b → 1000 Mb/s danych użytkowych
Linie1 para różnicowa w każdym kierunku (CML, sprzężenie AC)
Kodowanie8b/10b z przecinkami /K28.5/, zestawy uporządkowane /C1/ /C2/ (konfiguracja), /I1/ /I2/ (bezczynność)
AutonegocjacjaClause 37: 16-bitowe słowo konfiguracyjne wymieniane w zestawach uporządkowanych /C/ — dupleks pełny/półpełny, pauza (symetryczna/asymetryczna), zdalna usterka, potwierdzenie. Brak pola szybkości: 1000BASE-X to tylko 1G
GdzieSerDes przełącznika/NIC → klatka SFP; światłowodowy SFP (SX/LX/ZX/BiDi/CWDM) przekazuje go wprost do lasera; PCS znajduje się po stronie hosta

Światłowodowy SFP jest przezroczysty: to, co koduje host, wychodzi jako światło. Dlatego 1-gigabitowy moduł światłowodowy nie ma „trybu” — ale ma go port, i musi to być 1000BASE-X (często pokazywany jako tryb „SerDes” lub „fiber”, speed nonegotiate na Cisco, gdy druga strona nie ma AN).

SGMII: gigabit plus 10/100 (specyfikacja Cisco SGMII v1.8)

PozycjaWartość
Szybkośćta sama 1,25 GBd, 8b/10b
Obsługa 10/100każdy bajt danych jest powielany 100× (10 Mb/s) lub 10× (100 Mb/s), dzięki czemu linia pozostaje przy 1,25 GBd
Linie2 pary; opcjonalne pary zegarowe DDR 625 MHz (TX_CLK/RX_CLK) — większość implementacji SerDes działa bez zegara
Autonegocjacjasłowo kontrolne SGMII (również przenoszone w zestawach uporządkowanych /C/, 16 bitów): bit 15 łącze, bity 11–10 szybkość (10/100/1000), bit 12 dupleks, bit 14 potwierdzenie — wysyłane PHY → MAC, aby poinformować MAC, co wynegocjowała strona miedziana. Niekompatybilne z zawartością Clause 37
GdzieMAC ↔ miedziany PHY (Marvell 88E15xx, TI DP83867, Broadcom), SoC ↔ klatka SFP na płytkach, które mają obsługiwać miedziany SFP, wnętrze miedzianego SFP 1000BASE-T

SGMII to interfejs MAC–PHY; „autonegocjacja” zachodzi dwukrotnie — Clause 28 na skrętce między PHY a partnerem łącza, a potem słowo kontrolne SGMII zgłasza wynik do MAC. Gdy host oczekuje Clause 37, a otrzymuje słowo SGMII (lub odwrotnie), AN nigdy się nie kończy; zwykłym obejściem jest wyłączenie AN na porcie (speed nonegotiate, no negotiation auto, autoneg off) — wyłącznie przy 1G.

Miedziane SFP pomiędzy nimi

Tryb portu hostaZachowanie miedzianego SFPKlienci 10/100
1000BASE-X, AN wł.PHY modułu musi odpowiadać zgodnie z Clause 37 — wiele to potrafi (emuluje), niektóre nie → brak łącza, dopóki AN nie zostanie wyłączonenie (brak pola szybkości)
1000BASE-X, AN wył.łącze przy 1G, gdy strona miedziana wynegocjuje 1Gnie
SGMII, AN wł.PHY zgłasza 10/100/1000 przez słowo kontrolnetak
SGMII, AN wył.stałe 1Gnie

Miedziane moduły SFP oparte na Marvell 88E1111 domyślnie pracują w SGMII lub 1000BASE-X, zależnie od EEPROM/zworki konfiguracyjnej ustawionej przy produkcji; producenci sprzedają warianty „SGMII” i „SerDes” tego samego modułu, a niektóre da się przełączyć przez rejestry PHY dostępne przez I²C modułu. Porty przełącznika, które wymieniają „obsługa 1000BASE-T SFP”, realizują na tych klatkach SGMII (Miedziany Ethernet i DAC).

SFP 100BASE-FX

Światłowodowy SFP 100 Mb/s (100BASE-FX, 1310 nm, 2 km) wymaga od hosta prowadzenia linii przy 125 MBd z 4b/5b — to zupełnie inny PCS. Działają tylko porty, które jawnie obsługują „100M SFP” (wiele przełączników kampusowych na wybranych portach, większość routerów; nieliczne przełączniki data center); na pozostałych moduł jest wykrywany, ale nigdy się nie łączy. Niektóre hosty realizują 100BASE-FX przez powielanie SGMII z zewnętrznym PHY w module (SFP „100M over SGMII”).

2500BASE-X

PozycjaWartość
Szybkość3,125 GBd, 8b/10b → 2,5 Gb/s
Standardbrak ze strony IEEE (de facto, 2,5 × 1000BASE-X); Linux phy-interface-type = "2500base-x"
ANw stylu Clause 37, często wyłączone
Gdziemoduły SFP 2,5G (miedziane 2.5GBASE-T, światłowodowe 2,5G), sticki ONU GPON/EPON w stronę hosta (downstream 2,5G), uplinki punktów dostępowych Wi-Fi 6, niektóre klatki SFP przełączników 2,5G

Odpowiednikami IEEE dla multigigabitu są 2.5GBASE-X/5GBASE-R (802.3bz), ale większość układów posługuje się 2500BASE-X lub USXGMII.

QSGMII: cztery porty na jednej linii

PozycjaWartość
Szybkość5 GBd, 8b/10b; 4 kanały SGMII multipleksowane w czasie
Linie2 pary na cztery porty
GdzieASIC przełącznika ↔ poczwórny miedziany PHY (48-portowe przełączniki dostępowe: 12 linii QSGMII zamiast 48 SGMII), niektóre konstrukcje poczwórnych klatek SFP przez zewnętrzny SerDes
WariantyQSGMII (Cisco), a także „PSGMII” (5 portów) w niektórych SoC Qualcomm/Realtek

W typowych konstrukcjach niewidoczny na klatce; ma znaczenie, gdy płytka z poczwórnym PHY udostępnia porty combo SFP, których tryb jest dziedziczony z kanału PHY.

USXGMII: od 10 Mb/s do 10 Gb/s na jednej linii 10G

PozycjaWartość
Szybkość10,3125 GBd, 64b/66b (elektrycznie 10GBASE-R)
Szybkości10M, 100M, 1G, 2,5G, 5G, 10G przez powielanie symboli (jak SGMII w powiększonej skali)
SpecyfikacjaCisco USXGMII (v1.2), szeroko przyjęta; Linux usxgmii
WieloportowośćUSXGMII-M: 4 × 2,5G, 2 × 5G, 4 × 1G+… na jednej linii 10G (jak QSGMII)
ANsłowo AN USXGMII w stanie bezczynności 64b/66b, zgłasza szybkość/dupleks/łącze
GdzieASIC ↔ PHY multigig (porty 2,5/5/10GBASE-T), moduły 10GBASE-T SFP+ (wewnętrzny PHY, np. Marvell AQR/Broadcom)

Moduł 10GBASE-T SFP+ prezentuje zwykłemu portowi SFP+ 10GBASE-R (SFI) i łączy się przy 10G; to, czy potrafi dodatkowo obsłużyć klientów 1G/2,5G/5G, zależy od tego, czy host obsługuje na tej klatce adaptację szybkości USXGMII — większość przełączników tego nie robi, więc moduł działa wyłącznie przy 10G albo wykonuje adaptację wewnętrznie i zgłasza hostowi 10G, podczas gdy strona miedziana pracuje wolniej (Prędkość i szybkość).

Jak host wybiera tryb

HostMechanizm
Linux phylink/SFPodczytuje bajty A0h 3–10 (zgodność), 12 (szybkość znamionowa), 36 (rozszerzona) oraz bit 3 bajtu 6 (1000BASE-T): 1000BASE-T → SGMII (lub 1000BASE-X, jeśli SoC nie ma SGMII); 1000BASE-SX/LX → 1000BASE-X; BR 3,1 GBd → 2500BASE-X; kody 10G → 10GBASE-R; miedziany PHY wewnątrz modułu jest sondowany przez I²C (adres 0x56/0xAC) i sterowany przez phylib
NOS przełącznikadomyślny tryb portu zależny od platformy (większość klatek SFP 1G obsługuje SGMII; SFP+/SFP28 przy 1G często tylko 1000BASE-X), polecenia speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode
Sterowniki NICIntel: porty SFP+ obsługują 1G wyłącznie w 1000BASE-X (bez miedzianego SFP 10/100); Mellanox: 1G przez 1000BASE-X w niektórych modelach; Broadcom: zależnie od firmware (Porty NIC)
Miedziany SFPzworka trybu PHY/EEPROM (wariant SGMII a SerDes), zachowanie AN ustawione przez firmware producenta

Tabela niezgodności

ObjawPrzyczynaRozwiązanie
Miedziany SFP: klienci 1G działają, 10/100 nigdy się nie łączyport w 1000BASE-Xprzejść na port obsługujący SGMII albo użyć modułu, który ukrywa 10/100 za adaptacją 1G do hosta
Światłowodowy SFP łączy się tylko przy wyłączonym ANdruga strona bez Clause 37 (konwerter mediów, niektóre ONU) albo słowo SGMII z modułu miedzianegospeed nonegotiate / autoneg off
SFP 100BASE-FX wykryty, brak łączahost nie ma trybu SerDes 100Mużyć portu obsługującego 100M SFP albo modułu 100BASE-FX-over-SGMII
SFP 2,5G łączy się przy 1G albo wcalehost nie ma 2500BASE-Xwybrać klatkę obsługującą 2,5G albo moduł z fallbackiem szybkości
Stick ONU łączy się, a potem traci łączeoczekiwanie 2500BASE-X a 1000BASE-X, ANustawić host na 2500BASE-X, AN wył. (Optyka PON)
10GBASE-T SFP+ łączy się tylko przy 10Gbrak USXGMII po stronie hostazaakceptować wyłącznie 10G albo użyć modułu z wewnętrzną adaptacją szybkości
Linux: moduł działa na jednej płytce, a na innej niephylink wybrał inny interfejs na podstawie EEPROM; SoC nie ma tego trybusprawdzić w dmesg wpis sfp: module … interface; poprawić bajty zgodności albo device tree

W CodingBox

Bajty sterujące wyborem hosta leżą wszystkie w A0h: kody zgodności 3–10 (1000BASE-T, SX, LX, kody 10G), znamionowa szybkość bitowa 12, kodowanie 11 (8b/10b a 64b/66b), rozszerzona zgodność 36. Miedziany moduł zakodowany jako 1000BASE-SX zostanie potraktowany jako światłowodowy i straci ścieżkę 10/100; światłowodowy moduł z przypadkowym bitem 1000BASE-T będzie sterowany jak SGMII. CodingBox pokazuje i edytuje te pola (Check transceiver, Kody zgodności).


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .