Ultrasound / ToF Echo Pick-Off with Comparator Gating
← Back to:Comparators & Schmitt Triggers
This page shows how to build a stable first-echo pick-off for Ultrasound/ToF using a comparator gate: define blanking + valid window + re-arm, then set VTH/VHYS from measured noise and edge slope so false triggers drop while timing jitter stays inside budget.
The focus is practical and measurable: P99 timing and false triggers per 1k TX, validated across overdrive recovery, protection networks, EMI, and temperature corners.
What this page solves: stable first-echo pick-off with a comparator gate
This page turns “first echo pick-off” into a repeatable, testable gate event: the first valid threshold crossing inside a defined time window (after blanking), with programmable hysteresis sized against noise and slow ramps.
Success criteria (measurable)
- False-trigger rate: triggers outside the expected echo region stay rare (track per N bursts).
- Timing jitter: trigger-time distribution stays tight (use P95/P99, not just “typical”).
- Miss rate: the smallest expected echo still crosses inside the valid window.
- Corner stability: performance holds across supply, temperature, and cable/EMI perturbations.
Typical failure modes → first action
First action: increase VHYS or raise VTH, then confirm the valid window is not opening too early.
First action: prioritize more hysteresis; only then consider minimum pulse-width qualification or light input limiting.
First action: extend blanking to cover ringdown and comparator recovery; validate overdrive recovery in-circuit.
First action: audit offset/drift and the threshold source (reference/DAC noise and TC) before chasing filters.
Minimal action path (fast to implement)
- Capture the comparator input at the pin: mark TX ringdown and the expected echo region.
- Set blanking to fully cover ringdown + recovery; open a valid window only where echoes are allowed.
- Choose VTH to pass the smallest echo; choose VHYS to block noise and slow-ramp chatter; then confirm with burst statistics (false rate + P95/P99 jitter).
System view: where the comparator sits in an ultrasound/ToF receive chain
A stable pick-off starts with an input contract at the comparator pin: minimum echo, noise, slope near threshold, ringdown/recovery, common-mode range, and source impedance. Without these, threshold and hysteresis tuning becomes guesswork.
Minimal receive chain (pick-off scope only)
Sensor/Receiver → (optional) gain / limiter / envelope shaping → Comparator → Gate/Latch/Timer → MCU/FPGA/TDC
Optional front-end blocks are treated only as input-condition modifiers (amplitude, noise, slope, saturation recovery), not as a separate design topic.
Comparator input contract (must be defined at the pin)
Why it matters: sets the upper limit for VTH and the safe range for VHYS without missing the echo.
Why it matters: dictates minimum hysteresis and whether fixed thresholding is feasible.
Why it matters: converts voltage noise into timing jitter (slow edges amplify jitter).
Why it matters: sets the minimum blanking time and prevents “always-early” triggers.
Why it matters: blanking must cover recovery; otherwise the first “valid” crossing is not the echo.
Why it matters: bias current × Rs and input capacitance can shift thresholds and slow edges.
Fast measurement path (get the contract in minutes)
- Probe at the comparator pin: record TX burst, ringdown, and the expected echo region.
- Measure noise in-window: view the intended valid window with no target / blocked path to estimate Vnoise.
- Estimate slope near VTH: use cursors around the crossing region to approximate dV/dt; log over corners.
Risk mapping (what breaks first)
- Vecho_min too small → lowering VTH increases false triggers; fix by windowing + VHYS sizing.
- dV/dt too slow → timing jitter inflates even if noise is unchanged; avoid heavy RC / weak pull-ups that slow edges.
- Recovery not covered → blanking is underestimated; the “first crossing” becomes a post-saturation artifact.
- Rs too high → bias and capacitance shift thresholds and slow the edge; reduce Rs or buffer/reshape.
Timing anatomy: blanking, windowing, and “first-cross” definition
Most pick-off failures are timing-definition failures: the gate is allowed to “see” TX residue, the valid window is too wide or misplaced, or re-arm is too short and counts the same echo multiple times. A stable implementation treats timing as a three-zone contract and defines first-cross as a verifiable event inside that contract.
The 3-zone timing contract (define it before tuning thresholds)
Driven by: ringdown decay + comparator overdrive recovery (when the input is pushed hard).
If too short: triggers lock to TX residue (repeatable “early” triggers).
If too long: near-range echoes can be clipped (missed first echo).
Driven by: expected ToF range (earliest/latest echo times) and the system rule (first-echo only).
If opens too early: residual ringing is misclassified as the echo.
If opens too late: the true first echo is missed and a later crossing becomes “first.”
Driven by: echo packet length and any residual ringing in-window.
If too short: double-counting within one echo packet (multiple events).
If too long: the next burst’s event can be blocked at high repetition rates.
“First-cross” as a circuit-level event (strict and testable)
- Minimum pulse width (t_min): reject single-sample glitches and EMI spikes.
- Minimum stable time (t_stable): require the output to stay asserted briefly before latching.
- Edge-only capture: count rising-edge only to avoid chatter-driven double events.
- Extend blanking until TX residue no longer produces a trigger.
- Place and tighten the valid window to the allowed ToF range.
- Only then tune VTH/VHYS (threshold and hysteresis) and verify with burst statistics.
Parameters to record (so timing stays reproducible)
- t_blank: covers ringdown + comparator recovery at worst overdrive.
- t_win_start / t_win_end: the only interval where first-cross is allowed.
- t_rearm: blocks re-triggers within one burst/echo packet.
- Metrics: false-trigger rate per N bursts, and trigger-time P95/P99 jitter.
Comparator choice for pick-off: speed, input behavior, and output topology
“High-speed” alone is not enough. Pick-off reliability depends on how delay changes at small overdrive, how the input stage behaves after large TX-induced overdrive, and how output topology (push-pull vs open-drain) shapes edge timing into the digital latch/TDC.
Propagation delay vs overdrive (why window edges “drift”)
- Problem: weaker echoes produce smaller overdrive, which often increases delay and its variation.
- Impact: the same echo can cross inside the window, yet the event time shifts later and spreads out.
- What to look for: delay specified at multiple overdrive points (or a curve). If absent, measure on-board with known stimulus levels.
Overdrive recovery (sets the blanking floor)
- Problem: TX feedthrough can drive the input far beyond the threshold region (saturation-like conditions).
- Impact: if recovery extends past blanking, the first “valid” crossing may be a recovery artifact, not the echo.
- Action: blanking must cover ringdown + recovery, validated at worst-case TX amplitude and loading.
Output topology (push-pull vs open-drain) and edge timing
Pick-off selection checklist (only the load-bearing fields)
- td vs overdrive: delay (and spread) at small input steps.
- Recovery behavior: time to regain valid switching after large TX residue.
- tr/tf under load: edge timing into the digital receiver at real Cload and VDD.
- Output type: push-pull vs open-drain; if OD, treat pull-up as a timing component.
Programmable hysteresis done right: VHYS sizing and independence from threshold
Hysteresis only works when two roles are separated and controlled: VTH sets the trigger point (where the crossing happens), while VHYS sets stability (how much noise and slow ramps are rejected). Treating VHYS as a “generic noise fix” often shifts the effective trip point and creates either false triggers (too small) or missed weak echoes (too large).
Separate the two knobs (do not tune them as one)
- VTH (threshold): decides which part of the echo becomes the event (timing reference).
- VHYS (hysteresis): decides whether noise/slow edges cause chatter, multiple triggers, or widened timing spread.
- Failure pattern: raising VHYS without checking VTH+ can push the effective “arm” level above Vecho_min.
Three comparator-side ways to implement programmable hysteresis
Watch step size and any VHYS dependency on VDD/temperature; validate across corners with burst statistics.
Watch source impedance and bias currents (threshold shift), and output swing (VOH/VOL) altering VTH+/VTH−. Compute VTH+ and VTH− using the two output states and verify on-board.
Watch DAC/reference settling and update glitches; treat threshold updates as a gated timing event.
VHYS sizing method (noise-based, then bounded by Vecho_min)
- Log false-trigger rate per N bursts while sweeping VHYS.
- Log trigger-time P95/P99 while sweeping VHYS at the minimum echo condition.
- If jitter remains wide at large VHYS, the edge slope (dV/dt) is limiting and must be improved separately.
Common traps (and what to check first)
- VHYS raised → missed echoes: check VTH+ vs Vecho_min at the pin.
- Still multiple triggers: check slow edges (dV/dt) and ensure hold-off is not too short.
- Threshold drifts: check bias current × source impedance and reference/DAC stability.
- OD output feels “random”: check pull-up and load capacitance; rise-time becomes a timing component.
Dynamic thresholding: TVG/AGC ripple and how it breaks a fixed comparator threshold
In real receive chains, echo amplitude and effective gain often change over time. A fixed threshold that is safe early can be too strict later (misses), or a threshold that catches weak late echoes can be too permissive early (false triggers). The safe approach keeps changes inside the timing contract: schedule thresholds in segments and guard every update against glitches.
Why fixed VTH fails when gain/envelope changes with time
- Time-varying envelope: the echo level is not constant across the window (early vs late differs).
- AGC/TVG activity: gain steps or ripple modulate the signal near VTH and move the crossing time.
- Outcome: either early false triggers (too-low VTH) or late misses (too-high VTH), even if VHYS is correct.
Two pick-off-safe ways to adapt without breaking the page boundary
How AGC/TVG ripple breaks timing (what it looks like in data)
- Periodic drift: trigger-time histogram forms bands aligned to an update or ripple frequency.
- Edge slope changes: dV/dt near VTH varies across the window, widening P95/P99 jitter.
- Diagnosis: correlate trigger timestamps against AGC update timing and the segmented VTH schedule.
Guard rules (prevent threshold updates from creating false triggers)
- Update = temporary blanking: do not accept comparator events during VTH/VHYS changes.
- Wait for settling: enforce t_settle after each update (worst-case corners).
- Place updates in safe zones: avoid switching near expected crossing times.
- Prefer monotonic schedules: fewer “back-and-forth” crossings and fewer edge cases.
False triggers taxonomy: noise, EMI bursts, TX feedthrough, and slow-ramp chatter
Debugging false triggers becomes fast and repeatable when each symptom is mapped to a category. Each category has a distinct fingerprint (random vs synchronous vs TX-locked vs chatter) and a highest-yield first action. The goal is to cut false triggers while preserving weak-echo sensitivity inside the valid window.
Fast classification (one-minute decision)
- TX-locked? triggers appear at a fixed delay after TX (even with no target).
- Synchronous? triggers align to a switching/PWM event or a periodic disturbance.
- Random? triggers scatter in time with no strong correlation.
- Chatter? multiple toggles near VTH during a slow crossing in the valid window.
1) Wideband noise spikes (random)
- Increase VHYS (then re-check VTH+ vs Vecho_min).
- Add minimum pulse width or minimum stable time before latching.
- Add light input band-limit (do not slow the echo edge excessively).
2) EMI bursts (synchronous)
- Prove correlation: trigger scope from the suspected switching node and compare against comparator_out.
- Fix the coupling path: return-current continuity, shielding, and ground-bounce control.
- Add input “pulse-hardening”: small series-R + C / RC, then re-check edge slope for jitter impact.
3) TX feedthrough / ringdown (TX-locked)
- Extend t_blank to cover ringdown + comparator recovery.
- Reduce destructive overdrive (limit/clamp so recovery is shorter and repeatable).
- Break the coupling path in layout/partitioning and return-current routing.
4) Slow-ramp threshold chatter (multi-toggle)
- Increase VHYS using the noise-based sizing method.
- Add hold-off / re-arm so only one event is accepted per burst.
- Improve dV/dt near VTH: reduce excessive RC/clamp capacitance and avoid ultra-weak OD pull-ups.
Recommended troubleshooting order (avoid random threshold tweaking)
- TX-locked first: validate blanking and recovery coverage.
- Synchronous EMI next: prove correlation and fix coupling/return paths.
- Slow-ramp chatter: increase VHYS and enforce hold-off.
- Random noise spikes: add pulse-width/stability checks and gentle band-limiting.
Jitter budget: edge timing error from noise, slope, and output transition
First-echo pick-off is a timing problem. Timing jitter becomes predictable when expressed as a budget: reduce the noise at the crossing (σv), increase the edge slope at the crossing (dV/dt), and avoid adding output-edge uncertainty (especially with open-drain pull-ups).
Core engineering relation (use it as a budget knob)
What reduces dV/dt (makes the edge slow at VTH)
- Excessive input RC / over-filtering (edge becomes rounded and slow).
- Protection capacitance (clamps/TVS/ESD parts) that loads the node.
- Open-drain output with weak pull-up and large Cload (slow rising edge into latch/TDC).
- Probe/wiring loading (measurement setup changes the edge and the jitter).
What increases σv (noise at the crossing)
- Front-end noise inside the valid window (amplifier + sensor chain).
- Ground bounce and common-mode disturbance coupled into the comparator input.
- Threshold-side noise when using DAC/reference/dividers (VTH becomes noisy).
- Coupled digital edges near the input node (crosstalk into the threshold region).
Output-edge uncertainty (do not re-introduce jitter in the digital domain)
Minimal jitter budget fields (measure at the comparator pin)
- σv_in: RMS noise in the valid window at the input node.
- dV/dt@VTH: slope at the threshold crossing region.
- σt_in: estimated input timing spread from σv_in / (dV/dt).
- tr_out: output rise time under real pull-up and Cload (if OD).
- P95/P99: acceptance metrics for timestamp stability across N bursts.
Input conditioning & protection: clamp/RC/series-R without killing speed
Echo pick-off inputs often see large transients and harsh interference. Protection is mandatory, but “heavy” protection directly reduces edge slope at the threshold and shifts recovery behavior, which can destroy first-cross timing. The safest approach builds protection in three controlled functions—limit current, limit voltage, and limit bandwidth—then tunes from light to stronger while watching timing metrics.
Define the protection boundary (measure here, then tune)
- Vmax_event: worst transient at the comparator pin (TX feedthrough + line events).
- Vecho_min: smallest valid echo level that must still cross VTH+.
- σv_in: in-window noise at the pin (sets VHYS and filtering needs).
- dV/dt@VTH: slope at the crossing region (sets jitter sensitivity).
- t_recovery_budget: maximum acceptable recovery time after overdrive/clamping.
Series-R (current limiting): the cheapest insurance and the most common speed killer
Clamp / TVS (voltage limiting): protect the pin, then prove recovery and threshold stability
- Capacitance / charge storage: slows edges and can extend overdrive recovery, pushing blanking longer.
- Leakage paths: with high source impedance, leakage can shift the effective threshold and drift with temperature.
Small RC (band limiting): remove spikes without turning echoes into slow ramps
Tune from light to stronger (do not add everything at once)
- Series-R first: minimum current limiting that protects the clamp and the pin.
- Clamp next: low-C, low-leakage option; validate recovery time.
- RC last: smallest band-limiting that removes spikes without slowing the echo edge.
- Then refine: VHYS and pulse-width / hold-off rules usually beat heavier analog filtering for timing accuracy.
Validation checklist (protection + timing)
- Recovery: after a worst-case transient, the node returns to normal within the blanking/window budget.
- Timing: dV/dt@VTH remains sufficient and P95/P99 jitter stays within the budget.
- Threshold stability: VTH does not shift with temperature or with realistic source impedance.
- False-trigger resilience: spike/EMI injection does not create events inside the valid window.
Layout & grounding for pick-off accuracy: symmetry, return paths, and shielding
Many “false trigger” problems are board problems: uncontrolled return paths, ground bounce, and coupling from TX and switching nodes into the receive input. A pick-off layout must protect the threshold region and keep return currents predictable. The following rules are the minimum set that preserves timing repeatability across temperature, loads, and operating modes.
Minimum partition model (keep RX reference clean)
- TX zone: high dv/dt nodes and large transient currents.
- RX zone: input network, comparator, threshold/reference components.
- Digital zone: FPGA/MCU, clocks, fast I/O edges.
- Rule: RX return paths must stay continuous; avoid splits/slots that force return detours.
Input routing rules (single-ended or differential)
- Keep the input path short and away from TX drivers, switch nodes, and clocks.
- Maintain symmetry for differential inputs; keep pair coupling consistent and avoid skewed detours.
- Do not route the input across plane gaps; return current must remain directly under the trace.
- Avoid long parallel runs with fast digital or power gate signals; crossing is safer than paralleling.
Decoupling, reference, and output return paths (where ground bounce is created)
- Place comparator decoupling to minimize loop area (VDD → cap → GND must be tight).
- Keep the threshold/reference return quiet; noisy returns modulate VTH directly.
- For push-pull outputs, manage di/dt return currents so output switching does not disturb the RX reference region.
- For OD outputs, pull-up current return should not share the sensitive input/threshold ground path.
Shielding and keep-out (minimum isolation rules)
- Define a keep-out around TX switching nodes; do not route RX inputs or threshold nets through it.
- Keep RX input and threshold components inside the RX zone; avoid “leaking” them into digital corridors.
- Use shielding/guarding only when return paths remain continuous; avoid creating plane discontinuities.
Layout checklist (10 checks that catch most pick-off failures)
- No input trace crosses plane splits; return path stays under the trace.
- RX input and threshold nets keep distance from TX and switch nodes.
- Comparator decoupling loop is minimal and local.
- Reference/DAC/divider return is quiet and not shared with power switching returns.
- Output return (push-pull) does not disturb the RX reference region.
- OD pull-up return does not share the sensitive threshold ground.
- Clamp/TVS return path is short and controlled.
- TX zone keep-out is respected for RX signals and reference nets.
- Digital clocks/IO do not parallel the RX input path for long runs.
- Probe/measurement ground points are planned to avoid injecting ground noise.
Quick localization (prove the board is the root cause)
- Check whether false events align to a digital I/O transition or a power switching phase.
- Short the RX input to a quiet reference and confirm whether events disappear.
- Change probing ground method (short spring vs long ground lead) and observe event sensitivity.
- Change TX drive strength or edge rate and watch whether the RX event timing shifts.
Engineering checklist & validation tests: prove first-echo pick-off works
A stable pick-off is not “a fast comparator.” It is a measurable outcome: low false-trigger rate inside the valid window, tight timing percentiles (P95/P99), and robust recovery after TX feedthrough and saturation. Use the checklist below as a reusable field template, then validate with 10k-shot statistics and corner sweeps.
A) Input boundary checklist (measure at the comparator pin)
- Vecho_min (minimum first-echo amplitude inside valid window)
- Vnoise_rms (RMS noise with TX running; same bandwidth as real pick-off)
- Vmax_overdrive (TX feedthrough / ringdown peak at the input)
- Ringdown_time (time until residual decays below the safe threshold band)
- Source_R and Cin_total (sensor/AFE output impedance + clamp/filter + comparator Cin)
- Vcm range (common-mode seen at the comparator input under real conditions)
- Recovery must fit blanking: input must settle to the “valid” behavior before t_win_start
- Edge slope must support timing: if dV/dt at the crossing is slow, jitter will expand (see H2-8)
- Overdrive must not corrupt VTH: clamps and bias currents must not shift thresholds under large TX hits
B) Timing window & threshold checklist (make it unambiguous)
- t_blank: hides TX feedthrough + ringdown (sets the earliest legal trigger)
- t_win_start / t_win_end: the only time the pick-off is allowed to fire
- t_rearm: prevents second-echo / multi-toggle triggers
- Min pulse / min hold: rejects narrow spikes inside the valid window
- VTH (trip point): must be below Vecho_min with margin across corners
- VHYS (noise immunity): target VHYS ≥ (3–6) × Vnoise_pk and re-check echo detect margin
- Step-settle time (if VTH/VHYS are updated): enforce a short “ignore” time after each change
- Thermal drift: VTH(T) must not drift into the noise band or outside echo margin
C) Metrics that end arguments (define success in numbers)
- Report P50 / P95 / P99 of t_pickoff (relative to TX reference or window start)
- Track σt and P99 (percentiles are more robust than averages)
- Separate populations if multiple slopes exist (TVG/AGC steps, mode changes)
- Count false_in_window (the only one that corrupts ToF)
- Also record false_outside_window to diagnose EMI vs timing-window mistakes
- Tag correlation: TX-synchronous vs switching-synchronous vs random
D) Validation tests (scope + statistics + corners)
-
10k-shot repeatability (fixed target / fixed distance)
Capture t_pickoff for 10k firings; output histogram and P95/P99. If P99 expands, the first suspects are dV/dt at crossing, pull-up strength (OD), and excess input RC/clamp capacitance. -
Corner sweep (temperature + VDD)
Repeat the same 10k-shot test at cold/room/hot and VDD(min/typ/max). Watch for drift in VTH margin and for recovery changes that force longer blanking. -
EMI stress (synchronous diagnosis)
Observe false triggers against the system switching node (motor/PWM/DC-DC). If false events phase-lock to switching, layout/return/shielding dominates; do not “solve” it by over-increasing VHYS alone.
IC selection logic: vendor questions + quick decision tree (with example part numbers)
Pick-off selection is not a “fastest comparator wins” game. The shortlist must be driven by: delay vs overdrive behavior, recovery after TX saturation, hysteresis control, and output edge integrity under real loading. Use the template below to ask vendors for exactly the data that predicts first-echo stability.
A) What to ask vendors (field → risk mapping)
- Propagation delay vs overdrive curve → window edge drift when echo amplitude varies
- Overdrive dispersion (timing spread) → ToF timing percentile floor under changing overdrive
- Overdrive recovery / behavior after saturation → minimum feasible blanking; near-range detect loss risk
- Input offset & drift → absolute threshold error across temperature and VDD
- Input bias current + input capacitance → threshold shift with high source-R; slope loss (jitter expansion)
- Programmable hysteresis range/step/tempco → stable gating without over-filtering or missed Vecho_min
- Output topology + rise/fall vs load → OD pull-up limited edge (timing error) vs push-pull di/dt noise
- Latch / minimum output pulse support → reliable “first-cross” capture with narrow spikes rejected
2) Provide recovery behavior after input saturation (time to return to valid crossing behavior).
3) Confirm programmable hysteresis: range, step, symmetry, and temperature drift (if applicable).
4) Provide output rise/fall vs load (Cload, Rpullup for OD) and output swing guarantees.
5) Provide input bias current, input capacitance, and any clamp/ESD structure details that affect high source impedance.
6) Confirm latch/enable/blanking support and any minimum pulse requirements or internal filtering.
B) Example part numbers to shortlist (pick-off-relevant families)
These examples are starting points for datasheet lookup and lab validation. The decision must be driven by the field template above: recovery, hysteresis control, and edge integrity under the real RX front-end and timing window.
- TI: TLV3603, TLV3603-Q1 (family options with adjustable hysteresis and latch)
- Analog Devices: LTC6752 family (variants with latch and adjustable hysteresis options)
- Analog Devices: ADCMP602 (family with latch inputs; some variants support adjustable hysteresis via control pin)
- Analog Devices: ADCMP564 (separate programmable hysteresis pin; evaluate dispersion and recovery behavior)
- Analog Devices: LT1711 / LT1712 (output latch; validate hysteresis strategy and recovery)
- Maxim/ADI (legacy Maxim): MAX961 / MAX962 (internal hysteresis; validate that VHYS fits the noise model)
- TI: LMP7300 (micropower precision comparator with adjustable hysteresis and reference; often used for stable thresholds)
- Microchip: MIC833 (comparator + on-chip reference + latch; independently adjusted thresholds for wide hysteresis)
- TI Smart DAC (threshold helper): DAC53701 / DACx3701 (programmable high/low margins can implement hysteresis-like thresholds for slow paths)
FAQs: Ultrasound / ToF first-echo pick-off (short, actionable)
Each answer is structured as Trigger → Check → Threshold → Action. Scope points use a consistent map: IN (comparator pin), GATE (blanking/window enable), OUT (comparator/latch output), VTH (DAC/REF threshold node), REF (TX reference / switching node).
Why does it trigger on TX ringdown instead of the echo? Adjust blanking first or hysteresis first?
- IN vs REF alignment: is the false trigger phase-locked to TX?
- IN decay envelope: measure ringdown time until IN stays outside the threshold band.
- Recovery behavior: after large overdrive, does IN crossing behavior look “normal” before window start?
- If false events are TX-synchronous: prioritize t_blank ≥ t_ringdown + t_recovery_margin.
- If false events are not TX-synchronous: prioritize VHYS ≥ (3–6)·Vnoise_pk (within window).
- Extend blanking until ringdown + recovery fits comfortably before the valid window.
- Only then raise VHYS to suppress residual noise inside the valid window.
- Last resort: add small input conditioning (minimal RC / series-R) if ringdown is not the limiter.
With the same noise amplitude, why does jitter explode when the edge becomes slower?
- Measure dV/dt at the actual crossing (near VTH) on IN, not only peak-to-peak noise.
- Compare IN slope with/without added clamp/RC/probe loading.
- Check OD output rise-time vs load (if timing is taken from OUT).
- Use σt ≈ σv / (dV/dt): halving slope doubles timing jitter.
- If OUT is OD and used for timing: ensure tr is not the dominant slope limiter.
- Reduce slope killers: lower Cload / clamp capacitance; avoid oversized RC at the input.
- Strengthen edges: lower OD pull-up resistance or use push-pull; reduce source impedance.
- Re-check P99 after each single change (one knob per iteration).
For open-drain output, how large does the pull-up resistor need to be before it hurts timing jitter?
- Measure OUT rise-time (tr) with the real load (MCU/FPGA pin + trace + probe).
- Confirm whether timing is captured from OUT (vs internal latch or a faster node).
- Estimate effective Cload (pin + trace + clamp + probe).
- First-order: tr ≈ 2.2 · Rpullup · Cload.
- Keep tr comfortably smaller than the allowed edge-time contribution to P99 timing error (budget by ratio, not an absolute number).
- Reduce Rpullup or reduce Cload (shorter trace, lighter probe, fewer clamps on OUT).
- If fast timing is required, capture timing from a latched/fast domain or use push-pull output.
- Validate by comparing P99 before/after with 10k-shot statistics.
If programmable hysteresis is too large, why does it miss the first echo? How to estimate an upper bound from noise?
- Measure Vecho_min at IN (minimum echo amplitude in the valid window).
- Measure Vnoise_pk (peak noise around the crossing band, same bandwidth as operation).
- Confirm the actual switching thresholds: VTH+ and VTH− (or their effective equivalents).
- Noise immunity floor: VHYS ≥ (3–6) · Vnoise_pk.
- Detection constraint: VHYS must still allow Vecho_min to cross VTH+ with margin (no “dead zone” inside the valid window).
- Compute a feasible VHYS band from measured Vnoise_pk and Vecho_min (floor from noise, ceiling from echo margin).
- If no feasible band exists, improve SNR or slope at the crossing (reduce loading, improve front-end gain/noise).
- Re-validate false_in_window and P99 at the chosen VHYS.
When VTH is set by a DAC, how does reference noise turn into trigger jitter?
- Measure VTH node noise (RMS/peak in the relevant band) while the system is active.
- Check coupling: does VTH noise correlate with REF (TX or switching activity)?
- Confirm whether VTH updates occur inside the valid window (step transients can self-trigger).
- Equivalent jitter contribution: σt,th ≈ σv,th / (dV/dt at crossing).
- If VTH step updates are required, enforce a small “ignore” time after each step before enabling pick-off.
- Filter/buffer the VTH node (reduce σv,th) and isolate its return from high di/dt currents.
- Move VTH updates outside the valid window; re-enable pick-off only after settle time.
- Budget σt,th explicitly in the P99 target; do not treat threshold noise as “free.”
If datasheets do not show overdrive recovery time, how to measure it in the lab?
- Inject a controlled overdrive pulse at IN (amplitude similar to worst TX feedthrough).
- After the overdrive pulse, apply a small calibrated “echo-like” ramp/step and observe crossing behavior.
- Measure the earliest time when crossing delay/jitter returns to the “no-overdrive” baseline.
- Define recovery time as: time until P99 delay and false_in_window match the baseline within a small tolerance band.
- System requirement: t_recovery + margin ≤ t_blank.
- Measure recovery with the real protection network installed (clamps/series-R/RC change recovery behavior).
- Set blanking using measured recovery + ringdown, not guesswork.
- If recovery is too long, reduce clamp capacitance/leakage and avoid deep saturation at IN.
After adding a TVS at the input, false triggers became more frequent. Which two parameters are the top suspects?
- TVS capacitance: compare dV/dt at IN crossing before/after TVS.
- TVS leakage / dynamic behavior: check static threshold shift and recovery tails after TX hits.
- Return path: confirm TVS current returns to the intended low-impedance reference (not through sensitive grounds).
- If dV/dt drops significantly at VTH, jitter and false triggers will rise (via σt ≈ σv/(dV/dt)).
- If input bias × source-R causes VTH shift comparable to noise band, false triggers will increase.
- Switch to lower-capacitance / lower-leakage protection (or move protection earlier where it is less slope-critical).
- Use modest series-R for current limiting, but re-check slope and jitter after each change.
- Fix TVS return routing (short, direct, and away from threshold/reference returns).
Why does the trigger point drift when the probe cable is moved? Check shielding first or ground return first?
- Repeat with a short ground spring vs a long probe ground lead (ground inductance changes noise pickup).
- Observe IN baseline shift and noise bursts while moving the cable.
- Compare different shield termination strategies consistent with the system grounding plan.
- If timing changes mainly with probe grounding method, return-path/ground impedance dominates.
- If timing changes with field coupling but not with ground method, shielding/electric-field pickup dominates.
- First ensure low-impedance, continuous RX return paths and short sensitive loops.
- Then apply shield/guard strategy to high-impedance nodes and cable entries.
- Re-check false_in_window and P99 while intentionally moving cables (a “motion stress” test).
A second trigger happens inside the valid window. What is the most effective re-arm / hold-off strategy?
- Check whether the second event aligns with a real secondary echo (IN has a second peak) or is noise chatter.
- Measure pulse width of the first OUT event; narrow spikes often indicate noise/EMI bursts.
- Confirm if latch/hold-off is implemented in logic or hardware (GATE vs OUT behavior).
- Hold-off must be ≥ the minimum allowed spacing between “first echo” and any later valid crossings for the application.
- Spike rejection: enforce min_pulse_width so narrow noise spikes do not qualify as a first-cross.
- Latch the first valid crossing and ignore subsequent crossings until re-arm time expires.
- Add a minimum pulse/hold qualifier inside the valid window (reject narrow spikes).
- If chatter persists, increase VHYS or improve slope at crossing (reduce loading / improve drive).
At low temperature, pick-off becomes earlier/later. Is offset drift or hysteresis drift the usual root cause?
- Log t_pickoff, false_in_window, and the configured VTH/VHYS at cold/room/hot.
- Check if changing VTH shifts timing predictably (offset/drift signature) or changes chatter immunity (VHYS signature).
- Measure VTH node stability (DAC/REF drift) if applicable.
- If timing shift tracks VTH changes (predictable), offset/drift dominates threshold accuracy.
- If timing shift appears mainly as increased chatter/false rate at cold, VHYS (or noise pickup) dominates immunity.
- For offset/drift: choose lower-drift parts or re-trim VTH by temperature corner (simple corner table).
- For VHYS/noise: re-size VHYS from measured cold noise band and verify Vecho_min still crosses with margin.
- Always validate using P99 and false_in_window across corners, not typical timing.
How to quickly distinguish EMI-burst triggers vs wideband-noise triggers on a scope (what to probe)?
- Probe IN, OUT, and REF (switching node or TX reference) simultaneously.
- Time-stamp false triggers and check phase-lock to REF periodic activity.
- Check whether the noise burst on IN has a consistent shape and repetition rate.
- If false triggers are phase-locked to REF (fixed phase), it is EMI/synchronous coupling.
- If event timing is not correlated and looks memoryless, it is wideband/random noise.
- For EMI: prioritize return paths, shielding, partitioning, and keep-out from switching nodes.
- For random noise: prioritize VHYS sizing, slope improvement at crossing, and minimal RC filtering.
- Track false_in_window per 1k TX before/after changes to confirm the dominant mechanism.
After adding RC at the input, the system is more stable but ranging is worse. Is it slope loss or threshold drift?
- Compare dV/dt at VTH on IN before/after RC (slope loss causes timing spread and delay).
- Check DC baseline / bias shift at IN and VTH node (leakage + source-R can drift thresholds).
- See if the ToF error is mostly systematic shift (drift) or statistical spread (slope/jitter).
- If P99 grows while mean stays similar, slope/jitter dominates (σt grows via reduced dV/dt).
- If mean shifts consistently across shots, threshold drift/bias shift dominates (leakage × source-R or VTH drift).
- If slope/jitter: reduce RC burden (smaller C, smaller series-R), or move filtering earlier where slope is less critical.
- If threshold drift: reduce source impedance, use lower-leakage parts, and stabilize VTH/REF routing and decoupling.
- Re-validate with 10k shots and report P99 + false_in_window per 1k TX.