Street/Tunnel Lighting Driver (HV CC, 10kV+ Surge, DALI/PLC)
← Back to: Lighting & LED Drivers
A street/tunnel lighting driver is “good” only if it keeps LED current stable and predictable through 10kV+ surge and grid brownouts, then recovers without flicker, reboot storms, or false bypass. The engineering goal is verifiable behavior—clear protection boundaries, safe default states, and field-usable event logs that make failures fast to diagnose and cheap to fix.
H2-1. Use-case boundary & success metrics (Street/Tunnel-specific)
This section defines what a “qualified” street/tunnel lighting driver looks like using measurable, testable targets. In this domain, “survive 10kV+ surge” means no damage, no lock-up, and predictable recovery behavior.
Street/Tunnel operating boundary (minimum spec envelope)
- Input domain: regional mains examples (120/230/277VAC), frequency, brownout window, short interruption tolerance, inrush constraints.
- HV bus domain: rectified/PFC bus range, allowable bus ripple band, UVLO/OVP thresholds and hysteresis targets.
- LED load domain: string count and Vf range, constant-current setpoint range, open/short fault modes, intermittent connector behavior (bounce).
- Environment domain: temperature span, humidity/condensation, vibration/shock, corrosion/salt exposure (tunnel/roadside severity).
- Control domain: required vs optional control interfaces (local dimming, DALI/PLC/wireless as system options), safe default state when control is lost.
- Protection domain: surge target (10kV+), ESD/EFT exposure, isolation/leakage expectations (high-level boundary only).
Practical rule: write each boundary item as “Must / Should / Optional” and attach at least one verification artifact (waveform, event counter, fault flag, or recovery time).
What “good” means in street/tunnel deployments
- Surge survivability (10kV+): no component damage, no persistent lock-up, controlled recovery (no random flicker, no reset storm).
- Brownout immunity: during voltage sag, output behavior remains deterministic (hold / controlled dim / safe-off policy), then clean return.
- Fault containment: a single-string fault does not cascade into luminaire-wide failure; bypass/derate policy is predictable and logged.
- Serviceability: the driver explains itself—events are timestamped, categorized, and linked to measurable snapshots for field diagnosis.
Domain nuance: peak efficiency alone is not a success metric. Street/tunnel acceptance depends on behavior under stress (surge/brownout/temperature) and maintainability.
Minimum evidence set (what to measure or log)
- Event counters: surge_event_count, brownout_count, bypass_trigger_count, comms_drop_count.
- Reset attribution: reset_reason (POR/BOR/WDT/UVLO/OVP/OTP), plus “recovery_state” (recovering/normal/fail-safe).
- Fault flags: UVLO/OVP/OTP, LED open/short detect, bypass active, control lost (timeout), self-test status.
- Event snapshot (4–6 fields): Vin/Vbus, I_LED, temperature (NTC), dimming level, interface state (local/networked).
- Histograms (optional but powerful): runtime_hours, temperature histogram buckets, restart interval distribution.
Why “minimum” matters: storing fewer high-signal fields enables reliable postmortems without exhausting storage or bandwidth.
Define “must not happen” states upfront
- Reset storm after surge (repeated reboots in a short time window).
- Random flicker during brownout or immediately after recovery (no policy, no hysteresis).
- Bypass triggers on a healthy string (threshold drift/noise/transient misclassification).
- Loss of control interface causes unpredictable default state (sometimes on, sometimes off, sometimes flicker).
- Thermal derating oscillates (no hysteresis) and produces visible brightness hunting.
- Fault occurs but leaves no actionable trace (no event category, no snapshot, no reset attribution).
- Surge “passes” but latent degradation causes increased leakage, heat, or reduced immunity over time without detection.
H2-2. System architecture options for street/tunnel luminaires
The goal is not to list topologies, but to show how street/tunnel requirements drive architecture choices: stress recovery behavior, control-plane robustness, and fault containment/bypass strategy.
A: PFC + (isolated or non-isolated) CC + comms isolation
- Best fit: tunnel/highway deployments where surge/brownout behavior must be deterministic and control uptime matters.
- Core advantage: control-plane is protected from power-plane stress; recovery can be staged (power first, comms second) to avoid flicker storms.
- Key design contract: define startup ordering and safe default state when comms resets (no unpredictable output).
- Fault containment: string-level detect + bypass + logging can be implemented without letting comms instability trigger unsafe output.
Evidence targets: recovery_time_after_surge, reset_reason distribution, comms_uptime_ratio, and efficiency at low/mid/high power points (not just peak).
B: PFC + non-isolated CC + external node controller
- Best fit: modular maintenance (replace node/controller independently), or fast-evolving connectivity requirements.
- Main risk: power-plane disturbances can desynchronize node vs driver state, causing visible misbehavior (unexpected relight, brightness jumps).
- Integration rule: driver must remain stable and deterministic even if the node resets or temporarily disappears.
- Field diagnostics: node/driver should share a minimal common event timeline (sequence numbers or timestamps).
Evidence targets: comms_drop_count correlated with surge_event_count, startup-order trace (who boots first), and “default output policy” compliance during node outage.
C: Integrated smart node (power + control + sensing in one module)
- Best fit: strong telemetry/asset management needs, sealed luminaires, predictive maintenance, energy/runtime reporting.
- System risk: integration increases single-point failure blast radius unless surge partitioning and recovery throttling are explicit.
- Must-have mitigations: event snapshots, restart throttling, robust fault containment, and predictable safe mode.
- Service model alignment: ensure the operator accepts “module swap” vs “component-level repair” tradeoff.
Evidence targets: event log completeness (snapshots), self-test coverage, and controlled recovery state machine behavior.
Selection rules (avoid the most common street/tunnel failure modes)
- Prefer A when: 10kV+ events are frequent, control stability is mandatory, and “no-flicker recovery” is a hard requirement.
- Prefer B when: modular replacement is key and connectivity changes frequently—only if default output policy remains safe during node resets.
- Prefer C when: telemetry is central and the service model supports module swaps—only if single-point failure is mitigated by strong partitioning.
- Regardless of choice: define (1) recovery ordering, (2) safe default state, (3) restart throttling, (4) bypass/log behavior.
H2-3. HV constant-current regulation: accuracy budget & dynamic behavior
Street and tunnel luminaires demand constant-current control that is accurate in steady state and predictable during start-up, dimming steps, thermal derating transitions, and line disturbances. This section focuses on measurable budgets and verification signals, without general loop-derivation.
Where CC error comes from and how it is reduced
- Sense resistor tolerance + TCR: initial % error plus temperature drift; reduce with low-TCR parts, Kelvin routing, and heat isolation from power hot spots.
- Current-sense amplifier offset/drift: input offset and temperature drift can dominate at low currents; reduce with low-drift devices and controlled input filtering bandwidth.
- ADC quantization + reference error (if digital trim/telemetry): quantization noise and Vref drift; reduce with stable references, synchronized sampling, and averaging.
- PCB thermal gradient: local heating shifts Rsense and nearby analog; reduce by thermal spreading copper, distance from switching hot spots, and consistent airflow paths.
- Switching noise injection: SW node coupling into sense lines causes apparent current ripple; reduce with routing separation, RC filtering, and disciplined ground referencing.
- Gate-drive delay / PWM non-idealities: duty-cycle edge timing changes average current; reduce by avoiding extreme duty regions and using stable switching conditions.
- LED Vf drift and string variation: changes loop headroom and operating region; reduce by allocating voltage margin and pairing with derating and bypass policy.
- Bus ripple coupling: Vbus ripple can modulate ILED if rejection is weak; reduce with bus control targets and suppression strategies (verification-focused, not topology-specific).
- Humidity/leakage effects (outdoor/tunnel): leakage paths shift measurement; reduce with creepage strategy, conformal protection, and leakage monitoring.
- Aging drift: long-term parameter shift in protection and sensing; reduce with periodic self-checks and drift-aware thresholds plus event statistics.
Practical prioritization: in street/tunnel drivers, the first wins typically come from (1) Rsense + layout, (2) amplifier drift/noise pickup, and (3) thermal gradient management—because field temperature swings and stress events are unavoidable.
Four transitions that expose unstable behavior
- Start-up (cold/hot): avoid visible flash or overcurrent peaks; validate with ILED peak, settling time, and protection flags.
- Dimming step: maintain monotonic response without ringing; validate with overshoot %, recovery time, and ripple change at the new level.
- Thermal derating transition: prevent “brightness hunting” near thresholds; validate with derating state toggles, hysteresis behavior, and temperature vs current trajectory.
- Line/bus disturbance: prevent bus ripple or line changes from modulating light output; validate VBUS disturbance vs ILED ripple envelope and low-frequency components.
Street/tunnel nuance: a small low-frequency envelope on ILED can become a visible complaint in tunnels and low-illumination scenes. Verification must inspect the envelope, not only high-frequency ripple.
What to observe without protocol or standard deep-dives
- Observe points: ILED waveform, VBUS waveform, and dimming command (PWM/analog reference).
- Focus metric: ILED ripple %, plus presence of a low-frequency envelope that tracks VBUS or derating toggles.
- High-risk moments: deep dimming levels, recovery after brownout, and transitions into/out of thermal derating.
- Pass expectation: stable output policy—no random flicker, no repeated restarts, no threshold hunting visible to end users.
Evidence triad: (1) ripple % at key dimming points, (2) overshoot/recovery time at steps, (3) hot steady-state drift curve (temperature vs ILED).
Minimum verification artifacts
- Waveforms: VBUS, ILED, dimming command; optionally annotate SW node as a “marked point” only.
- Step response summary: overshoot %, recovery time, and ripple change at the target level.
- Thermal curve: ILED drift after thermal stabilization plus derating transition behavior (toggle count).
- Flags/log hooks: UVLO/OVP/OTP and fault flags at the time of any abnormal waveform behavior.
Field practicality: when SW node probing is not feasible, VBUS + ILED + reset_reason/fault_flags can still separate line disturbance, restart storms, and threshold hunting.
H2-4. 10kV+ surge & lightning strategy: survive, recover, and don’t misbehave
A street/tunnel driver must do more than “not break” under 10kV+ surge exposure. It must also recover predictably, avoid reset storms, and maintain a deterministic safe output policy even if control interfaces drop or reboot.
Protection chain roles (energy vs clamp vs speed)
- GDT: handles high energy but triggers slower; manage follow-current behavior and ensure the downstream path remains controlled.
- MOV: primary energy absorption; plan for aging (clamp shift and leakage rise) and include monitoring-friendly test points.
- TVS: fast clamp for sensitive nodes; do not force it to absorb large surge energy—use it to protect control/communication points.
- System rule: large energy belongs to MOV/GDT; fast sensitive protection belongs to TVS; verify that no single element is overloaded by design.
Pass definition: surge exposure must not cause immediate failure or silent degradation that later shows up as increased leakage, abnormal heating, or reduced immunity.
Threshold windows, hysteresis, and staged restart
- UVLO/OVP thresholds + hysteresis: prevent chatter at boundary conditions so the driver does not oscillate between on/off states.
- Soft-start: control current ramp to avoid flash/overshoot after recovery (especially after a brownout induced by the surge event).
- Restart throttling (anti-reset-storm): enforce minimum restart spacing and escalation rules when repeated faults occur.
- Recovery observables: recovery time, peak ILED during restart, and reset_reason distribution.
Street/tunnel expectation: a driver that “eventually turns on” but exhibits repeated restarts or random flicker is a functional failure in the field.
Safe default output policy under comms dropout/reboot
- Control-plane independence: constant-current control must remain stable even if DALI/PLC/wireless modules reset or temporarily disappear.
- Deterministic default state: define one policy (hold last / controlled dim / safe-off) appropriate to deployment; avoid “random on/off” behavior.
- Rejoin behavior: upon comms recovery, return smoothly (bounded ramp) to avoid brightness step complaints.
- Logging hook: record control_lost flag, last_valid_cmd time, and the chosen default_policy_id during each event.
Key idea: “No flicker” is a policy requirement enforced by state machine design, not only a component selection outcome.
Common surge-related traps and how they show up
- MOV aging → leakage increases: appears as higher standby heat, unexpected trip behavior, or reduced margin over time; validate with before/after leakage and temperature.
- GDT follow-current: can create repeated conduction events or pull the bus into unstable states; validate via event timing and recovery-state transitions.
- TVS thermal runaway: may short after stress and cause brownout/reset storms; validate through clamp node behavior, reset_reason, and recovery time anomalies.
- False classification: transient spikes misread as open/short or bypass triggers; validate with time-window logic and event snapshots.
What to compare around a surge campaign
- Before: leakage_baseline, thermal_baseline, reset_rate_baseline, and nominal recovery time from controlled brownouts.
- After: leakage_delta, MOV temperature rise, reset_reason histogram shift, surge_trigger timestamps, and recovery_time distribution.
- Minimum snapshot: Vin/Vbus, ILED, temperature, fault_flags, recovery_state, default_policy_id.
Interpretation rule: passing a surge shot is not the end; the goal is to prove the system returns to the same behavior envelope without drifting into latent instability.
H2-5. Brownout immunity & grid disturbances: keep light stable
Street and tunnel deployments are highly sensitive to visible flicker, unexpected shutdowns, and repeated restarts. This section converts grid disturbances into diagnosable patterns and stability-first actions (derate before chaos).
Typical grid events and how they present on the bus
- Voltage sag (slow droop): AC RMS decreases and VBUS falls with a gentle slope; risk is low-frequency modulation and threshold hunting near UVLO.
- Short interruption (dip / dropout): tens to hundreds of ms gaps; VBUS collapses quickly; risk is visible light dropout or repeated restarts.
- Surge-followed sag: protection engages and the line “falls back” afterward; risk is recovery instability (flash, reset storm, false fault classification).
- Frequency shift (minor): may alter boundary timing and stress margins; treat as a “corner condition” rather than a primary design driver.
Stability-first rule: in street/tunnel lighting, a controlled brightness reduction is preferable to random flicker or repeated restarts.
Engineering handles that keep light behavior predictable
- Hold-up time: use bus energy storage plus bounded power draw so short interruptions do not produce visible instability.
- UVLO hysteresis window: prevent chatter around thresholds; widen hysteresis and enforce minimum “on/off dwell” timing.
- Bus strategy under droop: keep ILED response smooth as VBUS falls; prioritize envelope stability over fast tracking.
- Stability-first derate: enter a controlled reduced-output mode before UVLO is reached; define clear enter/exit criteria with hysteresis.
- Restart throttling (anti-reset-storm): enforce minimum restart spacing and escalation rules if repeated brownouts occur.
Verification focus: the design target is not “maximum brightness during droop,” but “bounded, non-flickering output with deterministic recovery.”
Convert complaints into waveforms and immediate actions
- “One quick flash, then normal” → check VBUS + ILED alignment → reduce recovery step (ramp limit) and tighten threshold transitions.
- “Restarts every few seconds” → check VBUS + start_interval_stats / reset_reason → add UVLO hysteresis + enforce restart throttling.
- “Random flicker during sag” → check VBUS ripple/envelope + ILED envelope → enter stability-first derate earlier and eliminate threshold hunting.
- “After a surge, it stays off too long” → check fault_flags + recovery_state timing → fix recovery state machine windows (cool-down, soft-start slope, OVP/UVLO release logic).
- “Only visible at low dim level” → check ILED ripple% + derate/UVLO toggle count → remove low-frequency envelope sources and prevent rapid state toggling.
- “Flicker bursts during comms reset” → check default_policy_id + ILED → enforce deterministic default state (hold/ramp/fixed/safe-off) during control-plane dropout.
Two-signal discipline: most brownout issues are diagnosable using VBUS (TP2) plus one additional signal (ILED, reset_reason, or start interval statistics).
Minimum artifacts that prove immunity
- VBUS droop curve: droop slope, minimum level, and recovery time after disturbance.
- Hold time: duration that ILED/brightness remains stable (or controlled-derated) through a defined interruption.
- reset_count + reset_reason_histogram: distribution of UVLO/WDT/OVP causes under disturbance campaigns.
- start_interval_stats: min/median/max restart spacing; periodic spacing indicates a reset storm.
- brownout_event_counter + last_brownout_timestamp: field maintainability and remote triage readiness.
H2-6. DALI / PLC / Wireless integration: control-plane partitioning
Integration quality is determined by control-plane boundaries: local driver control must remain stable and safe even if the network module drops, reboots, or experiences surge/ESD stress. This section focuses on partitioning and maintainability, without protocol deep-dives.
Separate real-time safety from network behavior
- Local driver control: constant-current regulation, protection, thermal derating, brownout state machine, bounded ramps.
- Network control: scenes, groups, scheduling, remote configuration; latency and packet loss must not destabilize light output.
- Safety default policy: deterministic behavior when control is lost (hold / ramp / fixed / safe-off), with explicit enter/exit rules.
Non-negotiable rule: network control must never bypass local safety limits or force uncontrolled output transitions.
What the network module may request—and what the driver core enforces
- Inputs to driver core: target level, ramp rate limit, scene identifier, optional time window (valid-until timestamp).
- Driver enforcement: range clamp, slew-rate clamp, timeout handling, and stability-first derate during disturbances.
- Outputs to network module: fault flags, event counters, last_valid_cmd_time, and a compact telemetry snapshot.
Maintainability benefit: protocol changes remain inside the comms module while the driver core preserves stable light behavior.
Prevent surge/ESD events from dragging the control domain into instability
- Isolation strategy: isolate or strongly partition the comms domain so it may reset without collapsing the driver core.
- Protection routing: provide a controlled discharge path for ESD/surge energy; avoid injecting stress into MCU or reference grounds.
- Ground reference discipline: keep noisy power returns from modulating comms reference and causing false resets.
- Power sequencing: comms brownout should not create repeated driver resets; default policy must cover comms reboot windows.
Field operations should be rate-limited and auditable
- Identity & address: stable node ID / address mapping supports truck-roll minimization.
- Remote reset policy: rate-limit remote resets and define escalation (cool-down) to avoid reset storms.
- Logs for triage: snapshots around disturbances (fault_flags, reset_reason, recovery_state, default_policy_id) enable remote diagnosis.
- Command validity: timestamps (last_valid_cmd_time) prevent stale commands from causing unexpected output steps after recovery.
Signals that prove partitioning works
- link_drop_counter + rejoin_counter: connectivity health without forcing output instability.
- cmd_latency_stats: min/median/max delay; correlate spikes with output policy transitions (should remain bounded).
- control_lost_flag + last_valid_cmd_time: prove default policy takes over deterministically during dropouts.
- watchdog_reset_reason: ensure comms resets do not propagate into driver reset storms.
- default_policy_id + policy_change_log: verify configured behavior is auditable and stable across firmware updates.
DALI / PLC / Wireless: what belongs here vs elsewhere
- DALI integration card: focus here on driver-core boundary + deterministic default policy; protocol and addressing details belong to the DALI interface subpage.
- PLC integration card: focus here on immunity and brownout behavior under line noise; coupling/modem/network details belong to the PLC control subpage.
- Wireless integration card: focus here on comms reboot windows and secure default behavior; radio/stack/OTA details belong to the wireless node subpage.
H2-7. Fault detection & bypass options: keep the luminaire running
Street and tunnel luminaires must contain faults without turning into unpredictable behavior. This section defines why bypass is needed, how to prevent false triggers (especially after surge/brownout), and what evidence must be logged for remote triage and field service.
Street/tunnel fault handling is about controlled behavior, not hiding failures
- Containment: a single string/segment fault must not collapse the entire luminaire.
- No misbehavior: prevent visible flicker bursts, restart storms, or uncontrolled brightness steps.
- Forensics: every bypass action must leave an auditable trace (what happened, where, and why).
- Policy split: street deployments often prefer “derate & continue”; tunnels may prefer “safe-off / safe-degrade” for higher safety margin.
Hard rule: bypass is a state-machine decision (with time windows and recovery rules), not a raw comparator trip.
Failure modes that matter in outdoor/tunnel deployments
- LED open: ILED cannot sustain; VSTRING rises toward its limit; may present as sudden dropout or repeated restarts.
- LED short: VSTRING unexpectedly low; segment voltage distribution changes; thermal redistribution risk.
- Leakage / moisture: insulation degrades; measurements drift; may trigger false faults or violate safety assumptions.
- Connector intermittent open: bursty dropouts with repeat signature; often correlates with vibration and thermal cycling.
- Degradation / headroom shortage: reduced margin (VBUS or string headroom) drives regulation into saturation and causes visible instability.
Two-signal baseline: most classifications start from VSTRING (TP7ᵢ) + ILED (TP4), plus optional temperature correlation (TP-T).
Choose the containment level and define the behavior policy
- Segment-level shunt bypass (partial bypass): masks local open/abnormal segments; keeps the string operating with reduced Vf and controlled output loss.
- String-level bypass (whole-string bypass): isolates an entire failing string so other strings remain stable; simplifies containment in multi-string luminaires.
- Derate & continue: reduce ILED or cap maximum dim level to avoid instability while maintaining illumination (street-oriented).
- Safe-off / safe-degrade: for leakage/safety-critical anomalies, prefer deterministic safe states over continuing output (tunnel-oriented).
Policy must bind to fault class: avoid a one-size-fits-all rule that “always bypasses” or “always shuts down.”
Prevent bypass actions from being triggered by disturbances
- Threshold discipline: define V/I thresholds with tolerance and temperature drift budgets; avoid marginal thresholds that chatter near boundaries.
- Time windows: require persistence (N ms) before enabling bypass; use count-based accumulation for intermittent faults rather than one-shot triggers.
- Temperature correlation: record temperature and optionally use temperature-gated logic to avoid false classification during transient thermal gradients.
- Post-surge / post-brownout mask: during recovery windows, suppress irreversible bypass decisions or raise trigger requirements.
- Anti-hunt rules: enforce minimum dwell time per state; prevent oscillation between bypass and restore.
Field reality: many “mystery bypasses” are actually recovery transients unless the design explicitly masks and logs these windows.
Use a repeatable record for every fault pathway
- Fault: open / short / leakage / intermittent / headroom shortage
- Detect signals: VSTRING(TP7ᵢ) + ILED(TP4), optional VBUS(TP2), Temp(TP-T), and state-machine state
- Action: segment bypass / string bypass / derate / safe-off
- Recover: clear condition (stable normal window) + hysteresis + optional manual confirmation; rate-limit recovery attempts
- Record fields: event_type, string_id/segment_id, trigger_threshold_id, pre_snapshot(V/I/T/state), timestamp, repeat_count, recovery_time
Mandatory: always capture a pre-trigger snapshot so remote triage can distinguish “real LED fault” from “grid transient.”
H2-8. Thermal derating, lumen maintenance & lifetime modeling for outdoor/tunnel
Outdoor and tunnel lifetime is governed by thermal reality. This section focuses on measurable temperature credibility, anti-hunt derating policy, and a maintenance-friendly framework that can be verified with logs and long-term trends.
Temperature sensing must reflect the real hotspot behavior
- Hot vs cold points: place sensing near relevant thermal bottlenecks; avoid relying solely on enclosure temperature.
- Thermal path bias: potting, interface materials, and mounting change response time; validate rise/fall dynamics.
- Gradient awareness: tunnel airflow and outdoor weather create gradients; log conditions and avoid over-trusting a single point.
- Sanity checks: compare expected power-to-temp trends and detect sensor anomalies (stuck readings, offsets).
Evidence principle: confidence comes from consistent power↔temperature correlation over time, not from a single calibration moment.
Define entry, execution, and exit with hysteresis
- Entry: multi-level temperature thresholds that trigger derating before instability or safety limits are approached.
- Execution: step or ramp reduction of ILED, power limiting, and/or a maximum dim level cap.
- Exit: temperature hysteresis + minimum dwell time to prevent oscillation (anti-hunt).
- Slew control: bound change rate so brightness shifts remain smooth and non-flickering.
Stop “derate ↔ restore” flapping that creates visible artifacts
- Hysteresis windows: separate enter/exit thresholds and enforce stable residence time per state.
- Rate limiting: cap how fast output is allowed to rise after cooling; avoid sudden jumps.
- Coherence with brownout strategy: during grid disturbances, prefer stable derate states and suppress aggressive recovery.
- Logging for proof: record state transitions with timestamps and durations to show the system is not hunting.
Maintain target illumination under aging—within thermal limits
- Goal: keep practical illumination targets across seasons and aging without violating thermal margins.
- Strategy: controlled long-term compensation (within caps) paired with temperature-aware limits.
- Constraints: any maintenance uplift must respect derating ceilings; do not trade safety/lifetime for short-term brightness.
- Auditability: maintenance-related setpoint changes must be logged and reversible.
This section intentionally avoids standards and physics deep-dives; it focuses on deployable strategies and verifiable evidence.
Artifacts that prove thermal policy is working
- Temperature histogram: distribution over time (day/night and seasonal signatures).
- Derating timeline: number of entries, total duration, and maximum level reached.
- Current drift trend: long-term ILED behavior to catch calibration and aging effects.
- Maintenance delta: before/after brightness difference and how it changes derating frequency.
- Thermal event counters: over-temp near-miss counts and time spent near limits.
H2-9. Telemetry & event logs: making field maintenance cheap
Street and tunnel deployments fail in the field, not on the bench. The goal of telemetry is to reduce truck rolls by turning every fault into a fast classification problem: “grid transient”, “string intermittent”, or “thermal/environmental bottleneck”.
Use a 3-layer logging system that matches field reality
- Event snapshots: triggered records that capture “what just happened” with a compact pre/post window.
- Periodic rollups: low-rate statistics (histograms, counters, durations) for slow trends and seasonal signatures.
- Identity header: device + firmware + policy versioning so logs remain comparable across fleets and updates.
Design rule: use high-value snapshots for fast transients, and rollups for long-term drift. Avoid high-rate raw streaming.
Events that must be recorded to make maintenance cheap
- Surge / lightning event: protection action, recovery entry, or abnormal rail excursion markers.
- Reset reason: watchdog / brownout / software / manual / protection-triggered restart.
- Bypass events: segment/string bypass enter/exit, including the target (string_id/segment_id).
- UV/OV/OTP & derating transitions: enter/exit of undervoltage, overvoltage, overtemp, and derating levels.
- Comms loss: link timeout, last-valid-command expiry, and rejoin/retry bursts (type-tag only).
Field mapping: these five categories cover the dominant “not reproducible in the lab” cases: grid disturbances, thermal gradients, moisture/corrosion, and intermittent wiring.
Combine event snapshots with rollups instead of constant logging
- Event snapshot: record a compact pre-trigger summary (min/max over a short window) and the state-machine state.
- Periodic rollup: write histograms and counters at a low cadence (minutes), not waveforms.
- Rate limits: cap how many snapshots of the same type can be emitted per hour to avoid storm writes.
- Backpressure behavior: when storage is near full, keep recent + critical summaries; degrade gracefully rather than stopping.
Maintenance-first priority: always keep “why it restarted”, “why it bypassed”, and “how long it stayed in derate”.
Smallest payload that still classifies most field issues
- Identity: device_id, fw_version, policy_version (and threshold_id if available)
- Event header: event_type, event_id, timestamp, uptime
- Snapshot: vin, vbus, i_led, temp (temp_hot preferred), optional vstring
- State: recovery_state, derate_level, bypass_state
- Flags: fault_flags (UV/OV/OTP/COMMS/BYPASS)
- Counters: reset_count, repeat_count (for intermittent signatures)
Why versioning matters: without policy/threshold versioning, the same event pattern may be misinterpreted after a firmware update.
Three “read once” diagnoses using the minimum fields
-
“Surge then unstable”:
surge_event appears, recovery_state stays in recover, reset_reason repeats, vbus is depressed near restart.
Likely class: grid disturbance / recovery policy issue.
First action: recovery throttling + UVLO hysteresis review + confirm SPD aging counters. -
“One string drops intermittently”:
bypass_event repeats on the same string_id, repeat_count grows, temperature is stable, vstring is noisy.
Likely class: connector/wiring intermittency or localized degradation.
First action: physical inspection of that string path (connector, solder joints, strain points). -
“Night-time brightness capped”:
derate_level enters frequently and stays long, temp histogram is heavy in high bins, resets are absent.
Likely class: thermal bottleneck (enclosure, potting, mounting, airflow).
First action: thermal path audit + verify potting/adhesive heat resistance impact + mounting conditions.
H2-10. Mechanical & environmental robustness: ingress, corrosion, potting, creepage
Street and tunnel drivers live in humidity, dust, vibration, thermal cycling, and polluted surfaces. Electrical performance alone is not enough: enclosure decisions directly change leakage, thermal resistance, serviceability, and creepage risk.
Sealing improves protection, but changes heat and maintenance outcomes
- Better sealing often increases internal thermal stress (hotter operation and more derating time).
- Condensation risk creates leakage paths and measurement drift, especially in high-voltage zones.
- Serviceability declines when sealing and adhesives prevent access to connectors and test points.
Verification focus: compare leakage/IR before and after humidity exposure, and track derating durations after enclosure changes.
Reliability gains come with thermal and repair penalties
- Moisture + vibration robustness improves, but repairability typically drops sharply.
- Thermal path uncertainty increases: potting changes heat resistance and sensor credibility.
- Creepage surfaces may improve (depending on partitioning), but uncontrolled potting edges can create unexpected paths.
Evidence checks: thermal resistance shift (same power → steady-state temperature), and IR/leakage shift after damp heat.
Use partitioning to make unsafe paths hard to form
- Zone separation: keep HV power, LV control, and comms physically partitioned with barriers/slots.
- Surface path control: avoid sharp corners and “water/contamination collection” geometries that shorten surface leakage paths.
- Metal hardware awareness: fasteners, shields, and brackets must not create cross-zone shortcuts.
- Inspection points: define clear “HV boundary lines” that can be checked visually during assembly and service.
Corrosion often appears as intermittent faults and thermal anomalies
- Contact resistance rises → local heating → more derating and intermittent behavior.
- Leakage paths form → false protection/bypass triggers and unstable readings.
- Field signature: damp-heat exposure correlates with rising event counters (comms loss, bypass repeats, near-OTP entries).
Make “fast field isolation” possible without tearing the luminaire apart
- Module partition: keep HV power, LV control, and comms/sensors separable where possible.
- Replaceable path: connectors and wiring should be inspectable and replaceable without destroying sealing features.
- Readable identity: string_id labeling + log access reduce guesswork and shorten on-site time.
Deployment-friendly robustness rules
Do
- Partition HV / LV / Comms zones with physical barriers and clear boundaries.
- Validate potting impact: thermal resistance and sensor credibility before fleet rollout.
- Track IR/leakage shifts after humidity exposure and correlate with event counters.
- Provide service access paths that do not compromise creepage boundaries.
Don’t
- Use “full potting” as a universal fix if it destroys thermal margin and serviceability.
- Mix HV and comms in the same physical region and rely on coating as the only separator.
- Ignore condensation geometry (drips/edges) that shortens surface leakage paths.
- Hide boundaries so assembly and field inspection cannot confirm separation quickly.
The checklist is intended to keep the section scope practical: electrical robustness emerges from enclosure choices plus verifiable evidence.
Validation & Field Debug Playbook (Symptom → Evidence → Isolate → Fix)
Purpose: turn street/tunnel failures into repeatable field diagnosis. The rule is: collect two waveforms + three log fields first, then change one hypothesis at a time.
Two waveforms (minimum): (1) VBUS (rectified/PFC bus) + (2) I_LED. Add V_AUX (5V/12V) when resets/comms are involved.
Three log fields (minimum): reset_reason, fault_flags, event_id+timestamp.
Evidence template (capture every service visit):
- Waveforms: VAC(L-N) (optional), rectified bus/PFC
VBUS, aux railV_AUX, LED currentI_LEDripple and step response. - Key counters:
surge_counter,brownout_counter,wdt_reset_count,comms_drop_count,bypass_trip_count. - Snapshots (event-triggered):
vin_rms,vbus,i_led,temp_hotspot,dim_level,recovery_state.
Suggested “minimum log record” schema: {event_id, ts, vin_rms, vbus, v_aux, i_led, temp, fault_flags, reset_reason, comms_state, recovery_state}
Troubleshooting playbook cards (field-usable):
SurgeAfter lightning/surge: no light (dead)
Evidence first
- Waveforms:
VBUSat power-on;V_AUXstartup;I_LEDpresence. - Logs:
surge_counterchanged? lastreset_reason? lastfault_flagslatched?
Isolate
- If
VBUSnever rises → input protection/bridge/open fuse path. - If
VBUSrises butV_AUXmissing → aux flyback/primary switch damage or startup path issue. - If
V_AUXOK butI_LEDzero → power stage or LED string open/connector.
First fix actions (one-by-one)
- Check SPD chain leakage/short and bridge integrity; verify no permanent clamp on bus.
- Confirm soft-start gate drive exists; if controller boots but won’t enable, inspect latched fault logic & enable conditions.
- Replace the weakest “energy absorber” first (MOV/GDT), then re-test surge event count & recovery time.
Candidate parts (examples, select ratings per mains/bus)
- MOV: Littelfuse
TMOV20RP300E(line SPD example). - GDT: Bourns
2038-15-SM-RPLF(crowbar style example). - Bridge: Diodes Inc
GBJ2508-F(mains bridge example). - Inrush limiter: TDK EPCOS
B57237S0259M000NTC (size for inrush/surge coordination). - HV clamp (signal/bus per design): e.g.,
SMCJ440Aclass TVS (choose standoff by bus margin).
SurgeAfter lightning/surge: intermittent light / random flicker
Evidence first
- Waveforms:
VBUSdroop during flicker,I_LEDripple (%),V_AUXdips. - Logs:
brownout_counter,reset_reason,recovery_state, time since last surge event.
Isolate
- If
I_LEDcollapses whileV_AUXstays solid → CC loop gating / protection threshold issue. - If
V_AUXdips withVBUSspikes → aux supply has weak surge margin or poor hold-up. - If flicker occurs exactly after comms command bursts → control-plane partition or watchdog/ISR overload.
First fix actions
- Increase UVLO hysteresis or add restart throttle to avoid “flash–retry–flash” behavior.
- Separate “surge recovery” mode: enforce a stable default current for N seconds before resuming dimming.
- Add/verify rail TVS and ESD clamps on sensitive low-voltage nodes feeding the controller.
Candidate parts (examples)
- Reset supervisor / brownout guard: TI
TPS3839(choose threshold variant). - Low-voltage high-energy TVS (example family): Littelfuse
SM8S40Aclass (pick voltage by rail). - ESD diode (I/O): TI
TPD1E10B06(single-channel, small footprint). - Non-volatile event store (no-delay writes): Infineon/Cypress
FM25V10-GFRAM or FujitsuMB85RS64VFRAM.
ResetAfter disturbance: reboot storm (restarts every few seconds)
Evidence first
- Waveforms:
V_AUXsag vsVBUSsag (which leads?), watchdog pin (if exposed). - Logs:
wdt_reset_count,reset_reasonhistogram, lastfault_flagsbefore reset.
Isolate
- If
V_AUXis clean but resets still happen → firmware/ISR overload or EMI injection into reset line. - If
V_AUXdips below supervisor threshold → hold-up is insufficient or UVLO hysteresis too tight. - If resets correlate with comms bursts → partition comms tasks from safety/current loop tasks.
First fix actions
- Implement “restart throttle”: after N resets in M minutes, force safe dim level and longer cool-down.
- Add reset line filtering + tighten reset reason logging (store before power collapses).
- Validate the sequence:
VBUS stable→V_AUX stable→ enable CC; never enable CC during marginal rails.
Candidate parts (examples)
- Supervisor: TI
TPS3839(brownout reset). - ESD clamp for reset/IO: TI
TPD1E10B06. - Event log NVM (fast commit): Infineon/Cypress
FM25V10-GFRAM (or FujitsuMB85RS64VFRAM).
CommsLight stays on, but DALI/PLC/Wireless is dead after surge
Evidence first
- Waveforms:
V_AUXduring comms activity; ground bounce near comms connector (if measurable). - Logs:
comms_drop_count, last valid command timestamp,reset_reasonof comms MCU (if separate).
Isolate
- If driver core is stable but comms module won’t enumerate/respond → interface ESD/surge or isolation breach.
- If comms comes back after power cycle but dies on storms → common-mode energy coupling / insufficient line protection.
First fix actions
- Enforce hard partition: driver core (CC/thermal/protection) must run without comms.
- Add isolation + ESD clamps at the boundary; ensure surge return path doesn’t share logic ground.
- Log
last_cmd_tsandcomms_stateso field teams can tell “link dead” vs “command missing”.
Candidate parts (examples)
- Digital isolator: Analog Devices
ADuM141Eor SkyworksSI8621EC-B-ISR. - Common-mode choke (line/IO): Würth Elektronik
744232102(example series; pick impedance/current). - ESD diode (I/O): TI
TPD1E10B06.
BrownoutGrid dip: flashing / start-stop instead of stable dim
Evidence first
- Waveforms:
VBUSdip depth and duration;I_LEDbehavior (continuous vs burst);V_AUXthreshold crossing. - Logs:
brownout_counter,reset_reason, start attempts per minute.
Isolate
- If
VBUSdips butV_AUXholds → CC loop should gracefully reduce current (no restart). - If
V_AUXcrosses reset threshold → hold-up + UVLO hysteresis policy is wrong for this grid profile.
First fix actions
- “Stability-first” policy: prefer dimming down over repeated restarts.
- Increase UVLO hysteresis and add minimum-off timer (restart throttle).
- Record
vbus_minandhold_up_msaround the event to make brownout root-cause visible.
Candidate parts (examples)
- Supervisor / reset IC: TI
TPS3839(choose threshold & delay). - Event NVM: Microchip
25LC256-I/SNEEPROM (if write rate is low) orFM25V10-GFRAM (if frequent writes).
BypassCold night: false bypass/open detection (unexpected lumen drop)
Evidence first
- Waveforms: per-string V/I (if available), total
I_LEDripple and transient at bypass instant. - Logs:
bypass_trip_count, pre-trip snapshot (vbus,i_led,temp), fault flag cause.
Isolate
- If bypass triggers at very low temperature only → threshold temp drift, connector micro-open, or timing window too tight.
- If bypass triggers after surge/brownout → transient filtering is insufficient; detection sees false “open”.
First fix actions
- Apply “two-factor” decision: voltage anomaly + time qualification + temperature-aware thresholds.
- Add transient blanking window after recovery state changes (surge/brownout/command change).
- Log a short pre-trigger snapshot so field teams can separate “connector bounce” vs “true LED open”.
Candidate parts (examples)
- LED control/monitor with fault outputs: TI
TPS92692-Q1(controller with fault flag use-cases). - Bypass-capable manager (integrated bypass switches): TI
TPS92663-Q1(bypass switch concept; adapt architecture as needed). - Event store (fast snapshots):
FM25V10-GFRAM orMB85RS64VFRAM.
ThermalCold night: false over-temp/derating or oscillating derate
Evidence first
- Waveforms:
I_LEDstep down/up frequency (hunting),tempsample cadence vs output changes. - Logs: derate entry/exit timestamps,
temp_histogram,derate_count, sensor fault flags (open/short).
Isolate
- If derate oscillates → insufficient temperature hysteresis or sensor placement seeing airflow, not hotspot.
- If derate triggers at cold ambient → NTC wiring/ADC reference drift or wrong pull-up/lookup table.
First fix actions
- Use thermal hysteresis and minimum dwell time in each derate state (avoid “brightness pumping”).
- Validate NTC curve and ADC reference across temperature; log raw ADC for debugging.
- Record temperature at two locations (driver hotspot vs enclosure) when possible.
Candidate parts (examples)
- NTC sensor: TDK EPCOS
B57560G1104F000(100k NTC bead example). - Digital temperature sensor (if used): TI
TMP117MAIDRVR(choose the active ordering option).
Tunnel safetySafety mode should be OFF, but lamp flashes during fault
Evidence first
- Waveforms:
I_LEDduring safety trigger (is it PWM bursts?);V_AUXstability. - Logs: safety interlock state, last command timestamp, recovery state transitions (normal → fault → recover).
Isolate
- If flashing happens only during comms loss → unsafe default state or reboot storm leaking light pulses.
- If flashing happens during brownout recovery → restart policy allows partial enables before stable rails.
First fix actions
- Define a hard “safe default”: either hold-last, fixed dim, or OFF (tunnel often prefers OFF on safety faults).
- Gate all enables with stable-rail + minimum-time-stable requirement.
- Log
safety_state+enable_reasonto prove why light turned on.
Candidate parts (examples)
- Reset/brownout guard: TI
TPS3839(prevents ambiguous partial boots). - Fast nonvolatile logging (store last safe state):
FM25V10-GFRAM.
Storm EMIPLC/Wireless drops only during thunderstorms
Evidence first
- Waveforms: common-mode noise proxy (ground shift),
V_AUXspikes, comms line ringing (if accessible). - Logs:
comms_drop_count, CRC/error counters (if exposed), surge counter correlation.
Isolate
- If comms drops without driver reset → interface protection/isolation and return path are the likely root causes.
- If comms drops + resets → noise couples into MCU rails or reset/clock lines.
First fix actions
- Add/verify isolation at the boundary; place ESD/TVS near connector; route surge return away from logic ground.
- Use common-mode impedance (chokes) and shield termination rules consistent with outdoor EMC realities.
- Log “last good packet/command” timestamp to distinguish RF/PLC outage from controller failure.
Candidate parts (examples)
- Digital isolator: Analog Devices
ADuM141Eor SkyworksSI8621EC-B-ISR. - Common-mode choke: Würth
744232102(example; match line/current). - ESD diode: TI
TPD1E10B06.
LogsService visit: logs missing/corrupted after outage
Evidence first
- Waveforms:
V_AUXfall time during power-down; does it allow a clean commit window? - Logs: write-error counter, last successful commit timestamp, “dirty flag” on boot.
Isolate
- If corruption happens only on brownout → commit policy lacks “power-fail detect” and atomic write framing.
- If logs vanish after surge → NVM rail protection insufficient or write pointer metadata not protected.
First fix actions
- Use atomic records (length + CRC + sequence) and a two-slot metadata header.
- Trigger “power-fail snapshot” when
V_AUXcrosses a pre-threshold (before reset). - Prefer FRAM for high write frequency and instant commits.
Candidate parts (examples)
- FRAM (SPI): Infineon/Cypress
FM25V10-G(1Mbit) or FujitsuMB85RS64V(64Kbit). - EEPROM (SPI, lower write rate): Microchip
25LC256-I/SN.
Cite this figure: Street/Tunnel driver troubleshooting decision flow (F11)
Copy-paste citation: “Street/Tunnel Lighting Driver — Troubleshooting decision flow (Figure F11), ICNavigator, accessed YYYY-MM-DD.”
FAQs (Street/Tunnel Lighting Driver)
How to use: Each answer stays inside this page’s evidence chain. Start with two waveforms (VBUS + I_LED), then confirm three log fields (reset_reason, fault_flags, event_id/timestamp). Apply one fix at a time (UVLO hysteresis, restart throttling, recovery state policy, bypass window, derating hysteresis, isolation/CM path), then verify with counters and recovery time.
SurgeSurge test passes, but driver resets randomly afterward—MOV aging or UVLO hysteresis?
Check post-surge line leakage and rail margins: measure VBUS droop and V_AUX threshold crossings, then correlate reset_reason with surge_counter and brownout_counter. MOV aging can increase leakage and heat, pulling rails down; tight UVLO hysteresis can convert small dips into repeated resets. First fix: increase UVLO hysteresis and add restart throttling; validate MOV end-of-life. Example MPNs: Littelfuse TMOV20RP300E, TI TPS3839.
RecoveryAfter lightning, light comes back but flickers for minutes—soft-start logic or bus capacitor ESR shift?
Capture VBUS recovery waveform (minutes scale) and I_LED ripple%, then read recovery_state, restart_attempts, and any “soft-start stage” flags. Aged bulk capacitors can show higher ESR, increasing ripple and causing marginal regulation; a recovery policy that re-enters soft-start repeatedly can create long flicker periods. First fix: lock recovery to a stable default current for N seconds, allow only one soft-start attempt per window, and log vbus_min. Example: FRAM logging with FM25V10-G.
TelemetryDALI commands work, but telemetry is missing—bus power budget or isolation leakage?
Telemetry failures often appear when bus power is sufficient for commands but insufficient for sensors/reads under load. Measure V_AUX sag during telemetry polling and check last_cmd_ts, telemetry_read_fail, and comms_drop_count. Isolation leakage or contamination can also corrupt measurements without breaking basic commands; verify insulation resistance and leakage paths. First fix: budget bus power for peak telemetry, rate-limit polling, and harden the isolation boundary. Example MPNs: Analog Devices ADuM141E, Fujitsu MB85RS64V (FRAM).
PLCPLC drops only during rainstorms—coupling network saturation or common-mode injection?
Correlate plc_link_loss with surge_counter and any earth/leakage flags. During storms, common-mode energy can enter through wiring and enclosure paths; wet pollution can shift impedances and raise leakage, driving the PLC front end into saturation or reset. Measure V_AUX spikes and a common-mode proxy (ground shift near the interface). First fix: improve common-mode return control (CM choke + isolation), keep surge return away from logic ground, and log last-good command time. Example MPNs: Würth 744232102, ADI ADuM141E.
WirelessWireless node keeps rebooting at night—temperature derating loop or watchdog from EMI bursts?
Night-only reboots usually split into derating oscillation or EMI-triggered watchdog. Compare V_AUX dips with I_LED step hunting, then check wdt_reset_count, temp_histogram, and derate entry/exit timestamps. If derate toggles rapidly, add thermal hysteresis and minimum dwell time; if resets align with comm bursts or storms, harden reset/IO and clamp spikes. First fix: derating hysteresis + restart throttling and robust I/O protection. Example MPNs: TI TPS3839, TI TPD1E10B06.
StringOne LED string intermittently opens—connector bounce or open-detect time window too aggressive?
Capture per-string voltage (if available) to spot fast V_string glitches, and record a pre-trip snapshot of VBUS, I_LED, and temperature. Then review open_event_count, debounce/time-window settings, and whether the event clusters with vibration or thermal transitions. Connector bounce creates narrow interruptions; aggressive open-detect windows misclassify brief transients as opens. First fix: increase qualification time, add a two-factor decision (voltage anomaly + persistence), and apply a short blanking window after recovery or dimming steps. Example: store snapshots in FM25V10-G FRAM.
BypassBypass triggers but the string is healthy—threshold drift, noise pickup, or surge transient misclassification?
First, correlate bypass_trip_count with temperature and surge_counter. Measure the detection node against switching noise and check whether trips occur during recovery transitions (surge/brownout/command change). Threshold drift causes temperature-dependent false trips; noise pickup causes dim-level or load-dependent trips; transient misclassification happens when no blanking is applied after surge events. First fix: temperature-compensated thresholds, time qualification, and a recovery blanking window; add RC filtering/shielding at the sense input. Example parts: TI TPD1E10B06 (sense-line clamp), FRAM MB85RS64V (trip snapshots).
SafetyTunnel safety mode requires “fail-dark,” but system “tries to relight”—state machine policy mistake?
Verify the state machine with evidence: look for I_LED pulses during fault/recover and confirm V_AUX stability. Then read safety_state, enable_reason, recovery_state, and last_cmd_age. Relighting usually comes from an unsafe default (hold-last or restore-on-boot) or enable gating that allows partial starts before rails are stable. First fix: latch fail-dark until a qualified clear condition, gate all enables on stable-rail + minimum-stable-time, and throttle restarts to prevent flashing. Example MPNs: TI TPS3839, FRAM FM25V10-G (store last safe state atomically).
LifetimeLumen output degrades over months—LED aging or driver current accuracy drift? What to log first?
Log enough to separate optical aging from electrical drift: record runtime_hours, temp_histogram, derate_duty, and a periodic I_LED reference check (same dim level, stable temperature). If I_LED stays constant while lumen drops, LED aging dominates; if I_LED slowly drifts, sense resistor temp gradient or amplifier offset may be the cause. First fix: tighten current accuracy budget (low-drift sense resistor placement, offset control) and store periodic “golden point” calibration snapshots. Example: use FRAM MB85RS64V for long-term trend logging.
BrownoutBrownout causes “stair-step dimming”—hold-up sizing or restart throttling?
Measure VBUS sag depth/duration and observe whether I_LED changes as a smooth foldback or discrete steps. Then read brownout_counter, restart_attempts, min_off_timer, and UVLO flags. Stair-step behavior often means the controller repeatedly enters recovery states (policy issue), not pure energy shortage. First fix: prefer monotonic dim-down over restart, increase UVLO hysteresis, and enforce a minimum-off timer to avoid start-stop cycling; only then evaluate bulk capacitance/hold-up sizing. Example: TI TPS3839 (clean brownout handling).
EMCEMC lab shows marginal conducted emissions only at one dimming level—control-plane coupling or power-stage modulation?
Bind the emission peak to an operating signature: log dim_level, mode_id, and comms activity counters, then measure the switching modulation pattern and I_LED ripple% at that exact dim point. If emissions rise only when comms tasks coincide with a particular PWM/skip mode, it is control-plane coupling; if emissions track a power-stage operating point (frequency, duty, or burst), it is modulation resonance. First fix: adjust dimming method or modulation schedule, avoid resonance bands, and strengthen common-mode impedance and return control. Example MPN: Würth 744232102 (CM choke family), TI TPD1E10B06 (I/O clamp).
FieldField technicians can’t reproduce the failure in lab—what minimum event snapshot should we store?
Store a compact, high-value snapshot that distinguishes surge/brownout/comms/thermal in one record: {event_id, ts, vin_rms, vbus_min, v_aux_min, i_led, temp, dim_level, fault_flags, reset_reason, recovery_state, comms_state}. Trigger on threshold crossings (UVLO/OVP/OTP/bypass) plus a short post-event window (N samples) to capture recovery behavior. Use atomic framing (length+CRC+sequence) to survive brownouts. First fix: move from periodic logs to event-triggered snapshots and verify commit time against V_AUX fall time. Example MPNs: FRAM FM25V10-G or MB85RS64V.
Cite this figure: FAQ Map (F12)
Copy-paste citation: “Street/Tunnel Lighting Driver — FAQ Map (Figure F12), ICNavigator, accessed YYYY-MM-DD.”