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

 

 

文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知。