CodingBox Documentação

Interfaces independentes de mídia: o lado elétrico da porta

Entre o MAC Ethernet dentro do ASIC do switch ou do controlador da NIC e o meio — par de cobre, fibra, backplane — fica uma interface elétrica padronizada. O IEEE chama essa família de interfaces independentes de mídia (MII): o MAC não se importa se o outro lado é um PHY de cobre, uma gaiola (cage) SFP ou um módulo de 400G, desde que fale a interface combinada. Cada geração do Ethernet adicionou uma: MII e RMII para 10/100, GMII/RGMII/SGMII para gigabit, XGMII/XAUI/XFI/SFI para 10G, e a família AUI (CAUI-4, 400GAUI-8, 800GAUI-8) para tudo desde então. Esta seção as explica do ponto de vista do transceptor: o que chega à gaiola (cage), o que um SFP de cobre precisa emular, e por que uma porta “no modo errado” recusa um módulo perfeitamente bom.

Pilha de camadas MAC → xMII → PCS → PMA/AUI → PMD para uma porta PHY de cobre, um módulo óptico conectável e um SFP de cobre

Por que essa divisão existe

CamadaEstá emInterface para a próxima camada
MAC (enquadramento, endereços)ASIC do switch, controlador da NIC, SoCsubcamada de reconciliação → xMII
PCS (codificação: 8b/10b, 64b/66b, FEC)ASIC/controlador para módulos conectáveis; chip PHY para cobrePMA
PMA / SerDesSerDes do ASIC ou PHYlanes AUI para o módulo ou meio
PMD (laser, driver de cobre)módulo transceptor ou chip PHYfibra / cabo

Nas ópticas conectáveis, o PCS e o SerDes ficam no host; o módulo recebe lanes seriais (SFI, CAUI-4, 400GAUI-8) e converte para luz. No cobre, um chip PHY faz PCS+PMA+PMD e conversa com o MAC por uma interface paralela (RGMII) ou serial (SGMII). Um SFP de cobre coloca esse PHY dentro do módulo, então a gaiola (cage) precisa levar SGMII ou 1000BASE-X até ele (SGMII e gigabit serial).

A escada

InterfaceTaxaFormaSinaisAlcanceDefinido porLocal típico
MII10/100paralela de 4 bits @ 2,5/25 MHz16–18cmIEEE 802.3 Cl. 22MAC legado ↔ PHY
RMII10/1002 bits @ 50 MHz7–9cmRMII ConsortiumSoC embarcado ↔ PHY
SMII / SS-SMII10/1001 bit @ 125 MHz2–3 por portacmCiscoPHYs multiporta
GMII1G (+10/100)8 bits @ 125 MHz24+cmCl. 35MAC ↔ PHY, hoje majoritariamente on-chip
RGMII1G (+10/100)DDR de 4 bits @ 125 MHz12≤ 10–15 cmHP/Marvell RGMII v1.3/2.0SoC ↔ PHY de cobre em switches/roteadores pequenos
TBI / RTBI1G10 bits @ 125 MHz20+cmCl. 36MAC ↔ SerDes externo (legado)
1000BASE-X (SerDes)1G1 lane a 1,25 GBd, 8b/10b2 pares diferenciais50 cm+Cl. 36/37o que uma gaiola (cage) SFP carrega a 1G
SGMII10/100/10001 lane a 1,25 GBd, 8b/10b2 pares (+ clocks)50 cm+Cisco SGMII v1.8MAC ↔ PHY de cobre; MAC ↔ SFP de cobre
2500BASE-X2,5G1,25 × taxa do SGMII/1000BASE-X: 3,125 GBd2 pares50 cmde factoSFP de 2,5G, sticks PON
QSGMII4 × 1G1 lane a 5 GBd2 pares50 cmCiscoASIC ↔ PHY de cobre quádruplo
USXGMII10M–10G1 lane a 10,3125 GBd, 64b/66b2 pares30 cmCisco/MarvellASIC ↔ PHY mGig; SFP+ 10GBASE-T
XGMII10GDDR de 32 bits @ 156,25 MHz74< 7 cmCl. 46on-chip
XAUI10G4 × 3,125 GBd, 8b/10b8 pares50 cmCl. 47módulos XENPAK/X2, PHYs legados
XFI / SFI10G1 × 10,3125 GBd, 64b/66b2 pares20–30 cmXFP MSA / SFF-8431gaiola (cage) XFP / SFP+
10GBASE-KR10G1 × 10,3125 GBd2 pares1 m de backplaneCl. 72backplanes, PHYs 10GBASE-T
25GAUI25G1 × 25,78 GBd NRZ2 paresC2MAnnex 109A/Bgaiola (cage) SFP28
XLAUI / CAUI-1040G / 100G4 / 10 × 10,3125 GBd8 / 20 paresC2C/C2MAnnex 83A/BQSFP+ / CFP, CXP
CAUI-4100G4 × 25,78 GBd NRZ8 paresC2MAnnex 83D/Egaiola (cage) QSFP28
50GAUI-2 / -150G2 × 26,5625 NRZ / 1 × 26,5625 GBd PAM44 / 2 paresC2MAnnex 135B–ESFP56
100GAUI-4 / -2 / -1100G4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4C2MAnnex 135D–G, 120GQSFP28 (variantes PAM4), QSFP112
200GAUI-8 / -4 / -2200G8 × 26,5 PAM4 / 4 × 53 / 2 × 106C2MAnnex 120C–GQSFP56, QSFP112
400GAUI-16 / -8 / -4400G16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4C2MAnnex 120B–GCFP8 / QSFP-DD, OSFP / QSFP112, OSFP
800GAUI-8 / -4800G8 × 106 PAM4 / 4 × 212 PAM4C2M802.3df / djOSFP, QSFP-DD800 / OSFP224, OSFP-XD

Detalhes: MII, RMII, GMII, RGMII, SGMII, 1000BASE-X, QSGMII, USXGMII, XGMII, XAUI, SFI e a família AUI.

Onde cada uma fica

DispositivoMAC → …… → meio
Switch de cobre 1G de 48 portasASIC → QSGMII → PHYs quádruplosPHYs → RJ45
Roteador pequeno / placa SoCSoC → RGMII ou SGMII → PHYPHY → RJ45; ou SoC → 1000BASE-X/SGMII → gaiola (cage) SFP
Porta SFP+/SFP28 de switch ou NIC 10G/25GSerDes do ASIC → SFI / 25GAUI → gaiola (cage)módulo → fibra ou DAC
Porta QSFP28 100GASIC → CAUI-4 (4 × 25G) → gaiola (cage)módulo → 4 λ ou 4 fibras
Porta QSFP-DD / OSFP 400GASIC → 400GAUI-8 (8 × 50G PAM4) → gaiola (cage)gearbox do módulo → 4 × 100G óptico
Porta OSFP 800GASIC → 800GAUI-8 (8 × 100G PAM4) → gaiola (cage)módulo → 8 × 100G (DR8) ou 4 × 200G
SFP 1000BASE-T de cobrehost 1000BASE-X ou SGMII → PHY do móduloPHY → RJ45
SFP+ 10GBASE-Thost SFI (10GBASE-R) → PHY do módulo (classe USXGMII)PHY → RJ45
Porta de switch RJ45 multigigASIC → USXGMII → PHY mGig2,5/5/10GBASE-T

Gerenciamento de PHYs vs. módulos

Chip PHY de cobreMódulo conectável
BarramentoMDIO/MDC (Clause 22: endereço de 5 bits, 32 registradores de 16 bits; Clause 45: pares dispositivo/registrador para 10G+)I²C de dois fios (A0h/A2h, páginas CMIS) (Interface de dois fios)
Status do enlaceregistrador de status do PHY (reg 1), in-band em RGMII/SGMIIpinos e flags LOS/LOL, DDM
Ferramentas Linuxmii-tool, phytool, ethtool (driver do PHY)ethtool -m, i2c-dev (Ferramentas de NIC)
Peculiaridade do SFP de cobreo PHY dentro do módulo é acessível por I²C em um segundo endereço (por exemplo, 0xAC em módulos baseados no Marvell 88E1111) ou via páginas do fabricante (MDIO tunelado)

Por que isso importa para o trabalho com transceptores

  • Modo da gaiola (cage). Uma porta SFP de 1G pode estar no modo 1000BASE-X ou SGMII; um SFP de cobre se comporta de forma diferente em cada um, e clientes 10/100 só funcionam em SGMII (ou com um módulo que esconde a diferença) (SGMII e gigabit serial).
  • Taxa e codificação. O módulo precisa aceitar a taxa de lane e a codificação do host: SFI a 10,3125 GBd, CAUI-4 a 25,78, 400GAUI-8 PAM4. É isso que os códigos de conformidade e as aplicações CMIS anunciam (Códigos de conformidade).
  • Quem retemporiza. Módulos SFP+ costumam ser lineares/limitantes com equalização do host; módulos 25G+ incorporam CDRs; módulos PAM4 incorporam DSPs; módulos LPO voltam a ser lineares e dependem do SerDes do host (CDR, DSP e LPO).
  • Lanes elétricas ≠ lanes ópticas. O 400G-FR4 usa 8 lanes elétricas e emite 4 comprimentos de onda; o gearbox fica no módulo (XGMII, XAUI e a família AUI).
  • O Linux escolhe a interface a partir da EEPROM. A camada SFP do kernel lê os bytes 3–10, 12 e 36 para decidir entre 1000BASE-X, SGMII, 2500BASE-X, 10GBASE-R. Um byte de conformidade errado faz um módulo bom estabelecer o enlace no modo errado (Mapa de memória).

Leitura adicional

  • MII, RMII, GMII, RGMII — as interfaces paralelas: pinos, clocks, modos de atraso do RGMII, status in-band, gerenciamento de PHY por MDIO, falhas típicas.
  • SGMII, 1000BASE-X, QSGMII, USXGMII — interfaces seriais para PHYs e gaiolas (cage) SFP: diferenças de autonegociação, SFPs de cobre, 100BASE-FX, 2,5G, multigig, como o Linux escolhe o modo.
  • XGMII, XAUI, XFI/SFI e a família AUI — de 10G a 800G: contagem de lanes, C2C vs. C2M, pontos de conformidade, mapeamento OIF CEI, mapeamento de lanes elétricas para ópticas, módulos retemporizados vs. lineares.

No CodingBox

Os bytes que o CodingBox mostra são a declaração do módulo sobre quais interfaces de host ele suporta: códigos de conformidade (1000BASE-T → cobre compatível com SGMII/1000BASE-X), taxa de bits nominal, byte de codificação (8b/10b vs. 64b/66b vs. PAM4), bits de CDR e IDs de interface de host do CMIS. Editá-los muda qual interface o host vai tentar (Check transceiver, Códigos de conformidade).


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .