Giao diện độc lập với môi trường: phía điện của cổng
Giữa MAC Ethernet bên trong ASIC switch hay bộ điều khiển NIC và môi trường truyền — cặp đồng, sợi quang, backplane — có một giao diện điện đã chuẩn hóa. IEEE gọi họ giao diện này là giao diện độc lập với môi trường truyền (MII): MAC không quan tâm phía bên kia là PHY đồng, cage SFP hay module 400G, miễn là nó nói đúng giao diện đã thống nhất. Mỗi thế hệ Ethernet lại thêm một giao diện: MII và RMII cho 10/100, GMII/RGMII/SGMII cho gigabit, XGMII/XAUI/XFI/SFI cho 10G, và họ AUI (CAUI-4, 400GAUI-8, 800GAUI-8) cho mọi thứ từ đó về sau. Phần này giải thích chúng từ góc nhìn của transceiver — những gì đến cage, những gì một SFP đồng phải mô phỏng, và vì sao một cổng “sai chế độ” từ chối một module hoàn toàn tốt.
Vì sao có sự phân tách này
| Lớp | Nằm ở | Giao diện tới lớp kế tiếp |
|---|---|---|
| MAC (đóng khung, địa chỉ) | ASIC switch, bộ điều khiển NIC, SoC | lớp con hòa giải → xMII |
| PCS (mã hóa: 8b/10b, 64b/66b, FEC) | ASIC/bộ điều khiển cho module cắm rút; chip PHY cho đồng | PMA |
| PMA / SerDes | SerDes của ASIC hoặc PHY | làn AUI tới module hoặc môi trường truyền |
| PMD (laser, driver đồng) | module transceiver hoặc chip PHY | sợi quang / cáp |
Với quang cắm rút, PCS và SerDes nằm ở phía host; module chỉ nhận các làn nối tiếp (SFI, CAUI-4, 400GAUI-8) và chuyển đổi thành ánh sáng. Với đồng, một chip PHY đảm nhận PCS+PMA+PMD và nói chuyện với MAC qua giao diện song song (RGMII) hoặc nối tiếp (SGMII). Một SFP đồng đặt PHY đó bên trong module, nên cage phải mang SGMII hoặc 1000BASE-X tới nó (SGMII và serial gigabit).
Bậc thang
| Giao diện | Tốc độ | Dạng | Tín hiệu | Cự ly | Được định nghĩa bởi | Nơi dùng phổ biến |
|---|---|---|---|---|---|---|
| MII | 10/100 | song song 4 bit @ 2,5/25 MHz | 16–18 | cm | IEEE 802.3 Cl. 22 | MAC ↔ PHY thế hệ cũ |
| RMII | 10/100 | 2 bit @ 50 MHz | 7–9 | cm | RMII Consortium | SoC nhúng ↔ PHY |
| SMII / SS-SMII | 10/100 | 1 bit @ 125 MHz | 2–3 mỗi cổng | cm | Cisco | PHY đa cổng |
| GMII | 1G (+10/100) | 8 bit @ 125 MHz | 24+ | cm | Cl. 35 | MAC ↔ PHY, ngày nay chủ yếu nằm trên chip |
| RGMII | 1G (+10/100) | DDR 4 bit @ 125 MHz | 12 | ≤ 10–15 cm | HP/Marvell RGMII v1.3/2.0 | SoC ↔ PHY đồng trên switch/router nhỏ |
| TBI / RTBI | 1G | 10 bit @ 125 MHz | 20+ | cm | Cl. 36 | MAC ↔ SerDes ngoài (thế hệ cũ) |
| 1000BASE-X (SerDes) | 1G | 1 làn 1,25 GBd, 8b/10b | 2 cặp vi sai | 50 cm+ | Cl. 36/37 | những gì cage SFP mang ở tốc độ 1G |
| SGMII | 10/100/1000 | 1 làn 1,25 GBd, 8b/10b | 2 cặp (+ xung nhịp) | 50 cm+ | Cisco SGMII v1.8 | MAC ↔ PHY đồng; MAC ↔ SFP đồng |
| 2500BASE-X | 2,5G | 1,25 × tốc độ SGMII/1000BASE-X: 3,125 GBd | 2 cặp | 50 cm | trên thực tế | SFP 2,5G, PON stick |
| QSGMII | 4 × 1G | 1 làn 5 GBd | 2 cặp | 50 cm | Cisco | ASIC ↔ PHY đồng bốn kênh |
| USXGMII | 10M–10G | 1 làn 10,3125 GBd, 64b/66b | 2 cặp | 30 cm | Cisco/Marvell | ASIC ↔ PHY mGig; SFP+ 10GBASE-T |
| XGMII | 10G | DDR 32 bit @ 156,25 MHz | 74 | < 7 cm | Cl. 46 | trên chip |
| XAUI | 10G | 4 × 3,125 GBd, 8b/10b | 8 cặp | 50 cm | Cl. 47 | module XENPAK/X2, PHY thế hệ cũ |
| XFI / SFI | 10G | 1 × 10,3125 GBd, 64b/66b | 2 cặp | 20–30 cm | XFP MSA / SFF-8431 | cage XFP / SFP+ |
| 10GBASE-KR | 10G | 1 × 10,3125 GBd | 2 cặp | 1 m backplane | Cl. 72 | backplane, PHY 10GBASE-T |
| 25GAUI | 25G | 1 × 25,78 GBd NRZ | 2 cặp | C2M | Annex 109A/B | cage SFP28 |
| XLAUI / CAUI-10 | 40G / 100G | 4 / 10 × 10,3125 GBd | 8 / 20 cặp | C2C/C2M | Annex 83A/B | QSFP+ / CFP, CXP |
| CAUI-4 | 100G | 4 × 25,78 GBd NRZ | 8 cặp | C2M | Annex 83D/E | cage QSFP28 |
| 50GAUI-2 / -1 | 50G | 2 × 26,5625 NRZ / 1 × 26,5625 GBd PAM4 | 4 / 2 cặp | C2M | Annex 135B–E | SFP56 |
| 100GAUI-4 / -2 / -1 | 100G | 4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4 | — | C2M | Annex 135D–G, 120G | QSFP28 (biến thể PAM4), QSFP112 |
| 200GAUI-8 / -4 / -2 | 200G | 8 × 26,5 PAM4 / 4 × 53 / 2 × 106 | — | C2M | Annex 120C–G | QSFP56, QSFP112 |
| 400GAUI-16 / -8 / -4 | 400G | 16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4 | — | C2M | Annex 120B–G | CFP8 / QSFP-DD, OSFP / QSFP112, OSFP |
| 800GAUI-8 / -4 | 800G | 8 × 106 PAM4 / 4 × 212 PAM4 | — | C2M | 802.3df / dj | OSFP, QSFP-DD800 / OSFP224, OSFP-XD |
Chi tiết: MII, RMII, GMII, RGMII, SGMII, 1000BASE-X, QSGMII, USXGMII, XGMII, XAUI, SFI và họ AUI.
Vị trí của từng giao diện
| Thiết bị | MAC → … | … → môi trường truyền |
|---|---|---|
| Switch đồng 1G 48 cổng | ASIC → QSGMII → PHY bốn kênh | PHY → RJ45 |
| Router nhỏ / board SoC | SoC → RGMII hoặc SGMII → PHY | PHY → RJ45; hoặc SoC → 1000BASE-X/SGMII → cage SFP |
| Cổng SFP+/SFP28 của switch hoặc NIC 10G/25G | SerDes của ASIC → SFI / 25GAUI → cage | module → sợi quang hoặc DAC |
| Cổng QSFP28 100G | ASIC → CAUI-4 (4 × 25G) → cage | module → 4 λ hoặc 4 sợi quang |
| Cổng QSFP-DD / OSFP 400G | ASIC → 400GAUI-8 (8 × 50G PAM4) → cage | gearbox của module → 4 × 100G quang |
| Cổng OSFP 800G | ASIC → 800GAUI-8 (8 × 100G PAM4) → cage | module → 8 × 100G (DR8) hoặc 4 × 200G |
| SFP đồng 1000BASE-T | host 1000BASE-X hoặc SGMII → PHY của module | PHY → RJ45 |
| SFP+ 10GBASE-T | host SFI (10GBASE-R) → PHY của module (lớp USXGMII) | PHY → RJ45 |
| Cổng switch RJ45 multigig | ASIC → USXGMII → PHY mGig | 2.5/5/10GBASE-T |
Quản lý PHY so với module
| Chip PHY đồng | Module cắm rút | |
|---|---|---|
| Bus | MDIO/MDC (Clause 22: địa chỉ 5 bit, 32 × thanh ghi 16 bit; Clause 45: cặp thiết bị/thanh ghi cho 10G+) | I²C hai dây (trang A0h/A2h, CMIS) (Giao diện hai dây) |
| Trạng thái liên kết | thanh ghi trạng thái PHY (reg 1), trong băng trên RGMII/SGMII | chân và cờ LOS/LOL, DDM |
| Công cụ Linux | mii-tool, phytool, ethtool (driver PHY) | ethtool -m, i2c-dev (Công cụ NIC) |
| Điểm đặc biệt của SFP đồng | PHY bên trong module có thể truy cập qua I²C ở một địa chỉ thứ hai (ví dụ 0xAC trên module dùng Marvell 88E1111) hoặc qua các trang riêng của nhà sản xuất — MDIO được đóng gói qua tunnel | — |
Vì sao điều này quan trọng với công việc transceiver
- Chế độ của cage. Một cổng SFP 1G có thể ở chế độ 1000BASE-X hoặc SGMII; một SFP đồng hoạt động khác nhau ở mỗi chế độ, và client 10/100 chỉ hoạt động ở chế độ SGMII (hoặc với một module che giấu sự khác biệt này) (SGMII và serial gigabit).
- Tốc độ và mã hóa. Module phải chấp nhận tốc độ làn và mã hóa của host: SFI ở 10,3125 GBd, CAUI-4 ở 25,78, 400GAUI-8 PAM4 — đây chính là những gì mã tuân thủ và các application của CMIS công bố (Mã tuân thủ).
- Ai định thời lại tín hiệu. Module SFP+ thường là tuyến tính/giới hạn với cân bằng ở host; module 25G+ mang CDR; module PAM4 mang DSP; module LPO lại là tuyến tính và phụ thuộc vào SerDes của host (CDR, DSP và LPO).
- Làn điện ≠ làn quang. 400G-FR4 nhận 8 làn điện và phát ra 4 bước sóng; gearbox nằm trong module (XGMII, XAUI và họ AUI).
- Linux chọn giao diện từ EEPROM. Lớp SFP của kernel đọc byte 3–10, 12 và 36 để quyết định giữa 1000BASE-X, SGMII, 2500BASE-X, 10GBASE-R — một byte tuân thủ sai khiến một module tốt lên liên kết ở sai chế độ (Bản đồ bộ nhớ).
Đọc thêm
- MII, RMII, GMII, RGMII — các giao diện song song: chân tín hiệu, xung nhịp, chế độ trễ của RGMII, trạng thái trong băng, quản lý PHY qua MDIO, các lỗi thường gặp.
- SGMII, 1000BASE-X, QSGMII, USXGMII — các giao diện nối tiếp tới PHY và cage SFP: khác biệt trong tự động đàm phán, SFP đồng, 100BASE-FX, 2,5G, multigig, cách Linux chọn chế độ.
- XGMII, XAUI, XFI/SFI và họ AUI — từ 10G đến 800G: số làn, C2C so với C2M, các điểm tuân thủ, ánh xạ OIF CEI, ánh xạ làn điện sang làn quang, module tái định thời so với tuyến tính.
Trong CodingBox
Các byte mà CodingBox hiển thị chính là tuyên bố của module về việc nó hỗ trợ giao diện host nào: mã tuân thủ (1000BASE-T → đồng có khả năng SGMII/1000BASE-X), tốc độ bit danh định, byte mã hóa (8b/10b so với 64b/66b so với PAM4), các bit CDR và ID giao diện host của CMIS. Sửa chúng sẽ thay đổi giao diện mà host sẽ thử dùng (Check transceiver, Mã tuân thủ).