Module electronics: driver, TIA/LA, DSP, controller, power
Behind the two optical sub-assemblies sits a small circuit board that does everything else: turns the host's electrical bits into laser current, turns photocurrent back into clean data, keeps the laser at constant power over temperature and age, measures and reports, obeys the low-speed pins and lives within a strict power budget. This page walks the board block by block and links each block to what you see from outside — pins, memory bytes and DDM values.
Block diagram
┌─────────────── module PCB ───────────────┐
host Tx lanes ──► CDR / DSP ──► laser DRIVER ──► TOSA (laser + MPD) ──► fibre
(retime, (bias + │
equalise, modulation) │ monitor current
gearbox) ▼
┌── MCU ───┐ ◄── I²C (SCL/SDA)
│ APC loop │ ◄── TX_DISABLE, RS0/1, LPMode…
│ ADC/DDM │ ──► TX_FAULT, RX_LOS, IntL
│ memory │
└──────────┘
host Rx lanes ◄── CDR / DSP ◄── LA / linear amp ◄── TIA ◄── ROSA (PD) ◄── fibre
│
power 3.3 V ──► inrush limiter ──► LDO / DC-DC (1.8 V, 1.2 V, 0.9 V …) ──► every block
The optical parts: TOSA, ROSA, BOSA; the clock block: CDR; the DSP in depth: Modulation & DSP.
Laser driver
| Function | How | What you see |
|---|---|---|
| Bias current — keeps the laser above threshold | a controllable current source, set by the MCU's APC loop | DDM Tx bias; rises with temperature and age (Tx bias & ageing) |
| Modulation current — the ones and zeros | a fast current switch (NRZ) or a multi-level driver (PAM4); 20–80 mA swing on a 10G DFB, a few mA on a VCSEL | extinction ratio; not visible in DDM |
| EML drive | a voltage swing of 1.5–2.5 V across the modulator instead of current into the laser | EML modules: bias field is the DFB section only |
| Pre-emphasis / de-emphasis, eye shaping | programmable by the vendor at production | eye mask compliance |
| TX_DISABLE | the pin (or soft bit) gates the driver's output stage; off within ~10 µs, on within 1 ms | Tx power drops to the floor |
| TX_FAULT | the driver detects an over-current, open laser or APC failure and raises the flag; the host pulses TX_DISABLE to reset | a latched fault on the host — Failures |
Receiver chain: TIA and LA
| Block | Job | Key parameters |
|---|---|---|
| TIA (trans-impedance amplifier) | converts photodiode current (µA) into voltage (mV); usually mounted inside the ROSA millimetres from the photodiode to keep noise low | transimpedance (kΩ), input noise (sets sensitivity), bandwidth ≈ 0.7 × symbol rate; on PAM4 a linear TIA with AGC so the four levels survive |
| LA (limiting amplifier) — NRZ | squares the TIA output to fixed digital levels regardless of input amplitude; contains the signal-detect comparator | LOS assert/de-assert thresholds (hysteresis ~2 dB) → the RX_LOS pin and byte |
| Linear amplifier + ADC — PAM4 | feeds the DSP with a faithful copy of the waveform | ENOB, bandwidth |
| Rx monitor | a copy of the average photocurrent, digitised by the MCU | DDM Rx power — the most trustworthy DDM value (Accuracy & limits) |
What the photodiode itself contributes: Receivers.
Retiming and signal processing
- CDR / retimer — recovers the clock and re-times data on one or both sides; found in SFP+ (host-side), SFP28/QSFP28 (both sides), optional bypass (CDR).
- DSP — on PAM4 modules replaces the LA/CDR pair with ADC → equaliser → decision → DAC; also performs the gearbox (8 host lanes at 50G ↔ 4 media lanes at 100G) and, in coherent modules, the FEC. The most power-hungry chip on the board (3–6 W in a 400G module) — Modulation & DSP.
- Linear (LPO) designs delete the DSP and let the host SerDes equalise; the module becomes driver + TIA only.
Microcontroller
The MCU runs the module: samples temperature, Vcc, bias, Tx and Rx monitors through an ADC and converts them with factory calibration; runs the APC and, where present, the TEC control loop; compares against thresholds and raises flags and IntL; answers the two-wire bus, emulating the memory map with its pages and banks; enforces passwords and protection; on CMIS modules runs the state machines and CDB. Details, and why this matters for programming: Controller & firmware.
Power distribution
| Stage | Purpose | Notes |
|---|---|---|
| Inrush limiter / hot-swap controller | ramps current on insertion so the host rail does not dip | SFF-8431 and QSFP specs limit inrush; a failing limiter shows as neighbours resetting on insertion |
| LDOs | 3.3 V → 1.8 / 1.2 / 0.9 V for driver, TIA, CDR | simple, low noise, ~70–80 % efficient — fine up to ~1.5 W |
| Switching regulators (buck) | for DSP-based 400G+/coherent modules | efficiency 85–90 %; the reason a 12 W module does not become a 15 W heater |
| Filtering | ferrite beads and capacitors on the 3.3 V input | required by the specs to keep bus noise off the host |
| Power class declaration | identity bytes tell the host the worst-case draw | Power & thermal |
DDM Vcc is measured after the input filter — typically 50–150 mV below the host rail (Temperature & voltage).
Low-speed pins and who handles them
| Pin | Family | Handled by | Effect |
|---|---|---|---|
| TX_DISABLE | SFP, XFP | driver enable (hardware) + MCU (soft bit) | laser off |
| TX_FAULT | SFP, XFP | driver fault detect → MCU → pin | latched fault |
| RX_LOS | SFP, XFP | LA signal detect → pin and status byte | no light |
| RS0 / RS1 | SFP+ | CDR / LA bandwidth select, via MCU | Rate select |
| MOD_ABS / ModPrsL / PRSn | all | a ground strap inside the module | presence |
| LPMode / LPWn | QSFP, CMIS | MCU keeps high-power blocks (DSP, laser) off | low-power state |
| ResetL / RSTn | QSFP, CMIS | MCU reset | re-initialisation |
| IntL / INT | QSFP, CMIS | MCU flag logic | interrupt |
| ModSelL | QSFP, QSFP-DD | MCU's I²C address decoder | bus sharing |
Pin definitions per family: SFP hardware, QSFP hardware.
Heat path
Electronics and optics dissipate into the metal housing, which is the module's heat sink; the cage's riding heat sink and the chassis airflow take it from there. Thermal pads couple the DSP and the laser driver to the housing. A module rated at 70 °C case can run its DSP junction 20–30 °C hotter — the reason airflow, not "the room being cool", decides module life.
What fails on the board
| Failure | Symptom | Distinguish from optics by |
|---|---|---|
| Driver | Tx fault, Tx power zero or halved with bias normal or at limit | bias reading vs Tx reading |
| TIA / LA | Rx power reads fine but no data; or LOS with light present | far end's Tx and your Rx are fine, yet no link |
| CDR / DSP | link at one rate only, LOL flags, high host-side BER | VDM & FEC |
| MCU / firmware | no I²C response, frozen DDM, stuck state machine | module invisible or values never change |
| Regulator | resets under load, low Vcc, neighbours affected | Vcc trend against traffic |
| Inrush limiter | insertion resets other modules on the card | happens only on hot-plug |
In CodingBox
Everything the electronics measure and control appears on the bench: DDM values and flags on DDM, Tx disable and rate-select state, the CMIS module state, and the identity that declares power class and CDR presence in the EEPROM editor. A module whose bias is at the driver's ceiling while Tx power sags is a board telling you its laser is finished.