内部校正と外部校正
フォトダイオードは dBm を出力せず、サーミスタも °C を出力しません。どこかの時点で、生のセンサー値を工学的な値に変換する必要があります。SFF-8472 では、モジュールが提供する定数を使って、この変換をモジュール内部またはホスト側のどちらかで行うことを認めています。これを誤ると、正常に動作しているモジュールに対してスイッチが非現実的な DDM 値を表示する、よくある原因になります。
2つの校正モード
| モード | 宣言する場所 | 変換する側 | モニターバイトの内容 |
|---|---|---|---|
| 内部校正 | 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 単精度浮動小数点数 5個 | Rx パワー(4次多項式) |
| 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
内部校正のモジュールでは、これらの定数は無視されます。それでも多くのベンダーは恒等値(slope 1.0、offset 0、Rx の多項式は 0,0,0,1,0)を書き込んでおり、誤って適用するホストがあっても正しい結果が得られるようにしています。
平均パワーと OMA
A0h バイト 92 のビット3は、Rx パワーがどちらの形式で表されているかを示します。平均パワー(1)か、OMA(光変調振幅、0)です。ほとんどのモジュールは平均パワーを報告します。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 は自動的に再計算されます。校正領域が上書きされてしまったモジュールの修復に役立ちます。
工場の試験ステーションでこれらの定数がどのように生成されるか、ファームウェアがそれをどこに保持しているか:製造と試験、コントローラーとファームウェア。