內部校準與外部校準
光電二極管的原始輸出不是 dBm,熱敏電阻的原始輸出也不是 °C。傳感器的原始讀數總要在某個環節轉換成工程量值, SFF-8472 允許這一轉換在模組內部完成,也允許在主機端完成,所用的常數由模組提供。這一步出錯,正是交換機對一個工作完全正常的模組顯示荒謬 DDM 數值的常見原因。
兩種校準模式
| 模式 | 由誰聲明 | 由誰換算 | 監測位元組中存放的內容 |
|---|---|---|---|
| 內部校準 | A0h 位元組 92 位元 5 | 模組的微控制器 | 標準單位下的最終值(1/256 °C、100 µV、2 µA、0.1 µW) |
| 外部校準 | A0h 位元組 92 位元 4 | 主機 | 原始 A/D 計數值;主機套用 A2h 56–95 的常數 |
幾乎所有現代模組都是內部校準的。外部校準的模組多是較舊或成本優化型設計,在跳過換算步驟的主機上,其數值會顯示為無意義的亂碼。
外部校準常數:A2h 位元組 56–95
| 位元組 | 常數 | 格式 | 適用對象 |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | 五個 IEEE-754 單精度浮點數 | Rx 功率(四階多項式) |
| 76–77 | Tx_I slope | 無符號定點數 8.8 | Tx 偏置電流 |
| 78–79 | Tx_I offset | 有符號 16 位元 | Tx 偏置電流 |
| 80–81 | Tx_PWR slope | 無符號 8.8 | Tx 功率 |
| 82–83 | Tx_PWR offset | 有符號 16 位元 | Tx 功率 |
| 84–85 | T slope | 無符號 8.8 | 溫度 |
| 86–87 | T offset | 有符號 16 位元 | 溫度 |
| 88–89 | V slope | 無符號 8.8 | Vcc |
| 90–91 | V offset | 有符號 16 位元 | Vcc |
| 92–94 | 保留 | — | — |
| 95 | CC_DMI | 位元組 0–94 的校驗和 | — |
換算公式
Rx_PWR (µW) = Rx4·raw⁴ + Rx3·raw³ + Rx2·raw² + Rx1·raw + Rx0
Tx_I (µA) = Tx_I_slope · raw + Tx_I_offset
Tx_PWR (0.1 µW) = Tx_PWR_slope · raw + Tx_PWR_offset
T (1/256 °C)= T_slope · raw + T_offset
V (100 µV) = V_slope · raw + V_offset
內部校準的模組會忽略這些常數;不少廠商仍會填入恆等值(斜率 1.0、偏移量 0、Rx 多項式 0,0,0,1,0),這樣即使主機照樣套用換算,也能得到正確結果。
平均功率與 OMA
A0h 位元組 92 位元 3 表明 Rx 功率的表示方式:平均功率(1)或 OMA(光調製幅度,0)。絕大多數模組報告的是平均功率;OMA 出現在部分多模以太網光模組上,這類標準正是按 OMA 規定靈敏度的。把 OMA 數值與按平均功率給出的靈敏度規格相比較,最多可能相差 ~3 dB。
校準問題的表現
| 現象 | 可能原因 |
|---|---|
| 溫度顯示 0 °C 或 −128 °C,Vcc 顯示 0.00 V | 主機未做換算,直接讀取外部校準模組的原始計數值 |
| Rx 功率高得不合理(+10 dBm)或始終為 −40 dBm | 校準模式判斷錯誤,或常數被清零 |
| 同一模組在兩種交換機型號上數值差異巨大 | 一台主機遵循位元組 92 的聲明,另一台預設按內部校準處理 |
| 同一批次每個模組的 Tx 功率都相同 | 與校準無關,是恆定不變的 Tx 值(DDM 電平) |
CodingBox 中的呈現
CodingBox 讀取位元組 92,在模組聲明外部校準時套用其校準常數,並同時顯示原始值與換算值,這樣交換機上顯示異常的模組就能在工作台上得到判斷。常數區 56–95 可在 EEPROM editor 中編輯,CC_DMI 會自動重新計算,適用於修復校準區被覆寫的模組。