DAC、AOC 與 AEC 線纜的內部結構
對主機而言,兩端做成光模組形態的線纜就是一個光模組:它會給出身份資訊,可能提供診斷數據,並遵循相同的引腳定義。內部構造卻完全不同:可能是銅對線加一小塊 EEPROM 板卡,可能是一對光引擎和中間的光纖帶,也可能是讓銅纜傳輸更遠的 retimer 晶片。本文介紹這三類產品,說明它們的構造如何體現在記憶體、DDM 和實際故障中。
三大類線纜
| 系列 | 內部 | 傳輸距離(25G / 100G / 400G 單向) | 每端功率 | 管理 |
|---|---|---|---|---|
| 無源 DAC(直連銅纜) | 雙芯同軸銅對線,26–30 AWG,每個插頭內有一塊帶 EEPROM 的 paddle card | 3–5 m / 3–5 m / 2–3 m | ~0 W(僅 EEPROM) | 僅身份資訊,無 DDM |
| ACC(有源銅纜) | 結構與 DAC 相同,插頭內另有線性放大器/均衡器 | 25–50G 下最長 5–7 m | 0.5–1 W | 身份資訊,有時含溫度 |
| AEC(有源電纜) | 銅纜加每個插頭內的 retimer/DSP,信號在其中被再生 | 400G/800G 下 3–7 m | 3–6 W | 採用 CMIS,含通道狀態,常有類 DDM 監測 |
| AOC(有源光纜) | 每個插頭內是一個光引擎(VCSEL 陣列、PD 陣列、驅動器、TIA、控制器),中間為 MMF 光纖帶 | 30–100 m,部分達 300 m | 1–4 W | 兩端均為完整 DDM(SFF-8472/8636/CMIS) |
主機側行為、自動協商和編碼約定參見 銅纜以太網與 DAC;現場故障參見 DAC 與 AOC 常見問題。
無源 DAC
plug A ─ paddle card (EEPROM, ground, pull-ups) ─ twinax pairs ×2 (SFP) / ×8 (QSFP) / ×16 (QSFP-DD) ─ paddle card ─ plug B
- 純電氣連接:主機 SerDes 直接驅動銅纜;損耗隨長度和頻率增大(3 m 長 30 AWG 線纜在 12.9 GHz 下約 10–20 dB),這就是傳輸距離逐代縮短的原因,也是 25G 以上按損耗劃分線纜等級(CA-25G-N/S/L)並與 FEC 搭配使用的原因(參見 FEC 與鏈路訓練)。
- 身份資訊:每個插頭內有一塊 EEPROM(僅 A0h),兩端內容常不相同(序號後綴不同,若線纜被重新貼標,廠商也可能不同)。關鍵位元組:connector 23h,線纜技術位(無源銅纜),長度(單位為米,SFP byte 18、QSFP byte 146、CMIS 202),2.5/5/7/12.9 GHz 下的衰減值記錄在波長欄位中(參見 合規代碼)。
- 沒有 A2h,沒有溫度,也沒有 LOS:主機無內容可監測,只有存在檢測和身份資訊。
- 故障表現:彎折導致對線斷裂(一條通道失效)、paddle card 焊點開裂(間歇性故障)、身份資訊不匹配或缺失(主機拒絕其中一端)、長度超出主機均衡器的處理能力(在一台交換機上能用,換一台就不行)。
有源銅纜:ACC 與 AEC
ACC 通過模擬放大將傳輸距離延長一兩米;AEC 則在每個插頭的每條通道上增加一顆 retimer 或 DSP,使每段銅纜只需覆蓋插頭到插頭的距離,信號在其中被再生,這正是 AI 機櫃中 400G/800G 能在銅纜上跑到 5–7 m 的原因。AEC 插頭發熱明顯(3–6 W),以帶數據通路狀態和固件的 CMIS 模組形式出現,並從端口獲取實際功率,需要像光模組一樣核對功率等級(參見 功率與熱設計)。兩者都以 active cable 形式編碼,使用相應的 SFF-8024 代碼(BER 等級 AOC/ACC 代碼 01h/08h/18h/19h、 30h–33h),而不是編碼為無源銅纜。
有源光纜
plug A: driver ─► VCSEL array ─► lens ─► MMF ribbon (OM3, 4/8/12 fibres) ─► lens ─► PD array ─► TIA ─► plug B
TIA ◄── PD array ◄── lens ◄── ribbon ◄────────────────────────────── lens ◄── VCSEL array ◄── driver
controller (DDM, identity) controller (DDM, identity)
- 每個插頭都是一個 COB 光引擎:裸露的 VCSEL 和 PD 晶片位於模壓透鏡陣列下方,與光纖帶黏接在一起,全程沒有任何連接器(參見 板上晶片封裝)。
- OM3/OM4 光纖帶上的 850 nm VCSEL:成本低、功耗低、傳輸距離為 100 m 級;波長和光纖類型固定,因此 AOC 的編碼方式與 SR 模組相同(850 nm,MMF 長度),但 connector 欄位為 23h。
- 兩端的 DDM 都是真實的:溫度、Vcc、每通道偏置電流、Tx 和 Rx 光功率,其中 Rx 數值反映的是內部鏈路狀況。AOC 某條通道 Rx 偏低,說明該通道的 VCSEL 或光纖本身出了問題,因為根本沒有連接器可以清潔。
- 拆分 AOC(QSFP 轉 4 × SFP):QSFP 端攜帶一份身份資訊和 4 通道 DDM;每個 SFP 端各自攜帶單通道的身份資訊和 DDM。
- 故障表現:彎曲半徑超標(一條或多條通道中斷)、高密度面板中光引擎過熱、某條通道 VCSEL 老化、插頭控制器失效(該端不可見,另一端讀數卻正常)。
為兩端編碼
主機會獨立讀取每一端;只有兩端都通過各自主機的策略檢查,線纜才會被接受。常見要求如下:
| 欄位 | 規則 |
|---|---|
| Identifier、connector、cable technology | 兩端一致;connector 為 23h |
| 廠商名稱 / PN | 兩端一致;PN 通常編碼長度和線規 |
| 序號 | 通常主體相同、末尾加後綴區分兩端,或完全一致 |
| 長度位元組 | 實際長度(米),兩端一致 |
| Attenuation bytes(銅纜) | 該組件的實測值 |
| 合規 / 擴展代碼 | 與速率等級匹配(如 25G CR 等級為 0Bh–0Dh,50G/100G/200G CR 為 40h) |
| 校驗和 | 每端分別重新計算,參見 校驗和 |
如果線纜能從交換機 A 連到交換機 B,反過來卻不行,通常是某一端編碼不同。在工作台上讀取兩個插頭是最快的排查方法(參見 症狀索引)。
為甚麼用線纜而不是光模組
| 判據 | DAC | AOC | 光模組 + 光纖 |
|---|---|---|---|
| 單鏈路成本(短距離) | 最低 | 中等 | 最高 |
| 功耗 | 無 | 低 | 低–高 |
| 時延 | 最低 | + 約幾 ns | + 約幾 ns |
| 傳輸距離 | 米級 | 最長 100 m | 公里級 |
| 重量、彎曲半徑、氣流阻擋 | 最差 | 良好 | 最佳 |
| 現場維修 | 更換整根線纜 | 更換整根線纜 | 清潔或更換單個部件 |
| 診斷能力 | 無 | 完整 DDM(內部鏈路) | 完整 DDM(真實鏈路) |
在 CodingBox 中
CodingBox 會按插頭所聲稱的模組類型讀取:DAC 按身份資訊讀取長度、衰減和線纜等級代碼; AOC 按每通道完整 DDM 讀取兩端;AEC 按 CMIS 模組讀取兩端。為線纜編碼意味著兩端都要一致地編碼。Code database 會將一對線纜的兩端儲存在一起,EEPROM editor 則處理光模組沒有的長度和衰減欄位。
各代 InfiniBand 的線纜傳輸距離等級和拆分配置參見 IB 佈線;GPU 集群中各種介質如何搭配使用參見 為 AI 集群佈線。