MAC 與 PHY 之間的 SGMII
以太網介面
GMII, RGMII, SGMII, XGMII, XFI 都是以太網介面(Ethernet Interface)標準。
用來描述 MAC(媒體存取控制)和 PHY(物理層)之間的連接方式,以及支援的速率和訊號線結構。
簡單比較表
| 介面 | 最大速率 | 傳輸方式 | 線數需求 | 特點 |
|---|---|---|---|---|
| GMII | 1 Gbps | 平行 | ~24 | 傳統,線多,PCB要求高 |
| RGMII | 1 Gbps | 平行 | 12 | 雙邊緣時鐘,線少,成本低 |
| SGMII | 1 Gbps | 串列 | 4 | 串列化,遠距離傳輸穩定 |
| XGMII | 10 Gbps | 平行 | 40+ | 高速10G,線多,通常改用串列(XFI) |
SGMII
SGMII (Serial Gigabit Media Independent Interface)
用途:1 Gbps MAC-PHY 串列介面
速度:1 Gbps(可向下兼容 10/100 Mbps)
傳輸方式:串列傳輸(SerDes)
線數:4 根差分對(TX+/TX-, RX+/RX-)
特點:
減少線數,遠距離 PCB 更穩定
常用於高端交換機、FPGA、網卡
SGMII 支援度
不是所有 MAC 都支援 SGMII。
原因:
傳統 MAC 只支援 GMII / MII / RGMII 平行介面
SGMII 需要 MAC 內部有 SerDes (Serializer/Deserializer) + 8b/10b 編碼邏輯
若 MAC 不支援 SGMII:
就只能接平行介面(如 GMII/RGMII)
如果要跟 SGMII PHY 通訊,需要額外的 SerDes 外掛晶片
也不是所有 PHY 都支援 SGMII。
原因:
PHY 可支援多種 MAC 接口,如 MII / GMII / RGMII / SGMII / QSGMII
SGMII 需要 PHY 內部有 解串列 + 8b/10b 解碼邏輯
若 PHY 不支援 SGMII:
就只能接平行介面 MAC
或需要額外 SGMII-to-RGMII 轉換晶片
SGMII 對資料流的編、解碼階段
[上層資料/IP/TCP]
│
▼
┌─────────┐
│ MAC │ ← 封裝 Ethernet frame, 加 CRC
│ Layer 2 │
│ 8-bit │
└─────────┘
│ 8-bit平行資料 + tx_en/tx_er
▼
┌─────────┐
│ MAC │
│ SGMII TX│ ← 8b/10b 編碼 + 串列化 (1.25Gbps)
└─────────┘
│ 串列差分訊號
▼
┌─────────┐
│ PHY │ ← 解串列 + 10b/8b解碼 + 電氣調整
│ Layer 1 │
└─────────┘
│ RJ45 差分電氣訊號
▼
[網路]
8b/10b 編碼
8b/10b 編碼是一個 資料傳輸層的編碼機制,在 MAC → SGMII → PHY 的串列化過程中特別重要。
8b/10b 的意思:每 8 位元資料 → 轉成 10 位元符號傳送。
| 用途 | 說明 |
|---|---|
| 保持直流平衡 (DC Balance) | 8b/10b 編碼會保證在長時間內「1 與 0 數量平均」,避免信號偏移,減少差分線上的直流漂移。 |
| 方便時鐘恢復 (Clock Recovery) | 串列資料沒有單獨時鐘線,8b/10b 編碼確保每個 10-bit 符號都有足夠跳變 (edges)。 PHY 可以從資料邊緣恢復時鐘。 |
| 插入控制符號 (K-code) | 用特殊符號標示資料邊界、同步點、Idle、逾時、速率協商等控制訊號。 |
| 偵測傳輸錯誤 | 非法的 10-bit 組合可以被識別為編碼錯誤,有助於錯誤檢測。 |
Reference
ChatGPT
文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知。
