123 Main Street, New York, NY 10001

Micro-LED / Pixel Matrix Driver

← Back to: Lighting & LED Drivers

Core idea: A micro-LED / pixel-matrix driver is an end-to-end scanned constant-current engine: it must move enough data, schedule grayscale precisely, and deliver stable peak current without ghosting.

When flicker, banding, sparkle, or non-uniformity appears, the fastest path is always evidence-first—verify link/FIFO integrity, then scan timing, then current-sink compliance/PDN, and finally gamma/calibration/thermal compensation.

Definition, scope boundary, and success metrics

This chapter locks the engineering contract for the whole page: what a pixel-matrix driver is responsible for, what is out of scope, and how “good” is verified with measurable evidence.

Working definition (AI-extractable)

A Micro-LED / Pixel Matrix Driver is a scanned constant-current engine that ingests high-speed pixel data, schedules grayscale modulation (bit-planes / PWM / hybrid), applies gamma + uniformity calibration, and drives row/column electrodes with controlled blanking and diagnostics.

What this page covers (in-scope)

  • Scan architecture + timing budgets: 1/N multiplexing, row dwell, blanking, overlap control.
  • Data ingest + pipeline integrity: SERDES/packet timing, FIFO safety margin, CRC/error coverage.
  • Image-quality engine: grayscale scheduling, gamma mapping, per-pixel uniformity correction and table lifecycle.
  • Evidence-driven validation: probe points, counters, and “first-fix” isolation steps.

What this page does not cover (out-of-scope)

  • Power-supply topologies (buck/boost/flyback/LLC/PFC) and mains front-end design.
  • Lighting control ecosystems (DALI/DMX/0–10V/PoE/PLC/wireless stacks).
  • Deep compliance/EMC/creepage design rules (handled in dedicated compliance subsystems pages).

Success metrics (what “good” means) → what proves it

  • Refresh rate (Hz): stable frame cadence; no frame skips under worst-case content (all-white / high-motion).
  • Grayscale depth (bits): dark-level stability (LSB planes) without shimmer; smooth gradients with minimal contouring.
  • Brightness uniformity (ΔL): corrected panel shows bounded spatial variation; correction tables do not saturate.
  • Color uniformity (Δu’v’): per-channel mapping remains consistent across temperature and aging windows (within compensation plan).
  • Artefacts: ghosting/crosstalk kept below visibility threshold by controlled blanking + settling margins.
  • Error rate: low CRC/frame-drop incidence; errors are detected, logged, and recoverable.
  • Thermal stability: derating is smooth (no step flicker); calibration remains valid across temperature zones.

Evidence chain fields (minimum set for verification):

  • TP1 (interface): SERDES clock/data integrity (CRC_ERR_CNT, LANE_DESKEW_ERR, LINK_RETRAIN_CNT).
  • TP2 (scan timing): ROW_EN / BLANK / LATCH timing (row dwell uniformity, overlap = 0 or controlled).
  • TP3 (current domain): column sink waveform + compliance margin (COMPLIANCE_LOW_FLAG, OC/SHORT flags).
  • Pipeline counters: FIFO_UNDERRUN_CNT / FRAME_DROP_CNT / BITPLANE_MISS_CNT.
  • Thermal: TEMP_ZONE, DERATE_STATE, DERATE_SLEW (rate-limited compensation).
  • Calibration: LUT_CRC, LUT_VERSION, APPLY_SAT_CNT (correction saturation statistics).
Data domain Timing domain Current domain Calibration domain Thermal domain

Use when / Don’t use when (fast fit check)

Use when

  • Small pitch + high resolution makes pixel data throughput a bottleneck → SERDES + buffering become mandatory.
  • High refresh + deep grayscale makes row dwell and bit-plane scheduling tight → timing budgets dominate image quality.
  • Uniformity is a product requirement (near-view, tiled panels) → gamma + per-pixel correction tables must be engineered as a lifecycle.

Don’t use when

  • Static (non-scanned) driving or simple low-res signage where scan timing and bit-plane budgets are not the limiting factors.
  • The dominant issue is power conversion (rail ripple/UVLO/inrush) → should be addressed in driver topology / PSU pages.
  • The dominant issue is network/control protocol → handled in dedicated interface/control-node pages.
End-to-End Pixel Driving Pipeline Data ingest → buffering → grayscale scheduling → scan timing → current drive → matrix → sensing & calibration DATA DOMAIN Video In Host / SoC Packet De-serialize CRC Check TP1 SERDES CLK/DATA Frame Buffer FIFO Level SCHEDULING DOMAIN Bit-plane Engine Dither Temporal / Spatial Row Timing + Blanking + Latch TP2 ROW_EN / BLANK / LATCH CURRENT DOMAIN Row Driver Column CC Sinks Compliance / Match TP3 COL_OUT waveform Micro-LED Matrix Parasitics: IR drop + Cpixel CALIBRATION + TELEMETRY Gamma LUT Version + CRC Uniformity LUT Per-pixel correction Fault Log CRC / FIFO / Thermal Temp Sensor Zone / Board Optical Sense Factory / Field Compensation Control Rate-limit + smoothing Key counters / flags CRC_ERR_CNT · FIFO_UNDERRUN_CNT · FRAME_DROP_CNT · THERM_DERATE · COMPLIANCE_LOW_FLAG
Figure F1. End-to-end pipeline map showing where throughput, timing, current compliance, calibration integrity, and thermal derating become measurable failure points.

Matrix architectures and scan modes (1/N multiplexing done right)

This chapter turns “row/column scan” into a set of hard constraints and measurement rules: scan ratio changes peak current, shrinks row dwell, and raises the risk of ghosting unless blanking and settling are engineered.

Common scan architectures (minimal set that matters)

  • Row scan + column constant-current sinks (most common): rows select, columns set current per pixel code during row dwell.
  • Column scan + row sources (less common): roles swap; often harder to maintain matching and headroom across long source paths.
  • Segmented panels: large matrices split into segments; each segment repeats row/column blocks to reduce line resistance and timing skew.

What 1/N scan ratio changes (constraints you must budget)

Peak current scaling (brightness target)

With multiplexing, the average light output is achieved by higher peak current during active row time. A practical rule: Ipeak ≈ Iavg × N (for the same average brightness target). This immediately stresses current-sink compliance and worsens IR drop sensitivity.

Row dwell shrink (refresh + overhead)

Frame time is divided across rows plus overhead (blanking, latch, settle). As N grows, each row gets less dwell. When dwell becomes tight, LSB grayscale planes and settling time compete for the same budget.

Artefact risk (ghosting / crosstalk)

Switching rows and columns excites parasitics (Cpixel, line capacitance). Without break-before-make, controlled blanking, and predictable settle, unintended current flows cause ghosting or shimmer.

Global vs local dimming domains (avoid “LUT saturation” failures)

  • Global domain (coarse): per-row or per-zone current scaling handles big brightness moves quickly with wide range.
  • Local domain (fine): per-pixel correction (uniformity LUT) compensates mismatch and spatial variation with limited range.
  • Rule of thumb: use global for range, local for correction. If local is forced to do range, LUT saturates and uniformity breaks at high brightness.

What to measure (minimum for “scan integrity”):

  • Row dwell uniformity: measure ROW_EN width across rows; large drift shows as banding/uneven brightness.
  • Blanking time: BLANK must cover the worst-case settle + latch transitions; insufficient blanking increases ghosting.
  • Enable overlap: overlap should be zero or explicitly controlled; uncontrolled overlap creates unintended current paths.
  • Row edge settle: probe row line to confirm edge ringing settles before sinks drive meaningful current.
  • Compliance margin: during peak current pulses, ensure sinks remain in regulation (no compliance collapse / droop).
Scan Architecture Variants + Ghosting Hotspots Compare row-scan (common) vs column-scan (less common) and locate parasitic-driven ghosting paths A) Row Scan + Column CC Sinks (common) Row Driver Blanking Precharge optional Column CC Sinks compliance + match Pixel Matrix Parasitics R_line C_pixel Dashed path = ghosting risk TP ROW_GATE TP COL_OUT B) Column Scan + Row Sources (less common) Row Sources matching harder Column Blanking Pixel Matrix Source-path matching + long-line droop often dominate Timing strip (simplified) ROW_EN BLANK LATCH Rule: overlap = 0 (or controlled) + settle before drive
Figure F2. Scan architecture variants highlighting where parasitics create ghosting paths, plus a minimal timing strip to verify row dwell, blanking coverage, and overlap control.

Throughput and timing budgets (interface → grayscale → refresh)

Turn “high-speed serial” into hard numbers: required line rate, time slices per bit-plane, row dwell after overhead, and the safety margin needed to prevent FIFO starvation and visible artefacts.

1) Throughput budget (from pixels to Gbps)

Required payload rate (concept)

Rreq ≈ P × Beff × F × K, where P is active pixels per frame, Beff is effective bits per pixel (channels + packing), F is frames/s, and K is total overhead (>1).

What “overhead K” typically includes

Link encoding + packet headers + CRC/retry + lane alignment, plus scan-related overhead (blanking/latch/settle), plus grayscale strategy overhead (bit-plane scheduling, dither updates), plus segmentation inefficiency.

Per-lane requirement (when multiple lanes exist)

Rlane ≈ Rreq / lanes / η, where η is usable efficiency (utilization & protocol overhead). High utilization without headroom makes the system fragile: any jitter or burst overhead can trigger FIFO underrun.

2) Timing stack (frame → bit-planes → rows → overhead)

  • Frame period: Tframe = 1/F. Higher refresh means a smaller total time budget.
  • Bit-plane / subframe time: Tplane(k) is allocated per grayscale strategy (binary-weighted planes make MSB dominate).
  • Row dwell: each plane is split across rows; effective dwell is row slot minus overhead.
  • Fixed overhead per row: BLANK + LATCH + SETTLE (and optional precharge) are “hard costs” that do not scale down nicely.

Why deep grayscale + high refresh is hard: binary-weighted bit-planes grow in count and scheduling complexity while Tframe shrinks, so LSB planes become extremely short. Any pipeline jitter or row overhead eats the LSB budget first → dark-level instability, shimmer, and banding.

Bit-plane time explosion Row overhead dominates LSB becomes fragile FIFO starvation shows as artefacts

3) What to measure (evidence chain that correlates to visible defects)

Interface lane utilization & integrity

Track utilization % (average and peak under worst-case patterns), and integrity counters: CRC_ERR_CNT, LINK_RETRAIN_CNT, LANE_DESKEW_ERR. A stable system preserves headroom so bursts do not starve downstream scheduling.

Timing jitter (row/line cadence stability)

Probe ROW_EN period and width consistency; verify BLANK placement repeatability. Row/line jitter maps directly to duty skew → banding, “breathing,” and dark-level shimmer.

FIFO under/over-run (most load-bearing)

Check FIFO_UNDERRUN_CNT, FIFO_OVERRUN_CNT, FRAME_DROP_CNT, BITPLANE_MISS_CNT. Underrun correlates to random sparkles or missing planes; overrun correlates to tearing or wrong-frame output.

Timing Budget Ladder Frame → bit-planes → row slots → overhead (blank / latch / settle) Level 1: Frame T_frame = 1 / Refresh Level 2: Bit-planes / Subframes MSB LSB planes get squeezed first Risk Deep bits + High Hz = tight LSB Level 3: Row slots inside one plane Row dwell BLANK LATCH SETTLE Overhead Blank Latch Settle TP ROW_EN / BLANK FIFO_UNDERRUN · BITPLANE_MISS Rule: prove “no starvation” first (FIFO stable) → then optimize grayscale and artefacts
Figure F3. Timing budget ladder that exposes where high refresh and deep grayscale squeeze LSB planes, and where row overhead (blank/latch/settle) must be budgeted to avoid FIFO-driven artefacts.

Grayscale generation methods (PWM, PAM, hybrid, bit-plane)

Select a grayscale strategy that fits the throughput and row-time budget (H2-3) while keeping dark-level stability and transition artefacts under control.

1) What the grayscale engine must guarantee

  • Monotonic code-to-light: increasing code reliably increases light output (after gamma mapping).
  • Low-code stability: the darkest steps remain stable (no shimmer from LSB timing stress).
  • Clean transitions: plane updates and row switching do not create overshoot-driven ghosting.

2) Method trade-offs (engineer-facing)

Binary-weighted bit-plane PWM

Straightforward mapping and calibration attachment (gamma/LUT), but MSB dominates time and LSB planes become fragile when refresh is high and overhead is non-trivial. Typical failures: low-bit flicker, banding under jitter, sparkle under plane miss.

PAM (amplitude modulation)

Reduces plane switching pressure in some designs, but becomes sensitive to current matching, nonlinearity, and temperature drift. Typical failures: hue/brightness nonlinearity, cross-temperature inconsistency, calibration drift.

Hybrid (PAM/MSB + PWM/LSB + dither)

Aims to protect dark-level stability under tight budgets by distributing resolution across time and/or amplitude. Trade-off is verification complexity: must confirm plane statistics, dither behavior, and row duty consistency with counters and probes.

3) Dithering (temporal/spatial) as a budget tool

  • Temporal dither: spreads low-bit resolution across frames to reduce contouring without lowering refresh, but can cause shimmer if not rate-limited.
  • Spatial dither: masks quantization steps spatially; must be controlled to avoid sparkle/grain that becomes visible at close viewing.
  • Practical rule: dither should never hide starvation; if BITPLANE_MISS grows, fix throughput/timing first (H2-3).

4) Artefacts → likely cause → evidence

Low-bit flicker (dark shimmer)

Cause: LSB planes too short or too jittery. Evidence: LSB duty variance, row jitter, BITPLANE_MISS correlation with visible shimmer.

Banding (spatial steps / stripes)

Cause: per-row duty skew or unstable plane scheduling. Evidence: ROW_EN width drift across rows, BLANK placement drift, duty skew statistics.

Shimmer / sparkle (random pixels)

Cause: starvation-driven missing updates or uncontrolled dither. Evidence: FIFO_UNDERRUN + BITPLANE_MISS increase during sparkle events; CRC errors on ingest path.

5) What to measure (minimum verification checklist)

  • LSB plane stability: LSB duty repeatability across frames; dark-field variance under static content.
  • Transition overshoot: column sink waveform around latch/blank edges (overshoot/undershoot implies coupling risk).
  • Per-row duty skew: ROW_EN width distribution across rows; BLANK alignment repeatability.
  • Plane-miss correlation: BITPLANE_MISS and FIFO_UNDERRUN must remain flat during artefact-free operation.
Grayscale Engine Block Diagram LUT mapping → scheduling → dither → row timing → column modulation Frame Buffer FIFO safe Gamma LUT Version+CRC Uniformity LUT Per-pixel Bit-plane Scheduler stats Dither temp/spatial Row timing ROW_EN · BLANK · LATCH TP ROW Column modulation PWM PAM HYB TP COL Matrix Counters / stats that close the loop BITPLANE_MISS · DUTY_SKEW_STAT · FIFO_UNDERRUN · CRC_ERR · LUT_CRC · APPLY_SAT_CNT Validation rule: stable FIFO + consistent row duty → then tune dither and grayscale strategy If artefacts correlate with FIFO_UNDERRUN or BITPLANE_MISS, fix throughput/timing before image-quality tuning.
Figure F4. Grayscale engine dataflow showing where LUT mapping, plane scheduling, dither injection, row timing, and column modulation must be verified with taps and counters to prevent shimmer/banding.

Pixel current generation (constant-current sinks, headroom, accuracy)

Pixel brightness is limited by the current sink’s compliance margin, channel matching, and temperature drift—especially under 1/N scanning where peak current and wiring IR drop can collapse headroom and create spatial nonuniformity.

1) Constant-current sink fundamentals (what “constant” depends on)

Setpoint vs deliverable current

A channel has a target current (Iset) set by a reference (Rset/DAC/LUT), but it can only deliver that target if the output remains in compliance. When the sink runs out of headroom, the channel leaves regulation and pixel current becomes load-limited.

Compliance / headroom (the non-negotiable constraint)

Define compliance margin as Vavailable − Vrequired. Margin must stay positive across the worst combination of peak scan current, farthest routing, highest temperature, and fastest switching. Margin collapse is a primary cause of “far-end dimming” and content-dependent banding.

Accuracy: mismatch and drift

Two error classes dominate: channel mismatch (fixed stripes / static nonuniformity) and reference drift (global or regional brightness shift with temperature/time). Both should be quantified with per-channel statistics, not judged by eye.

2) Scan peak current and why headroom collapses faster than expected

Under 1/N multiplexing, an engineering approximation is Ipeak ≈ Iavg × N for comparable perceived brightness. Higher peak current increases wiring IR drop and supply droop within the row window, directly shrinking compliance margin.

I_peak scales with N IR drop increases Local rail droops Margin collapses

3) Low-Vf micro-LED + wiring IR drop (the spatial nonuniformity mechanism)

  • Low Vf does not guarantee easy regulation; it often means the system operates closer to the headroom boundary.
  • Longer column/return routing increases Rline, so Vdrop = Ipeak × Rline grows at the far end.
  • As the far-end node voltage shifts, the sink may leave compliance only for some rows/planes—making nonuniformity content-dependent.

4) What to measure (evidence chain that separates root causes)

Compliance margin (worst-case, not typical)

Measure Vrail_local, Vsink_out, and (if accessible) Vpixel_node at near and far columns while running the maximum-stress pattern (high brightness, highest N, fast transitions). Confirm the minimum margin stays above a safe threshold.

Reference drift

Track Iref or the effective current setpoint across temperature and time (cold start → thermal steady state). Correlate global brightness shifts with Iref drift and rail variation.

Channel mismatch statistics

Quantify per-channel current distribution using σ/mean and percentile spread (P99–P1). Stable stripes under static content typically follow fixed mismatch or routing asymmetry.

Column Current Sink + Compliance + IR Drop Map Where headroom is lost: local rail droop + line resistance + peak scan current V_local rail row-window droop DECAP DECAP DECAP TP TP1: V_rail_local CC sink array matching + drift CH CH CH CH TP TP2: V_sink_out Micro-LED matrix near vs far IR drop R_line (near) R_line (far) Return path (R_return) TP TP3: V_pixel_node (near/far) Margin Stats σ/mean · I_ref_drift · Margin_min COL lines
Figure F5. Compliance margin map showing how local rail droop and wiring IR drop under peak scan current reduce headroom, producing near/far nonuniformity and content-dependent dimming.

Row/column driver integrity (ghosting, crosstalk, charge injection)

In scanned matrices, the most visible failures come from unintended current: overlap, leakage paths, parasitic capacitance, charge injection, slow settling, and line ringing that create “ghost” light outside the intended row window.

1) Ghosting symptom patterns (useful for triage)

Fixed ghost (same location)

Often indicates a persistent leakage path, asymmetrical routing, or a stuck/biased node. The artefact remains under static content and does not strongly track transition edges.

Content-dependent ghost (worse on bright scenes)

Commonly driven by charge injection and parasitic coupling proportional to dv/dt. The artefact scales with transitions and edge sharpness.

Edge/far-end ghost (worse on long lines)

Often points to ringing/reflections on row/column lines. The artefact is sensitive to edge rate, termination, and line length.

2) Primary ghosting sources (causal, measurable)

  • Overlap: break-before-make fails and two paths conduct briefly during switching.
  • Leakage paths: off-state leakage through switches/ESD structures keeps a small current flowing.
  • Parasitic capacitance: coupled dv/dt injects charge into pixel nodes and column lines.
  • Charge injection: switching devices push charge into the pixel node during transitions.
  • Slow settling: row/column waveforms do not stabilize before the visible window starts.
  • Ringing: long-line resonance crosses thresholds and creates false turn-on events.

3) Techniques that directly break the causal chain

Controlled blanking

Moves switching transients out of the visible window. It does not fix leakage, but prevents transition energy from becoming visible.

Precharge / discharge

Forces pixel/column nodes to a known potential before enabling a row, reducing dv/dt-induced injection and minimizing floating-node behaviour.

Break-before-make + clamp paths

Ensures the previous row is fully off before the next turns on, while clamp paths provide a controlled place for injected charge to go instead of creating unintended LED current.

4) What to measure (three-waveform capture that resolves most cases)

  • Row waveform settling (TP_ROW): overshoot/ringing, stable level time, and any overlap with the visible window.
  • Column transient (TP_COL): step response, current spikes, and recovery time during latch/blank transitions.
  • Off-phase leakage (TP_PIX): pixel node drift or residual current while the row is disabled.

Correlate visible artefacts with counters when available (e.g., DUTY_SKEW_STAT, OVERLAP_ERR, LEAK_STAT) and with edge-rate configuration changes.

Ghosting Causal Chain Timing + transitions + parasitics → unintended current → visible artefact Row timing ROW_EN / BLANK overlap risk Column edge PWM / step dv/dt injection Parasitics C_couple · C_pix R_line · L_line Node disturb ringing / bump threshold crossing Unintended I I_leak / I_spike off-phase light Visible artefact ghost / sparkle TP TP_ROW TP TP_COL TP TP_PIX Stats to correlate with artefacts OVERLAP_ERR · LEAK_STAT · DUTY_SKEW_STAT · EDGE_RATE_CFG · SETTLE_TIME
Figure F6. A causal chain that links timing overlap, parasitic coupling, charge injection, and line ringing to unintended LED current and visible ghosting/sparkle—anchored by three key probe points.

Gamma, color, and perceptual mapping (why linear current ≠ linear brightness)

Gamma is an implementation mapping from input code to a target optical output (or an equivalent electrical target). Without a defined gamma pipeline and measurable error metrics, “linear current” produces non-linear perceived brightness and unstable gray/white balance.

1) Gamma LUT in driver terms (what it maps and where it lives)

Definition

A gamma LUT maps input codetarget level used by the modulation engine. The target level is typically one of: Itarget (current target), plane weight (bit-plane schedule), or a hybrid control word. The map must be stable and versioned.

Placement

Gamma should be a defined stage in the pixel pipeline (after code fetch / before modulation), not a “tuning knob.” A fixed placement ensures that later stages (uniformity correction, plane scheduling) do not unintentionally distort the curve.

Versioning & integrity

Treat gamma as engineering data: store GAMMA_VER and verify GAMMA_CRC at boot. A corrupted LUT looks like contouring, wrong mid-tones, or per-channel imbalance that cannot be fixed by timing alone.

2) Per-color mapping (RGB) and cross-channel alignment

RGB channels rarely share the same electro-optical curve. Use per-channel gamma mapping (separate LUTs or parameterized curves) to keep neutral grays stable across the code range. Cross-channel alignment is verified by measuring how well R/G/B outputs track the intended ratio over dark-to-bright transitions.

R LUT G LUT B LUT RGB align error

3) What breaks gamma in real drivers (not theory)

  • Modulation quantization: low-code levels depend on short planes and edge precision; instability shows up as flicker and contouring.
  • Channel gain differences: the same target word yields different optical output per color or per column if gain/matching is not controlled.
  • Thermal drift: temperature shifts the effective output for the same target, especially in low-code regions.

4) What to measure (curves and pass/fail metrics)

Luminance vs code curve

Measure L(code) for each channel with denser sampling at low codes. Keep a reference target curve and log deviations for regression.

Gamma error Δ

Define Δ(code) = Lmeas(code) − Ltarget(code) (or relative error). Track P95/P99 of |Δ| and the variance at low codes to detect unstable LSB behavior.

Per-channel alignment error

Quantify the RGB tracking error for neutral gray steps (dark → mid → bright). Persistent low-code color shift indicates mapping and/or modulation limits rather than uniformity tables.

5) Practical correction loop (data flow, not lab theory)

  1. Capture L(code) per channel using a repeatable pattern.
  2. Compute Δ(code) and a compact set of metrics (P95 |Δ|, low-code variance).
  3. Update LUT/parameters and bump GAMMA_VER.
  4. Write and verify GAMMA_CRC; keep rollback-safe copies if updated in the field.
Gamma Mapping Flow Input code → per-channel LUT → modulation → measured output → correction loop Input code PIX_CODE TP TP_CODE Gamma LUTs per-channel mapping R G B GAMMA_VER · GAMMA_CRC Modulation PWM / PAM / HYB TP TP_MOD Optical output L_out · RGB_out TP TP_LUM Measure L(code) Error Δ(code) Metrics GAMMA_ERR_P95 · LOW_CODE_VAR · RGB_ALIGN_ERR update LUT
Figure F7. Gamma is a versioned, integrity-checked mapping stage in the driver pipeline: code → per-channel LUT → modulation, validated by L(code) and Δ(code) metrics.

Uniformity calibration (factory vs field) and per-pixel correction storage

Uniformity calibration is an engineering data path: measurements generate correction tables, tables are stored with integrity protection, loaded at boot, applied deterministically in the pixel pipeline, and updated with rollback-safe versioning.

1) Correction types (coarse to fine)

Per-row / per-column correction

Corrects systematic gradients caused by routing, supply distribution, and row/column asymmetry. Lower table size and bandwidth than per-pixel correction; useful as a first layer.

Per-pixel gain/offset

Provides the highest uniformity improvement by compensating pixel-level variation. This is table-heavy and requires a defined pipeline insertion point and saturation monitoring to avoid “over-correction.”

Bad-pixel map

Flags pixels that cannot be corrected within limits. The driver pipeline should treat the map as authoritative engineering data and track bad-pixel count trends over life.

2) Where correction is applied in the pipeline (deterministic ordering)

Apply correction at a fixed stage to keep behavior repeatable. A common driver-facing ordering is: Input code → Gamma mapping → Uniformity correction (gain/offset) → Modulation. The key requirement is to keep the ordering stable, versioned, and traceable in logs so field reports can be reproduced.

3) Storage options and integrity (OTP vs flash vs RAM load)

OTP

Suitable for small, immutable identifiers or factory baseline tables. Limited field flexibility; corruption is unlikely but updates are constrained.

External flash

Enables large tables and field updates. Requires robust integrity (CRC/ECC) and a rollback-safe swap procedure to survive power loss.

RAM load at boot

Fast runtime access but must include boot-time verification and fail-safe behavior. Load time and verification outcomes should be logged.

4) Update strategy (versioning + rollback-safe A/B tables)

  1. Write candidate table to the inactive slot (B), including metadata (VER, SIZE).
  2. Compute and store TABLE_CRC (and ECC if supported).
  3. Boot-load and verify: recompute LOAD_CRC and compare; track ECC_ERR_CNT.
  4. Only after verification, atomically switch ACTIVE_PTR to the new slot.
  5. On any failure, keep the previous active table (A) and raise a diagnostic flag.

5) What to measure (health metrics that predict failure)

CRC / ECC counters

Log TABLE_CRC, LOAD_CRC, and ECC_ERR_CNT to prove table integrity end-to-end. Integrity failures must prevent activation.

Load time

Track boot load latency for large tables. Load regressions may indicate flash wear, bus contention, or suboptimal table packing.

Correction saturation statistics

Monitor how often gain/offset clamps hit limits (e.g., SAT_CNT, SAT_RATIO, P95_GAIN). Rising saturation suggests the physical system is drifting beyond what calibration can safely compensate.

Bad-pixel trend

Track BADPIX_CNT over time and across updates. A steady increase is a strong reliability signal and should trigger tighter integrity checks.

Calibration Data Lifecycle Measure → generate → store → boot load → apply → verify → rollback-safe update Factory measure L / RGB map Generate tables GAIN / OFF / MAP Store VER · CRC · ECC OTP FLASH Boot load LOAD_CRC Apply in pipeline Gamma Uniformity CORR Modulation LED Verify & health TABLE_CRC · LOAD_CRC · ECC_ERR_CNT LOAD_TIME · SAT_RATIO · BADPIX_CNT Field update (A/B swap) Table A Table B PTR ACTIVE verify + log write B → CRC → verify → switch
Figure F8. Uniformity calibration is a controlled data lifecycle: tables are generated, stored with integrity checks, loaded at boot, applied deterministically in the pipeline, and updated using rollback-safe A/B swapping.

Aging & thermal compensation (lumen maintenance for micro-LED matrices)

Lumen maintenance requires closed-loop compensation that stays smooth and verifiable: temperature-driven derating should not introduce visible step changes, and aging compensation must track per-color drift with a controlled update cadence.

1) Aging drift model and compensation cadence

Aging drift is best treated as engineering data with predictable time scales. A practical partition is: fast loop for temperature changes (seconds) and slow loop for aging drift (hours to days). Per-color drift is expected; compensation must be at least R/G/B-aware and optionally zone-aware if the matrix ages unevenly.

Aging estimators

Track drift using slope-style parameters (example): AGING_SLOPE_R/G/B, plus offsets if needed. Update slowly to avoid injecting low-frequency artifacts.

Cadence rules

Aging updates should be rate-limited and time-gated (example: minimum interval + confidence threshold) so the pixel pipeline does not “breathe” over minutes. Treat each update as a versioned event.

2) Thermal derating architecture: sensors, zones, and curves

Thermal derating must be driven by repeatable sensor placement and deterministic zone control. A single global derate often causes non-uniform dimming; zone-based limits reduce hot-spot risk while keeping perceived uniformity stable.

T_DIE NTC T_ZONE I_LIMIT_ZONE DERATE_GAIN_ZONE HYST

Derate curve

Implement temperature→limit as a piecewise curve or LUT. Include hysteresis to prevent oscillation near thresholds and clamp outputs to safe bounds (no negative gain, no exceeding current headroom).

Zone control

Map sensors to zones and produce zone-level limit words (example: I_LIMIT_ZONE[k] or GAIN_ZONE[k]). Keep mapping and zone count stable across firmware revisions to preserve comparability of field data.

3) Artifact avoidance: smoothing + rate limits + “no step changes” guarantees

Compensation is only acceptable if it is visually quiet. This requires explicit mechanisms rather than ad-hoc tuning: low-pass filtering for noisy inputs, maximum step limits for output words, and bounded dI/dt to prevent visible jumps.

  • Smoothing: apply LPF to temperature and estimator outputs (example field: TEMP_FILTER_TAU).
  • Rate limit: enforce COMP_RATE_LIMIT so the effective brightness changes smoothly.
  • Step clamp: cap single-update deltas (COMP_STEP_MAX) to eliminate visible steps.
  • Saturation monitor: track clamp hits (SAT_CNT / SAT_RATIO) to detect “calibration is over-stretching.”

4) Pipeline insertion and integrity (keep behavior reproducible)

Apply thermal/aging compensation at a fixed insertion point in the driver pipeline (for example, as a gain/limit word that gates the modulation target). Record table/version context so field reports can be reproduced: COMP_VER, PIPE_ORDER_ID, and current active calibration/gamma versions.

5) What to measure (evidence chain)

Temperature vs derate curve

Log pairs (T, I_limit/gain) and verify hysteresis and slope limits. The pass/fail gate is not the curve shape, but whether it avoids visible step changes while keeping the matrix within safe headroom.

Aging slope estimates

Trend AGING_SLOPE_R/G/B (and zone variants if used). A sudden slope jump is a stability alarm for the estimator.

Compensation stability

Track brightness-change statistics (example: FRAME_DELTA_L distribution or COMP_STABILITY_P95). Low-frequency wobble indicates inadequate smoothing or an overly aggressive cadence.

Thermal / Aging Closed-Loop Map Sensors → estimators → smoothing + rate limit → correction update → pipeline injection Sensors T_DIE NTC T_ZONE[0..n] Estimators Thermal estimator FAST LOOP Aging estimator SLOW LOOP Stability guards LPF TEMP_FILTER_TAU Rate limit STEP_MAX / dI/dt Correction update I_LIMIT_ZONE DERATE_GAIN RGB_COMP Pipeline injection Gamma Uniformity CORR Modulation target Matrix output Telemetry & logs COMP_VER · PIPE_ORDER_ID · SAT_RATIO · COMP_STABILITY_P95 AGING_SLOPE_R/G/B · I_LIMIT_ZONE · DERATE_GAIN inject gain/limit
Figure F9. Closed-loop compensation uses explicit stability guards (LPF, rate limit, step clamp) to keep thermal derating and aging updates smooth, verifiable, and reproducible across firmware revisions.

Diagnostics & protection (what must be detected and how it is logged)

Fault reporting only helps if it is concrete: define fault layers, detection mechanisms, counters, timestamps, and recovery paths. The goal is reproducible evidence that links symptoms to interface, pipeline, scan, sink, or thermal root causes.

1) Fault layers (coverage map rather than a flat list)

Organize detection by layers so logs remain actionable. A recommended split is: InterfacePipelineScan timingSink/power/thermal. Each layer must output flags and counters, plus a minimal context snapshot.

2) Pixel/line open/short detection (where feasible) + electrical protection

Pixel-level open/short detection is not always direct; practical implementations use line-/group-level proxies: sink compliance margin, abnormal current distribution, and row/column waveform anomalies. Protection must include overcurrent and thermal trips, with graded recovery to prevent reset oscillations.

Detectable proxies

SINK_COMPLIANCE_LOW, OCP_TRIP, OPEN_SUSPECT, SHORT_SUSPECT, plus per-line summaries when available.

Latch-up indicators (driver-facing)

Use a combined signature (overcurrent + abnormal persistence + thermal rise or repeated resets) and log it as LATCHUP_FLAG with counters (OCP_TRIP_CNT, UVLO_CNT).

3) Interface errors (CRC, framing, lane deskew) and buffering failures

High-speed serial errors must be translated into evidence fields that correlate with visible artifacts. Log CRC and framing faults, lane deskew failures, and FIFO under/over-run events with their associated counts and a short context snapshot.

IF_CRC_ERR_CNT FRAME_ERR_CNT LANE_DESKEW_FAIL FIFO_UNDERRUN FIFO_OVERRUN RETRY_CNT

4) Event logs: timestamped codes + counters + context snapshot

Logs must be structured so field failures can be reproduced. A minimal record includes: timestamp, fault code, fault layer, counters, and a context snapshot (temperature, active table versions, scan mode, and any relevant watermarks).

Recommended log record schema

TS, FAULT_LAYER, FAULT_CODE, FLAGS, COUNTERS, TEMP(T_DIE/T_ZONE), ACTIVE_PTR, TABLE_VER, GAMMA_VER, FIFO_WM, RECOVERY_ACTION

5) Recovery policy (graded actions, measurable recovery time)

Recovery should be deterministic and tiered: retry for transient interface faults, degrade brightness for thermal margin, and blank/reset only when safety or integrity is compromised. Each action must be timed and counted.

  • Retry path: re-sync / re-deskew / re-request frame; log RETRY_CNT.
  • Degrade path: apply safe derate; log DERATE_ACTIVE and temperature snapshot.
  • Blank path: controlled blanking when pipeline integrity fails (e.g., table CRC fail).
  • Reset path: last resort; log RESET_REASON and time-to-recover.

6) What to measure (coverage + injection + recovery)

Fault flags + counters

Every covered fault must have a flag and a counter. Counters should separate detected / recovered / unrecovered to prevent silent “self-heal” masking.

Error injection tests

Inject CRC faults, force deskew failures, trigger FIFO underruns, and simulate over-temp thresholds. Verify logs contain the expected fields and that recovery follows the intended tier.

Recovery time

Measure time to stable output after each recovery action (example fields: RECOVERY_MS_P95, BLANK_TIME_MS).

Fault Coverage Map Layered faults → log bus → recovery manager → measurable outcomes Fault layers Interface CRC Framing Deskew Pipeline TABLE_CRC_FAIL LOAD_FAIL FIFO Scan timing ROW_OVERLAP BLANK_VIOL JITTER Sink / power / thermal COMPLIANCE_LOW OCP_TRIP THERM_TRIP Event log bus TS · LAYER · CODE FLAGS · COUNTERS TEMP · VERSIONS FIFO_WM · ACTION Recovery manager Retry / resync Degrade (safe derate) Blank (integrity) Reset (last resort) RECOVERY_MS_P95 · BLANK_TIME_MS · RETRY_CNT measurable outcomes select action
Figure F10. Layered fault coverage routes all evidence into a structured log bus (timestamp + counters + context), then drives a deterministic recovery manager with measurable recovery-time metrics.

Validation & debug playbook (symptom → evidence → isolate → fix)

This chapter is a field-usable decision flow: each symptom maps to 2 probes + 2 registers/counters, then converges to the most likely root cause and a first fix that stays inside the driver/module boundary.

Core debug loop (always follow this order)

  1. Freeze a repeatable stimulus: static gray ramp, deep-gray patch, solid color, and a high-motion pattern (select one that reproduces).
  2. Check data integrity first: CRC / deskew / FIFO counters. Random visual artifacts often originate here.
  3. Check scan integrity second: overlap, blanking, settle time, precharge/discharge.
  4. Check electrical reach third: supply droop near matrix, sink compliance/headroom margin, and IR drop across rails.
  5. Apply one first fix, then re-run the same stimulus and verify counters and waveforms improved (avoid multiple simultaneous changes).

Evidence fields (standardized to keep debugging fast)

Probes: ROW_GATE Probes: COL_SINK_OUT Probes: V_MATRIX_SUPPLY Probes: IF_CLK / LANE Regs: IF_CRC_ERR_CNT Regs: FIFO_UNDERRUN_CNT Regs: LANE_DESKEW_FAIL Regs: SINK_COMPLIANCE_LOW_CNT Regs: TABLE_CRC_FAIL Regs: THERM_TRIP_CNT

Symptom decision cards (each = 2 probes + 2 regs + first fix + example MPNs)

Symptom 1 — Flicker / shimmer

Quick check: strongest in deep-gray and near LSB planes; may correlate with temperature/compensation updates.

2 probes: ROW_GATE (jitter/overlap) + V_MATRIX_SUPPLY (droop/ripple).
2 regs: SCAN_TIMING_ERR_CNT + COMP_STEP_MAX_HIT_CNT (or THERM_TRIP_CNT).

Likely root causes: (a) row dwell / blanking margin too tight, (b) compensation step/rate limit missing, (c) supply ripple mapped into current modulation.

First fixes: increase blanking + enforce break-before-make; add LPF + step clamp for compensation; improve local decoupling at the matrix rail and reduce peak current swing during scan.

Example MPNs that commonly matter:

  • Temperature sensor (for stable derate): TI TMP117, Maxim MAX31875
  • Local rail protection / inrush (module boundary): TI TPS25947, TI TPS2595
  • Constant-current sink drivers (matrix-side): TI TLC5958, Macroblock MBI5153

Symptom 2 — Banding / gradient steps

Quick check: visible on gray ramps; often repeats in fixed rows/columns or at specific code transitions.

2 probes: COL_SINK_OUT (per-row modulation shape) + ROW_GATE (dwell skew).
2 regs: GAMMA_VER/CAL_VER + TABLE_CRC_FAIL (or DITHER_STATUS).

Likely root causes: (a) dithering disabled/ineffective, (b) gamma LUT quantization or wrong pipeline order, (c) current sink mismatch or per-row duty skew.

First fixes: enable temporal/spatial dithering; confirm gamma/uniformity insertion order; widen LSB-plane margin; re-run uniformity calibration if correction is saturating.

Example MPNs that commonly matter:

  • Matrix LED driver / sink array: TI TLC5957, ISSI IS31FL3741, Macroblock MBI5353
  • Calibration table storage (external flash): Winbond W25Q64JV, Microchip SST26VF064B

Symptom 3 — Random sparkling pixels

Quick check: appears as sporadic bright dots/blocks; may worsen with higher refresh/bit-depth.

2 probes: IF_CLK / LANE (margin) + V_MATRIX_SUPPLY (droop coupling).
2 regs: IF_CRC_ERR_CNT + FIFO_UNDERRUN_CNT (and check LANE_DESKEW_FAIL).

Likely root causes: (a) interface bit errors (CRC), (b) FIFO underrun/overrun from throughput mismatch, (c) deskew margin / SI ringing causing false transitions.

First fixes: reduce lane rate or overhead to restore margin; enable retries/re-sync policy; adjust deskew/window; improve termination/return paths and isolate noisy rails from interface reference.

Example MPNs that commonly matter:

  • High-speed SERDES (cable link examples): TI DS90UB953-Q1 + TI DS90UB954-Q1
  • Alternative SERDES family examples: Analog Devices (Maxim) MAX96717 + MAX96724
  • Bridge / glue logic examples (data path): Lattice CrossLink-NX LIFCL-40

Note: These SERDES parts are examples for “high-speed serial ingest”; select by required protocol and electrical budget.

Symptom 4 — Row/column stuck (always on/off)

Quick check: repeatable at the same row/column across reboots, or appears after ESD / hot-plug / brownout.

2 probes: ROW_GATE (enable waveform) + COL_SINK_OUT (channel behavior).
2 regs: SINK_COMPLIANCE_LOW_CNT + RESET_REASON (or OCP_TRIP_CNT).

Likely root causes: (a) stuck gate/driver output, (b) line open/short, (c) latch-up / reset sequencing issue leaving a driver latched in a bad state.

First fixes: enforce deterministic reset + re-init sequence for scan drivers; add break-before-make and clamp paths; validate pull-ups/downs on critical enables; isolate suspected line by reducing scan ratio and checking compliance counters.

Example MPNs that commonly matter:

  • Shift-register / latch examples (row/column control glue): TI SN74HC595, TI TPIC6B595
  • Driver-side protection (module boundary): TI TPS25947 (eFuse), TI INA240 (current sense amplifier)

Symptom 5 — Brightness nonuniform (spatial)

Quick check: correlated with scan peak current (higher N makes it worse) or with location (far corner dimmer).

2 probes: V_MATRIX_SUPPLY (at near vs far corner) + COL_SINK_OUT (headroom collapse).
2 regs: SINK_COMPLIANCE_LOW_CNT + CAL_SAT_RATIO (or TABLE_CRC_FAIL).

Likely root causes: (a) IR drop / droop reduces compliance margin in some regions, (b) correction tables saturate (cannot compensate further), (c) channel mismatch or reference drift.

First fixes: improve local PDN inside module scope (shorter return, more local decap, lower rail resistance); increase compliance margin or reduce peak current (scan ratio or dwell shaping); re-calibrate and check saturation statistics.

Example MPNs that commonly matter:

  • Sink driver examples (higher channel count): TI TLC5958, ISSI IS31FL3741
  • Table storage examples: Winbond W25Q64JV, Microchip SST26VF064B

Symptom 6 — Color shift with temperature

Quick check: white point drifts with heating/cooling; R/G/B channels move differently.

2 probes: T_ZONE (sensor truth) + COL_SINK_OUT (per-color current change).
2 regs: DERATE_GAIN_R/G/B + AGING_SLOPE_R/G/B (or COMP_STEP_MAX_HIT_CNT).

Likely root causes: (a) per-color derate curves not aligned, (b) sensor placement or zone mapping mismatch, (c) compensation cadence too aggressive causing visible chroma steps.

First fixes: calibrate per-color thermal curves and apply hysteresis; verify zone mapping; enforce smoothing + rate limits; log versions so field data stays comparable.

Example MPNs that commonly matter:

  • Temperature sensor examples: TI TMP117, TI TMP102, Maxim MAX31875
  • RGB-capable sink driver examples: TI TLC5957, Macroblock MBI5153

MPN mini-library (quick reference)

Constant-current sinks / matrix drivers (examples)

TI TLC5958, TI TLC5957, ISSI IS31FL3741, Macroblock MBI5153, Macroblock MBI5353

Calibration / firmware storage (examples)

Winbond W25Q64JV, Microchip SST26VF064B

Thermal sensing (examples)

TI TMP117, TI TMP102, Maxim MAX31875

High-speed serial ingest (examples; protocol-dependent)

TI DS90UB953-Q1 + DS90UB954-Q1, ADI MAX96717 + MAX96724, Lattice LIFCL-40

Module-boundary power protection (examples)

TI TPS25947, TI TPS2595, TI INA240

Debug Decision Tree Symptom → 2 probes + 2 regs → likely root cause → first fix Symptom 2 probes 2 regs / counters Root cause First fix Flicker / shimmer ROW_GATE V_SUPPLY SCAN_ERR STEP_HIT tight blanking / step update or rail ripple more blanking LPF + clamp Banding / steps COL_OUT ROW_GATE GAMMA_VER TABLE_CRC dither/LUT/order or mismatch enable dither verify LUT Random sparkle IF_LANE V_SUPPLY CRC_CNT FIFO_UND throughput / SI margin lower lane rate retry/resync Row / col stuck ROW_GATE COL_OUT COMPL_LOW RESET driver latch / line fault reset + re-init clamp paths Nonuniform V_SUPPLY COL_OUT COMPL_LOW CAL_SAT IR drop / headroom local PDN reduce I_peak Temp color shift T_ZONE COL_OUT GAIN_R/G/B SLOPE curve mismatch or mapping per-color LUT rate limit Priority: check CRC/FIFO first → then scan timing → then compliance/PDN Cite this figure: /…/micro-led-pixel-matrix-driver#fig-f11 ICNavigator
Figure F11. A field-first decision tree that maps each symptom to a minimal evidence set (2 probes + 2 counters), then converges to the most likely root cause and a first fix inside the driver/module boundary.

MPN note: The part numbers above are concrete examples for common building blocks (sink drivers, SERDES, sensors, flash, eFuse). Final selection must match protocol, channel count, compliance/headroom, package, and availability constraints.

Request a Quote

Accepted Formats

pdf, csv, xls, xlsx, zip

Attachment

Drag & drop files here or use the button below.

H2-12. FAQs ×12

Each answer stays inside this page’s boundary and always points to evidence: 2 probes + 2 regs/counters, then a first fix and example MPNs.

High refresh but visible flicker—bit-plane schedule or row dwell jitter?

Answer (refs: H2-3/H2-4)

More often this is row-dwell jitter, unless the LSB bit-planes are starved. Probe ROW_GATE (jitter/overlap) and V_MATRIX_SUPPLY (ripple). Check SCAN_TIMING_ERR_CNT and FIFO_UNDERRUN_CNT. First fix: add blanking + break-before-make, then re-balance bit-plane schedule for LSB margin. Example MPNs: TI TLC5958, Macroblock MBI5153.

Deep dimming causes sparkle—LSB plane noise or dithering mismatch?

Answer (refs: H2-4)

Deep-dim sparkle is usually LSB instability or a dither path that’s out of sync with the scan engine. Probe COL_SINK_OUT at the LSB plane and IF_LANE/CLK for margin. Check IF_CRC_ERR_CNT and DITHER_STATUS. First fix: enable temporal dither with deterministic seed per frame, widen LSB dwell, and clear CRC/FIFO errors first. Example MPNs: TI TLC5957, TI DS90UB953-Q1.

Row edges glow faintly when off—overlap timing or charge injection?

Answer (refs: H2-6)

Faint glow at row edges is classic ghosting from overlap or charge injection. Probe ROW_GATE and COL_SINK_OUT during off-phase; look for settle tails. Check SCAN_TIMING_ERR_CNT and (if available) SINK_LEAK_EST. First fix: increase blanking, enforce break-before-make, and add precharge/discharge clamps. Example MPNs: ISSI IS31FL3741, TI TPIC6B595.

Uniformity gets worse at high brightness—compliance collapse or IR drop?

Answer (refs: H2-5/H2-6)

At high brightness, nonuniformity often means compliance margin collapses under scan peak current or IR drop grows spatially. Probe V_MATRIX_SUPPLY at near/far corners and COL_SINK_OUT headroom. Check SINK_COMPLIANCE_LOW_CNT and CAL_SAT_RATIO. First fix: reduce I_peak (scan ratio/dwell shaping) and strengthen module PDN (local decaps/return). Example MPNs: TI TPS25947, TI INA240.

Random pixel glitches—SERDES CRC errors or buffer underrun?

Answer (refs: H2-3/H2-10)

Random pixel glitches separate cleanly by counters: CRC points to SERDES margin; FIFO underrun points to throughput mismatch. Probe IF_LANE and IF_CLK. Check IF_CRC_ERR_CNT and FIFO_UNDERRUN_CNT (plus LANE_DESKEW_FAIL). First fix: lower lane rate or enable retry/resync, then raise FIFO watermarks. Example MPNs: TI DS90UB954-Q1, ADI MAX96724.

Banding in gradients—gamma LUT shape or insufficient dither?

Answer (refs: H2-7/H2-4)

Banding is usually gamma/LUT quantization or insufficient dithering, not ‘bad LEDs’. Probe COL_SINK_OUT across a gray ramp and ROW_GATE for dwell skew. Check GAMMA_VER/CAL_VER and DITHER_STATUS. First fix: verify LUT→dither→modulation order, enable temporal dither, and avoid LSB starvation. Example MPNs: Winbond W25Q64JV, TI TLC5958.

Factory calibration helps but drifts with heat—thermal model or sensor placement?

Answer (refs: H2-9)

Heat drift after factory calibration is either a wrong thermal model (per-color curves) or sensor/zone mapping error. Probe T_ZONE (multiple points) and V_MATRIX_SUPPLY for heat droop coupling. Check DERATE_ACTIVE and COMP_STEP_MAX_HIT_CNT. First fix: recalibrate zone mapping, add hysteresis + rate limits, and keep R/G/B derate curves aligned. Example MPNs: TI TMP117, Maxim MAX31875.

After firmware update, colors shift—gamma table version or calibration CRC?

Answer (refs: H2-8/H2-7)

Color shift after firmware update is frequently a table version/CRC/load-order issue, not optics. Probe COL_SINK_OUT for per-color current change and IF_LANE for link stability. Check TABLE_CRC_FAIL and GAMMA_VER/CAL_VER. First fix: use A/B tables with rollback-safe pointer swap, validate CRC/ECC at boot, and log versions. Example MPNs: Microchip SST26VF064B, Winbond W25Q64JV.

Some columns are dimmer—sink mismatch or column wiring resistance?

Answer (refs: H2-5)

Dim columns are either sink-channel mismatch or column wiring resistance causing local headroom loss. Probe COL_SINK_OUT comparing columns and V_MATRIX_SUPPLY gradient along the column feed. Check SINK_MISMATCH_STATS (σ/mean) and SINK_COMPLIANCE_LOW_CNT. First fix: re-bin per-column correction, then reduce column resistance and add local decap near the far end. Example MPNs: Macroblock MBI5353, ISSI IS31FL3741.

Sparkling only during motion—throughput limit or compression artefact?

Answer (refs: H2-3/H2-4)

Sparkle only during motion usually means peak throughput bursts exceed the interface/FIFO budget, even if static patterns are clean. Probe IF_LANE and IF_CLK while running worst-case motion. Check FIFO_UNDERRUN_CNT and IF_CRC_ERR_CNT. First fix: reduce instantaneous bit-plane burstiness (schedule smoothing), increase FIFO margin, or lower lane rate overhead. Example MPNs: Lattice LIFCL-40, TI DS90UB953-Q1.

Intermittent latch-up resets—ESD event or overcurrent protection threshold?

Answer (refs: H2-10)

Intermittent latch-up resets can be ESD-induced or an overcurrent threshold that trips during scan peaks. Probe V_MATRIX_SUPPLY transients and ROW_GATE timing at the reset moment. Check RESET_REASON and OCP_TRIP_CNT (or eFuse fault log). First fix: tune OCP/blanking vs I_peak, add event logging, and harden module input with eFuse. Example MPNs: TI TPS25947, TI TPS2595.

Why does 1/16 scan look worse than 1/8 at same brightness?

Answer (refs: H2-2/H2-5)

1/16 scan forces ~2× peak current vs 1/8 for the same average brightness, shrinking compliance margin and settling time. Probe COL_SINK_OUT for peak/settle and V_MATRIX_SUPPLY for added droop. Check SINK_COMPLIANCE_LOW_CNT and SCAN_TIMING_ERR_CNT. First fix: reduce I_peak (dwell shaping or lower N), increase blanking, and improve PDN. Example MPNs: TI TLC5958, TI TPS25947.

FAQ Evidence Triage Map Always prove integrity first, then timing, then electrical reach, then tables/thermal 1) Data integrity IF_CRC_ERR_CNT, LANE_DESKEW_FAIL, FIFO_UNDERRUN_CNT Probes: IF_LANE / IF_CLK 2) Scan timing SCAN_TIMING_ERR_CNT, blanking/overlap margins Probes: ROW_GATE / COL_SINK_OUT 3) Compliance / PDN SINK_COMPLIANCE_LOW_CNT, droop, IR drop, I_peak Probes: V_MATRIX_SUPPLY / COL_SINK_OUT 4) Tables / thermal TABLE_CRC_FAIL, GAMMA_VER/CAL_VER, DERATE_ACTIVE Probes: T_ZONE / COL_SINK_OUT Example MPN blocks used in this FAQ LED driver: TLC5958 / TLC5957 / IS31FL3741 / MBI5153 • SERDES: DS90UB953/954, MAX96724 • Flash: W25Q64JV, SST26VF064B Thermal: TMP117, MAX31875 • Protection: TPS25947/TPS2595 • Sense: INA240 • Bridge: LIFCL-40 Cite this figure: /…/micro-led-pixel-matrix-driver#fig-f12 ICNavigator
Figure F12. The fastest “no-guesswork” ordering for pixel-matrix issues: prove CRC/FIFO first, then scan timing, then compliance/PDN, then tables and thermal models.