Calibrazione interna ed esterna
Un fotodiodo non restituisce dBm e un termistore non restituisce °C. Da qualche parte la lettura grezza del sensore deve essere trasformata in un valore ingegneristico — e SFF-8472 permette che ciò avvenga sia dentro il modulo sia sull’host, usando costanti che il modulo fornisce. Sbagliare questo passaggio è il motivo abituale per cui uno switch mostra valori DDM assurdi per un modulo che funziona perfettamente.
Due modalità di calibrazione
| Modalità | Dichiarata da | Chi converte | Cosa contengono i byte di monitor |
|---|---|---|---|
| Interna | A0h byte 92 bit 5 | il microcontrollore del modulo | valori finali in unità standard (1/256 °C, 100 µV, 2 µA, 0,1 µW) |
| Esterna | A0h byte 92 bit 4 | l’host | conteggi A/D grezzi; l’host applica le costanti da A2h 56–95 |
Quasi tutti i moduli moderni sono a calibrazione interna. I moduli a calibrazione esterna sono design più vecchi o ottimizzati per il costo; i loro valori si leggono come spazzatura sugli host che saltano la conversione.
Costanti di calibrazione esterna — byte A2h 56–95
| Byte | Costante | Formato | Si applica a |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | cinque float IEEE-754 a precisione singola | potenza Rx (polinomio di 4° grado) |
| 76–77 | Tx_I slope | virgola fissa 8.8 senza segno | bias Tx |
| 78–79 | Tx_I offset | 16 bit con segno | bias Tx |
| 80–81 | Tx_PWR slope | 8.8 senza segno | potenza Tx |
| 82–83 | Tx_PWR offset | 16 bit con segno | potenza Tx |
| 84–85 | T slope | 8.8 senza segno | temperatura |
| 86–87 | T offset | 16 bit con segno | temperatura |
| 88–89 | V slope | 8.8 senza segno | Vcc |
| 90–91 | V offset | 16 bit con segno | Vcc |
| 92–94 | riservato | — | — |
| 95 | CC_DMI | checksum dei byte 0–94 | — |
Le formule di conversione
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
Per un modulo a calibrazione interna le costanti vengono ignorate; molti produttori le riempiono comunque con valori identità (slope 1,0, offset 0, polinomio Rx 0,0,0,1,0) in modo che un host che le applica comunque ottenga la risposta corretta.
Media contro OMA
A0h byte 92 bit 3 indica come è espressa la potenza Rx: potenza media (1) oppure OMA — ampiezza di modulazione ottica (0). Quasi tutti i moduli riportano la potenza media; l’OMA compare su alcune ottiche Ethernet multimodali dove lo standard specifica la sensibilità in quel modo. Confrontare una cifra OMA con una specifica di sensibilità in potenza media può trarre in inganno fino a ~3 dB.
Sintomi di un problema di calibrazione
| Cosa vedi | Causa probabile |
|---|---|
| Temperatura di 0 °C o −128 °C, Vcc 0,00 V | l’host legge i conteggi grezzi da un modulo a calibrazione esterna senza convertirli |
| Potenza Rx impossibilmente alta (+10 dBm) o sempre −40 dBm | modalità di calibrazione sbagliata assunta, oppure costanti azzerate |
| I valori differiscono enormemente tra due modelli di switch con lo stesso modulo | un host rispetta il byte 92, l’altro assume interna |
| Potenza Tx identica su ogni modulo di un lotto | non è un problema di calibrazione — un Tx costante (Livelli DDM) |
In CodingBox
CodingBox legge il byte 92, applica le costanti di calibrazione esterna quando il modulo le dichiara, e mostra sia i valori grezzi sia quelli convertiti, così un modulo che uno switch mostra in modo sbagliato può essere giudicato al banco. Il blocco di costanti 56–95 è modificabile nell’EEPROM editor con il CC_DMI ricalcolato automaticamente — utile per riparare moduli la cui area di calibrazione è stata sovrascritta.
Come vengono prodotte le costanti sulla stazione di test di fabbrica e dove le conserva il firmware: Produzione e collaudo, Controller e firmware.