Calibración interna y externa
Un fotodiodo no produce dBm y un termistor no produce °C. En algún punto la lectura bruta del sensor debe convertirse en un valor de ingeniería, y SFF-8472 permite que eso ocurra dentro del módulo o en el host, usando constantes que el módulo proporciona. Hacer esto mal es la razón habitual por la que un conmutador muestra valores de DDM absurdos para un módulo que funciona perfectamente.
Dos modos de calibración
| Modo | Declarado por | Quién convierte | Qué contienen los bytes del monitor |
|---|---|---|---|
| Interna | A0h byte 92 bit 5 | el microcontrolador del módulo | valores finales en unidades estándar (1/256 °C, 100 µV, 2 µA, 0,1 µW) |
| Externa | A0h byte 92 bit 4 | el host | cuentas A/D brutas; el host aplica las constantes de A2h 56–95 |
Casi todos los módulos modernos tienen calibración interna. Los módulos con calibración externa son diseños más antiguos u optimizados en coste; sus valores se leen como basura en los hosts que se saltan la conversión.
Constantes de calibración externa: bytes A2h 56–95
| Bytes | Constante | Formato | Se aplica a |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | cinco flotantes IEEE-754 de precisión simple | potencia Rx (polinomio de 4.º orden) |
| 76–77 | pendiente de Tx_I | punto fijo sin signo 8.8 | polarización Tx |
| 78–79 | desplazamiento de Tx_I | 16 bits con signo | polarización Tx |
| 80–81 | pendiente de Tx_PWR | 8.8 sin signo | potencia Tx |
| 82–83 | desplazamiento de Tx_PWR | 16 bits con signo | potencia Tx |
| 84–85 | pendiente de T | 8.8 sin signo | temperatura |
| 86–87 | desplazamiento de T | 16 bits con signo | temperatura |
| 88–89 | pendiente de V | 8.8 sin signo | Vcc |
| 90–91 | desplazamiento de V | 16 bits con signo | Vcc |
| 92–94 | reservado | — | — |
| 95 | CC_DMI | suma de comprobación de los bytes 0–94 | — |
Las fórmulas de conversión
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
Para un módulo con calibración interna, las constantes se ignoran; muchos fabricantes igualmente las rellenan con valores de identidad (pendiente 1,0, desplazamiento 0, polinomio Rx 0,0,0,1,0) para que un host que las aplique de todos modos obtenga la respuesta correcta.
Media frente a OMA
El byte 92 bit 3 de A0h indica cómo se expresa la potencia Rx: potencia media (1) u OMA (amplitud de modulación óptica) (0). Casi todos los módulos reportan potencia media; el OMA aparece en algunas ópticas Ethernet multimodo donde el estándar especifica la sensibilidad de esa forma. Comparar una cifra de OMA con una especificación de sensibilidad en potencia media induce a error hasta en ~3 dB.
Síntomas de un problema de calibración
| Qué se ve | Causa probable |
|---|---|
| Temperatura de 0 °C o −128 °C, Vcc 0,00 V | el host lee cuentas brutas de un módulo con calibración externa sin convertirlas |
| Potencia Rx imposiblemente alta (+10 dBm) o siempre −40 dBm | se asumió el modo de calibración equivocado, o las constantes están a cero |
| Los valores difieren mucho entre dos modelos de conmutador con el mismo módulo | un host respeta el byte 92, el otro asume calibración interna |
| Potencia Tx idéntica en todos los módulos de un lote | no es calibración: una Tx constante (Niveles de DDM) |
En CodingBox
CodingBox lee el byte 92, aplica las constantes de calibración externa cuando el módulo las declara, y muestra los valores brutos y convertidos a la vez, de modo que un módulo que un conmutador muestra mal puede juzgarse en el banco. El bloque de constantes 56–95 es editable en el editor de EEPROM con el CC_DMI recalculado automáticamente, útil para reparar módulos cuya área de calibración fue sobrescrita.
Cómo se producen las constantes en la estación de pruebas de fábrica y dónde las guarda el firmware: Fabricación y pruebas, Controlador y firmware.