El controlador y su firmware: DDM, APC, memoria, protección · Dentro del módulo: láseres y receptores · Transceptores y cables ópticos · Documentación · CodingBox
CodingBox Documentación

El controlador y su firmware: DDM, APC, memoria, protección

Todo transceptor gestionado tiene un pequeño ordenador dentro. El microcontrolador (MCU) mide, regula, informa y — desde el punto de vista de quien programa, lo más importante — es la memoria que se lee y se escribe. Que un módulo tenga una EEPROM simple o una MCU que finge serlo decide cómo se puede codificar, por qué algunas escrituras desaparecen tras un ciclo de apagado y por qué existen las contraseñas. Esta página describe qué hace el controlador y cómo su diseño se manifiesta en el banco.

Qué hace la MCU

TareaDetallesVisible como
Mediciónmuestrea la temperatura (termistor o sensor integrado), Vcc, bias del láser, corriente del PD monitor (Tx) y fotocorriente del receptor (Rx) mediante un ADC de 10–12 bits varias veces por segundo; aplica la calibración de fábricavalores de DDM — Parámetros
APC — control automático de potenciacompara la corriente del PD monitor con el objetivo de fábrica y ajusta el DAC de bias del driverpotencia de Tx constante, bias creciente — Tx bias y envejecimiento
Compensación de temperaturatablas de consulta ajustan la corriente de modulación y, en PAM4, los ajustes del DSP en función de la temperaturarelación de extinción estable
Control de TECbucle PID que mantiene la temperatura del láser en los módulos enfriados; realimentación del bloqueador de longitud de onda en DWDMmonitores de temperatura del láser, corriente del TEC
Umbrales y banderascompara cada monitor con los umbrales de alarma/advertencia, fija banderas enclavadas, activa IntLUmbrales y alarmas
Pines de baja velocidadlee TX_DISABLE, RS0/RS1, LPMode, ResetL; activa TX_FAULT, RX_LOS (o controla las señales de hardware)comportamiento de los pines
Esclavo de dos hilosresponde en A0h/A2h (SFP) o en A0h con páginas/bancos (QSFP, CMIS)el mapa de memoria — Interfaz de dos hilos
Máquinas de estadoestados de módulo y de ruta de datos de CMIS; selección de aplicación; silenciadoCMIS
Protección y funciones de vendedorcontraseñas, regiones protegidas contra escritura, comandos de guardado, desbloqueo de vendedor, firmas de autenticaciónTipos de protección de escritura
CDB / actualización de firmwareen los módulos CMIS, recibe y graba nuevas imágenes de firmwarebytes de versión de firmware

Componentes típicos: MCU de 8 bits (clase 8051) con unos pocos kB de flash en los SFP/SFP+ de bajo coste; clase Cortex-M de 32 bits en los módulos de 100G+ y CMIS; algunos fabricantes usan un ASIC controlador de transceptor dedicado que integra los ADC, los DAC y el esclavo de dos hilos.

Dos formas de construir la memoria

DiseñoCómo se almacena el mapaConsecuencias para la programación
EEPROM discreta (por ejemplo, clase AT24C02) para A0h, MCU para A2hla identidad de A0h es una EEPROM serie real con la que el host y el programador hablan directamente; la MCU gestiona solo el diagnósticolas escrituras en A0h son escrituras EEPROM normales — respetan t_WR y el tamaño de página; un pin WP de hardware puede bloquearlas (Tipos de protección de escritura 1–3)
Mapa emulado por MCUla MCU responde a toda solicitud de dos hilos desde RAM y refleja los cambios en su flash/EEPROM interna — o nolas escrituras van a donde decide el firmware: aceptadas, ignoradas, bloqueadas por contraseña, almacenadas solo tras un comando de guardado, o sobrescritas desde la copia propia del firmware en el siguiente arranque (tipos 4–5)
HíbridoEEPROM para el bloque de vendedor, MCU para páginas y contraseñasreglas mixtas según el rango de bytes

Un mapa emulado explica la mayoría de los misterios del banco: FFh en una página que el firmware no implementa, escrituras que "tienen éxito" y luego revierten, bytes de solo lectura en un rango y libres en el siguiente, estiramiento de reloj mientras la MCU está ocupada muestreando (Errores de lectura y escritura de EEPROM).

Arranque y la ventana t_init

Al encender, la MCU carga la calibración y la identidad desde su almacenamiento no volátil, arranca el ADC, ejecuta el APC hasta su objetivo y solo entonces habilita el esclavo de dos hilos y limpia el indicador data-not-ready. Ese es el intervalo de 300 ms (SFP) a 2 s (QSFP/CMIS) que las especificaciones permiten antes de que un host pueda esperar respuestas, y la razón por la que una lectura inmediatamente después de la inserción devuelve basura (Qué hace el host).

La calibración vive aquí

Los conteos del ADC en bruto no significan nada sin las constantes que la fábrica midió en una estación de prueba: corriente del PD monitor frente a la potencia de lanzamiento real, fotocorriente del receptor frente a la potencia de entrada a la longitud de onda del módulo, curva del termistor, escala del DAC de bias. En los módulos calibrados internamente el firmware las aplica y reporta unidades físicas; en los módulos calibrados externamente las constantes se escriben en A2h 56–91 para que el host las aplique (Calibración). Sobrescribir el área de vendedor donde algunos firmwares guardan estas constantes produce un DDM absurdo o un bucle de APC muerto — la forma clásica en la que una escritura descuidada "bloquea" un módulo (Fabricación y pruebas).

Cómo se implementa la protección

MecanismoImplementaciónVista desde el banco
Contraseñael firmware compara los 4 bytes escritos en el área de contraseña (SFP A2h 123–126, QSFP 123–126, CMIS 122–125) con un valor almacenado; desbloquea las escrituras para la sesiónWRITE FAIL hasta que se introduce el valor correcto — Contraseñas
Regiones protegidas contra escriturael firmware ignora las escrituras en rangos que considera de solo lectura (sumas de comprobación, umbrales, calibración, área de vendedor)los bytes se leen sin cambios, sin error
Pin WP de hardware en una EEPROM discretael pin está fijado alto dentro del módulo o controlado por la MCUrequiere que la placa programadora active el pin
Comando de guardadolas escrituras caen en RAM; una secuencia específica del fabricante las confirma en flashrevierte tras un ciclo de apagado salvo que se envíe la secuencia
Espejo de firmwareal arrancar, el firmware reescribe el mapa desde su propia imagenlos cambios desaparecen en cada ciclo de apagado — solo la herramienta del fabricante puede cambiar la imagen
Autenticaciónel firmware calcula una firma (hash del número de serie, datos de vendedor y un secreto) en los bytes de vendedor; el host la verificalas ediciones de identidad pasan las sumas de comprobación pero el host las rechaza igualmente — Bloqueo de fabricante

Cómo se reconoce y se programa cada tipo: Tipos de protección de escritura, Recodificación de EEPROM.

Actualizaciones de firmware

Los módulos CMIS pueden recibir firmware por el bus de dos hilos mediante comandos CDB (iniciar descarga, escribir bloques, completar, ejecutar, confirmar), a menudo con dos bancos de imagen para que una actualización fallida tenga respaldo. Los módulos SFF-8472/8636 no tienen mecanismo estándar; los fabricantes usan secuencias propias a través de bytes de vendedor. Las correcciones de firmware son la forma en que los fabricantes resuelven los problemas de interoperabilidad de CMIS (Problemas de CMIS), y los bytes de versión de firmware (página baja de CMIS 39–40, página 01h 128–129) merecen registrarse junto con la identidad.

Modos de fallo del controlador

SíntomaCausa probable
Módulo invisible en el bus, óptica por lo demás correctala MCU no arranca: firmware corrupto, caída de tensión, cristal dañado
Valores de DDM congelados o absurdoscorrupción del ADC o de la calibración; firmware bloqueado
Potencia de Tx a la deriva aunque el APC debería mantenerlafallo del PD monitor o del ADC, APC deshabilitado
NACK aleatorios, lecturas lentasMCU sobrecargada (muestreando), límites de estiramiento de reloj superados por un programador rápido
Funciona, pero cada escritura revierteespejo de firmware por diseño — no es un fallo
Módulo muerto tras una escrituraárea de configuración de firmware o de calibración sobrescrita

En CodingBox

CodingBox trata el módulo tal como lo presenta el firmware: detecta el tipo de mapa, aplica contraseñas y scripts de programación conocidos para los diseños de comando de guardado y de espejo, recalcula las sumas de comprobación, mantiene una copia de seguridad antes de cada escritura y permite restaurarla desde la base de datos de códigos si un controlador reacciona mal. El editor de EEPROM marca los rangos que la especificación define como de solo lectura o específicos del vendedor, para que se sepa cuándo se está escribiendo en territorio privado del firmware.


Si encuentra una inexactitud o un error en este material, seleccione el fragmento correspondiente y pulse Ctrl+Enter para .