Étalonnage interne et externe
Une photodiode ne produit pas des dBm, et une thermistance ne produit pas des °C. Quelque part, la lecture brute du capteur doit être transformée en valeur technique — et SFF-8472 permet que cela se fasse soit à l’intérieur du module, soit côté hôte, à l’aide de constantes fournies par le module. Une erreur à ce niveau est la raison habituelle pour laquelle un commutateur affiche des valeurs DDM absurdes pour un module qui fonctionne pourtant parfaitement.
Deux modes d’étalonnage
| Mode | Déclaré par | Qui convertit | Contenu des octets de mesure |
|---|---|---|---|
| Interne | A0h octet 92 bit 5 | le microcontrôleur du module | valeurs finales en unités standard (1/256 °C, 100 µV, 2 µA, 0,1 µW) |
| Externe | A0h octet 92 bit 4 | l’hôte | valeurs brutes du convertisseur A/N ; l’hôte applique les constantes de A2h 56–95 |
Presque tous les modules modernes sont étalonnés en interne. Les modules à étalonnage externe sont des conceptions plus anciennes ou optimisées pour le coût ; leurs valeurs sont illisibles sur les hôtes qui sautent la conversion.
Constantes d’étalonnage externe — A2h octets 56–95
| Octets | Constante | Format | S’applique à |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | cinq flottants simple précision IEEE-754 | puissance Rx (polynôme du 4e ordre) |
| 76–77 | pente Tx_I | virgule fixe non signée 8.8 | bias Tx |
| 78–79 | décalage Tx_I | 16 bits signé | bias Tx |
| 80–81 | pente Tx_PWR | 8.8 non signé | puissance Tx |
| 82–83 | décalage Tx_PWR | 16 bits signé | puissance Tx |
| 84–85 | pente T | 8.8 non signé | température |
| 86–87 | décalage T | 16 bits signé | température |
| 88–89 | pente V | 8.8 non signé | Vcc |
| 90–91 | décalage V | 16 bits signé | Vcc |
| 92–94 | réservé | — | — |
| 95 | CC_DMI | somme de contrôle des octets 0–94 | — |
Les formules de conversion
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
Pour un module étalonné en interne, les constantes sont ignorées ; beaucoup de fabricants les remplissent quand même avec des valeurs neutres (pente 1,0, décalage 0, polynôme Rx 0, 0, 0, 1, 0) afin qu’un hôte qui les appliquerait quand même obtienne le bon résultat.
Moyenne contre OMA
A0h octet 92 bit 3 indique comment la puissance Rx est exprimée : puissance moyenne (1) ou OMA — amplitude de modulation optique (0). Presque tous les modules rapportent une puissance moyenne ; l’OMA apparaît sur certaines optiques Ethernet multimodes où la norme spécifie la sensibilité de cette façon. Comparer une valeur OMA à une spécification de sensibilité en puissance moyenne induit en erreur jusqu’à ~3 dB.
Symptômes d’un problème d’étalonnage
| Ce que vous observez | Cause probable |
|---|---|
| Température de 0 °C ou −128 °C, Vcc 0,00 V | l’hôte lit les valeurs brutes d’un module à étalonnage externe sans les convertir |
| Puissance Rx impossiblement élevée (+10 dBm) ou toujours à −40 dBm | mauvais mode d’étalonnage supposé, ou constantes mises à zéro |
| Les valeurs diffèrent fortement entre deux modèles de commutateur avec le même module | un hôte respecte l’octet 92, l’autre suppose un étalonnage interne |
| Puissance Tx identique sur tous les modules d’un lot | ce n’est pas l’étalonnage — une Tx constante (Niveaux DDM) |
Dans CodingBox
CodingBox lit l’octet 92, applique les constantes d’étalonnage externe quand le module les déclare, et affiche à la fois les valeurs brutes et converties, de sorte qu’un module mal affiché par un commutateur puisse être jugé sur banc. Le bloc de constantes 56–95 est modifiable dans l’EEPROM editor, avec CC_DMI recalculé automatiquement — utile pour réparer des modules dont la zone d’étalonnage a été écrasée.
Comment les constantes sont produites sur le banc de test en usine et où le firmware les conserve : Fabrication et tests, Contrôleur et firmware.