123 Main Street, New York, NY 10001

Bus Capacitance & Fanout for I2C and SPI

← Back to: I²C / SPI / UART — Serial Peripheral Buses

Bus capacitance and fanout are the hidden “load budget” that decides whether I²C/SPI timing margin exists at the worst endpoint. This page shows how to estimate and measure effective capacitance, segment the topology, and verify stability with quantifiable pass/fail metrics.

What “Bus Capacitance & Fanout” Really Means

Outcome

This page defines a single, practical budget: total effective bus capacitance and fanout under timing margin, then connects that budget to edge-rate and stability limits for I²C and SPI.

Capacitance is not just “a number” — it behaves like a variable load that changes with topology, connectors/cables, protection parts, and even measurement setup. That variability is a common root of intermittent failures.

Definition Engineering budget

Total bus capacitance is the effective capacitance seen by the signal driver: CBUS ≈ Σ(pin C + trace C + connector/cable C + protection C + buffer/mux input C + branch/stub C).

Fanout (in this context) is the number of loads and branches that can be attached while keeping timing margin at the target speed and noise environment. Fanout increases not only CBUS, but also its variance (device swaps, cable changes, probe loading), which often drives “works sometimes” behavior.

Key cause → effect chain (used throughout this page)

CBUS ↑ → edge-rate (slew) ↓ / rise-time ↑ → threshold crossing shifts (Δt) ↑ → timing margin ↓ → intermittent errors ↑

Scope Guard Prevent topic overlap
  • In-scope: capacitance sources, fanout/topology impact on edge-rate, margin thinking, estimation/measurement hooks.
  • Out-of-scope: full termination/return-path SI, deep EMC design, protocol state-machine corner cases (covered in sibling pages).
Diagram · C budget map (sources → effective CBUS → edge-rate → margin)
Effective C is built from board + wiring + protection + segmentation Pin C (devices) Trace C (main + stubs) Connector / Cable C Protection C (ESD/TVS) Mux/Buffer input C Branch / fanout variance C BUS (effective) Budget + variability Margin control Edge rate / Rise time slew ↔ timing Timing margin stable ↔ intermittent Rule: C rises + C varies → edge timing varies → margin collapses → intermittent failures
Practical reading: every added node/branch/connector/ESD part changes the effective load. The goal is not “maximum speed”, but predictable edge timing with margin.

Why Capacitance Kills Timing Margin (I²C vs SPI)

Core mechanism (minimum complete set)

Capacitance shapes edges through an RC-like response. When the edge is slow, a fixed amount of coupled noise (ΔV) produces a larger timing shift: Δt ≈ ΔV / slew. In other words, slow edges convert voltage noise into time uncertainty.

Too-slow edges reduce timing margin; too-fast edges can increase ringing. The engineering target is a controlled edge that stays within protocol timing budgets and noise conditions.

I²C threshold-based
  • What matters: when SDA/SCL crosses logic thresholds (late crossing consumes timing budget).
  • How it fails: rise-time exceeds budget, setup/hold margin shrinks → NAK bursts, arbitration loss, bus “stalls”.
  • Best first checks: rise-time/slew at the farthest device; error rate vs added loads/cable.
SPI sampling-window-based
  • What matters: sampling point location relative to SCLK edge and data-valid window.
  • How it fails: edge slows/varies across fanout → setup/hold window collapses → bit-shifts, CRC/frame errors at high speed.
  • Best first checks: error vs frequency sweep; compare waveforms near master vs far slave.
Quick diagnosis (capacitance-driven or not)
  • If failures increase after adding devices/branches/cables/ESD parts, then suspect CBUS and edge-rate first.
  • If the link works one speed down but collapses at the top setting, then suspect margin collapse driven by edge timing variability.
  • If scope looks “OK” at one point but errors persist, then measure at the far end and compare (distributed load changes the edge).
Common pitfalls (within this page’s scope)
  • Hidden C: connectors/cables and protection arrays dominate the budget more often than the PCB trace.
  • Variance ignored: intermittent errors are frequently driven by load variation, not only average load.
  • Single-point probing: measuring only near the master misses the worst-case edge at the far slave.
Diagram · Same capacitance, different failure modes (I²C vs SPI)
Same C load → edge timing varies → different protocol “grading rules” I²C threshold-based Threshold Late crossing Effect: tR budget consumed → timing margin shrinks Common symptom: NAK bursts / stalls SPI sampling-window-based Data window Sample point Window shrinks Effect: setup/hold window collapses → bit errors Common symptom: CRC / frame errors
Practical reading: the same capacitance-driven edge variability becomes “late threshold crossing” in I²C and “sampling window shrink” in SPI.

I²C Capacitance Budgeting (The 400 pF Design Target)

What the “≤ 400 pF” target implies

The classic ≤400 pF target is a predictability goal: it keeps rise-time and threshold-crossing timing within a controllable margin across topology changes, device swaps, and cabling variance.

In real systems, the dominant contributors are often connectors/cables and protection arrays, followed by the cumulative pin capacitance of all devices and any long branches. PCB trace capacitance is rarely “free,” but it is not always the first place to look.

Workflow topology → segments → estimate → margin → action
  1. Set the operating mode (100 kHz / 400 kHz / 1 MHz / 3.4 MHz) and decide whether a speed fallback is acceptable.
  2. Draw topology: mark the master, farthest device, branch points, connectors/cables, and protection placements.
  3. Split into segments at physical boundaries (connectors, mux/buffer boundaries, harness transitions).
  4. Estimate C per segment: pin C sum + trace C + connector/cable C + protection C + any input C of split devices.
  5. Add margin for variance (manufacturing tolerance, device swaps, harness options, probe loading).
  6. Find the bottleneck (worst segment / worst endpoint) and select the minimum lever to restore margin.
Practical rule

Budget the worst segment/end, not only the average. Intermittent I²C failures are frequently driven by variance: connector/cable options, added ESD parts, or “temporary” probe clips.

When the target is violated (directional choices only)
  • Reduce speed: restore rise-time margin immediately (lowest engineering risk).
  • Segment the bus: split capacitance into smaller, predictable domains.
  • Buffer or isolate: decouple downstream capacitance and stabilize the edge seen by the master.
  • Use an extender: when cabling/harness capacitance dominates and segmentation is insufficient.
Quick verify (capacitance-budget driven or not)
  • Step-load test: add/remove one device or one harness option; check whether rise-time and NAK bursts move together.
  • Endpoint compare: measure at the farthest device; edges near the master can look acceptable while the far end violates rise-time.
  • Variance check: swap connector/cable variants; intermittent issues that track variants typically indicate missing capacitance budget terms.
Diagram · I²C capacitance budget worksheet (segment view, no tables)
I²C budget segment the topology, then budget the worst segment Topology Master Far end A B C D Seg A C_est: X pF Margin: +Y pF Action: OK Seg B C_est: X pF Margin: +Y pF Action: OK Seg C bottleneck C_est: X pF Margin: +Y pF Action: Split Seg D C_est: X pF Margin: +Y pF Action: OK
Use segments to locate the bottleneck. Only the minimum lever is needed: reduce speed, split capacitance, buffer/decouple, or move to an extender when cabling dominates.

Pull-Up vs Capacitance: Rise-Time Budget (R Window)

Key idea: R is a window, not a single “correct value”

Larger C makes the edge slower; smaller pull-up resistance makes the edge faster but increases static power during low periods. The practical goal is an R window that meets rise-time limits with margin and avoids excessive current.

Steps mode → tR limit → C_est → R range
  1. Pick mode: decide the target I²C speed and whether fallback is allowed.
  2. Pick rise-time limit: use the mode’s rise-time requirement as the timing budget (keep the number external to this page’s scope if needed).
  3. Use worst-case C_est: take the bottleneck segment/end from the capacitance worksheet (including connector/cable and protection).
  4. Compute the feasible R range: choose R that satisfies the rise-time budget with margin, then check current/power constraints.
Boundary note (to avoid topic overlap)

This section only connects R, C, and rise-time. Detailed EMC edge-shaping techniques and advanced pull-up network variants belong to the dedicated pull-up network page.

Guardrails (what “too small” and “too large” look like)
  • R too small: higher static current during low periods, higher stress on sinks, and increased emission risk (without deep EMC details here).
  • R too large: rise-time exceeds budget, threshold crossing shifts, and intermittent NAK/reads appear as margin collapses.
  • Hidden C trap: ignoring connector/cable and protection capacitance frequently produces an R choice that works on bench but fails in the full system.
Diagram · Rpull window vs CBUS (low / mid / high C)
Pull-up window rises with current limit, falls with rise-time limit C_BUS increases → feasible R window shrinks Low C Mid C High C R_max R_min Wide window R_max R_min Narrower R_max R_min Window may vanish Too large slow edge Too small power If window disappears → split or reduce speed
Reading guide: increasing C raises the rise-time burden and compresses the feasible pull-up window. When the window becomes too narrow, segmentation or speed fallback is the safer lever than “guessing R”.

Fanout & Topology for I²C: Branches, Stubs, Segmentation

Why “more devices” and “more branches” reduce margin

I²C fanout grows bus capacitance in two ways: each device adds pin capacitance, and each branch adds trace/stub capacitance. Both increase rise-time and expand timing uncertainty at logic thresholds.

  • Device fanout: Σ(device pin C) accumulates on SDA and SCL.
  • Topology fanout: branches/stubs add distributed C and increase variability across endpoints.
  • Variance matters: connector options, harness changes, and probe loading shift effective C and collapse margin intermittently.
Why star topology is riskier (capacitance + branch effect only)

Star layouts concentrate multiple branches at a hub point, so the driver “sees” a larger effective load and larger endpoint-to-endpoint variation. Even if the average looks acceptable, the worst branch often determines stability.

  • Daisy / trunk-first: capacitance accumulates along the main path; endpoints tend to be more predictable.
  • Star / many branches: hub load increases quickly; endpoint variation increases; timing dispersion grows.
Decision tree reduce speed → segment → isolate load
  1. Identify the bottleneck: find the worst endpoint/segment from the capacitance worksheet (largest C_est or largest variance).
  2. If speed fallback is allowed: reduce I²C mode until rise-time margin returns (lowest risk).
  3. If speed must be kept: split the topology into smaller domains and budget C per segment.
  4. Choose the split method:
    • Mux/Switch: reduce “simultaneous” effective fanout by selecting one branch at a time.
    • Buffer/Repeater/Isolator: decouple downstream capacitance so upstream sees a smaller, more stable load.
  5. Allocate C per segment: treat each segment as its own budget line with margin (Segment A/B/C/D style).
Scope guard

This section treats topology as a capacitance and variance problem. Detailed address-conflict strategies and device feature comparisons belong to the dedicated mux/switch/buffer pages.

Quick verify (fanout/topology-driven or not)
  • Branch toggle test: disconnect one branch and observe whether rise-time and NAK bursts drop together.
  • Endpoint comparison: measure rise-time at the hub and at the farthest branch; dispersion indicates topology-driven timing spread.
  • Variance test: swap connector/harness options; failures that track variants often indicate missing C or margin in budgeting.
Diagram · Topology comparison (daisy vs star) + segmentation with buffer
I²C topology capacitance grows with devices + branches Daisy / Trunk Star / Branches Segmented M C accumulates C grows along trunk M Hub C piles up at hub Branch variance ↑ M Buffer C isolated at split Upstream margin ↑ Goal: control effective C and variance at the master-facing segment
Reading guide: daisy/trunk topologies grow capacitance more predictably; star topologies amplify hub loading and endpoint variance. Segmentation isolates downstream capacitance so upstream margins remain stable.

SPI Trace Capacitance vs Edge Rate: When SCLK Gets Fast

Core idea: edge rate controls sampling margin

For SPI, trace and input capacitance behave as a dynamic load on the push-pull driver. As Cload increases, edges slow and deform, compressing setup/hold margin at the receiver even if the nominal clock frequency seems reasonable.

The failure mode is typically a sampling-window collapse: the sample point drifts closer to transition regions as edge timing spreads across fanout and trace length.

What changes when Cload grows
  • Slew slows: threshold crossing becomes more sensitive to coupled noise (voltage noise converts to time jitter).
  • Edge timing spreads: the “same” clock edge arrives with different effective timing across loads and endpoints.
  • Sampling window shrinks: setup/hold budget is consumed, leading to bit errors, CRC errors, or frame loss.
Practical levers (minimum set)
  • Reduce Cload: shorten traces, reduce fanout, and remove unnecessary branches/inputs.
  • Control edge rate: reduce drive strength or use a slower slew option when available (without deep SI/EMC details here).
  • Buffer / isolate: add a buffer or split fanout when multiple endpoints must be driven.
  • Lower speed: restore sampling margin when the window is too narrow to close robustly.
Scope guard

This section treats capacitance as load and focuses on edge-rate and sampling margin. Detailed termination, impedance-control, and deep signal-integrity methods belong to the routing/termination page.

Quick verify (capacitance-driven or not)
  • Frequency sweep: plot error rate vs SCLK; a sharp knee often indicates sampling-margin collapse.
  • Endpoint compare: probe near the receiver; edges near the master can look cleaner than at the far end.
  • Fanout delta: remove one load/branch and check whether the failure knee moves to higher SCLK.
Diagram · SPI edge-rate budget chain (load → slew → margin → errors)
SPI chain capacitance load compresses sampling margin Driver push-pull Cload trace + pin Edge rate Sampling margin ↓ Errors Fanout ↑ → Cload ↑ Long trace ↑ → Cload ↑ Practical target: restore a safe sampling window by reducing load, controlling edges, buffering, or lowering speed
Reading guide: treat trace + input capacitance as the load. As load rises, edge rate drops and sampling margin collapses. Stabilize the chain by reducing load, splitting fanout, buffering, or lowering speed.

SPI Fanout: Many Slaves, Long MISO, the Real Load

Why one slave can pass while many slaves fail

Multi-slave SPI creates a larger and more distributed load than a single-point link. The bus can look fine near the master while the farthest slave sees the slowest clock edge, and the master sees the most aggregated return-path load on MISO.

Fanout pain points (load growth only)
  • SCLK distributed load: every slave input and every extra branch adds capacitance, slowing edges at the far end.
  • MISO shared return load: shared routing, connectors, and stubs add capacitance that is most visible near the master receiver.
  • CS fanout / decode trees: more CS routing adds load and eats effective enable/disable timing margin (treated as load, not logic).
Where capacitance hurts most (worst-point map)
  • SCLK: the farthest slave is the typical worst point; distributed capacitance reduces edge rate and compresses its sampling margin first.
  • MISO: the master-side receiver often becomes the most sensitive point because shared routing aggregates capacitance and timing spread.
  • CS: the effective enable window can shrink as CS edges slow; the symptom often resembles “random” misreads.
Practical topology levers (minimum set)
  • Keep SCLK short and clean: reduce branches and avoid long fanout trees that create large distributed C.
  • Split or buffer SCLK fanout: isolate loads so the master does not drive every endpoint directly.
  • Control MISO return complexity: keep the master-side MISO path simple; reduce shared stubs and connector additions.
  • Lower speed to recover window: when margins are unclear, reduce SCLK to move the system back into a measurable, robust region.
Scope guard

This section focuses on load location and worst-point behavior. Detailed termination and deep signal-integrity methods belong to the routing/termination page.

Quick verify (multi-slave load vs other causes)
  • Probe worst points: compare SCLK at the master vs the farthest slave, and MISO near the master receiver.
  • Remove one load: disconnect one slave/branch and check whether the failure knee shifts to higher SCLK.
  • CS isolation check: reduce CS fanout temporarily; if errors drop, CS edge/load margin is implicated.
Diagram · Multi-slave loading map (where C is created)
SPI multi-slave load distributed C on SCLK, aggregated C on MISO Master CLK/MOSI SCLK CS MISO Slave 1 Slave 2 Slave 3 Far C C C C C Cin Cin Cin Cin MISO shared C Worst SCLK at far end Worst MISO near master
Reading guide: SCLK suffers from distributed capacitance along the fanout path, so the farthest slave is often first to lose margin. MISO is most sensitive near the master where shared routing aggregates load and timing spread.

Estimating Capacitance in Real Life: Estimate → Measure → Fit → Update

Estimation ladder (from simple to system-level)

Treat capacitance as a traceable bill of materials. Start with what is known and add system terms that often dominate in real builds.

  1. Pin capacitance: sum device input capacitance for every node on the net.
  2. PCB trace capacitance: estimate from trace length and routing style (rule-of-thumb tiering).
  3. Connector/cable capacitance: harness and connectors frequently dominate and vary by option.
  4. Protection capacitance: ESD arrays and clamps are common “hidden C” sources.
  5. Tooling/probing capacitance: probes, clips, and analyzers can materially change the net being measured.
Measurement methods (practical + common pitfalls)
Method A · Step response with known R

Apply a known pull-up or series resistance and capture the edge waveform. Fit an effective capacitance (C_eff) that includes hidden terms such as protection parts and harness options.

Method B · LCR meter (board-level traps)

In-circuit measurements can unintentionally include parallel paths and device protection structures. Fixture leads and measurement frequency can shift results significantly, so use it as a sanity check—not the only source of truth.

Method C · Scope probing (loading warning)

Probe input capacitance can slow the very edge being evaluated. Always compare “with probe” vs “minimal loading” setups to detect measurement-induced slowdown.

Correlation: what mismatch usually means
  • Measured edges slower than expected: protection parts, connector/cable options, extra branches, or probe loading are common causes.
  • Large unit-to-unit variation: harness variants, alternate part sourcing, and assembly/routing differences often dominate.
  • One endpoint is much worse: a local segment is overloaded; update budgeting with a per-segment C_eff instead of a single net value.
Close the loop: update budget and trigger actions

Replace guessed values with fitted C_eff, update the worst-segment worksheet, then decide on the minimum lever: reduce speed, segment the topology, adjust pull-up window, or add buffering to isolate load.

Scope guard

This section covers a practical capacitance discovery loop. Advanced probe selection, instrument configuration, and deep lab methodology belong to the debug/analysis page.

Diagram · Capacitance discovery workflow (estimate → measure → fit → update)
Discovery loop turn guesses into fitted C_eff, then update decisions Estimate pin + trace connector + ESD Measure waveform rise-time Fit C_eff Update budget actions Mismatch hints: slow edge vs estimate → hidden C (ESD, connector, harness, probe) endpoint spread → segment-level C_eff needed
Reading guide: use the loop to replace guesses with fitted C_eff. When waveforms are slower than expected, treat it as evidence of hidden capacitance (protection, connectors, harness options, or probe loading) and update the worst-segment budget.

Pass/Fail Metrics: What to Log and What “Good” Looks Like

Model Waveform → Counters → System

“Good” must be defined across three layers: waveform proxies explain margin, protocol counters quantify errors, and system symptoms reveal user-visible impact. Passing at one layer alone is not sufficient for stability claims.

I²C metrics (capacitance-driven signatures)
Waveform
  • Rise-time margin: tR relative to mode allowance (threshold-based behavior).
  • Crossing spread: endpoint-to-endpoint variation in threshold crossing time.
  • Load sensitivity: tR change when a branch or device is removed.
Protocol counters
  • NAK rate: stable within X / 1k over Y minutes (threshold placeholder).
  • Retry rate: retries per 1k transactions (tracks tight edge margin).
  • Recovery count: bus-unlock / reinit events (hung-bus evidence).
System symptoms
  • Error bursts: clustered failures during option/harness changes or branch switching.
  • Timeouts/resets: recovery actions visible at the application layer.
  • Mode sensitivity: errors disappear at lower speed steps (margin recovery).
SPI metrics (sampling-window signatures)
Waveform proxies
  • Edge-rate at receiver: compare master-side vs far-end edges.
  • Sampling-window proxy: use speed steps or sample-point sweeps as margin indicators.
  • Load sensitivity: observe margin change when fanout is reduced.
Protocol counters
  • CRC/frame error rate: report vs throughput and payload size.
  • Burst counter: count events where consecutive errors exceed N (placeholder).
  • Reinit/retry: link/driver reinit events under sustained load.
System symptoms
  • Load-only failures: errors appear only under DMA/high throughput.
  • Fanout sensitivity: single slave passes; multi-slave fails (load-driven).
  • Latency spikes: retries and error handling cause measurable timing impact.
Acceptance templates (threshold placeholders)
  • Stability: error rate stable within X / 1k over Y minutes.
  • No bursts: no burst events above N consecutive errors under sustained load for Y minutes.
  • Sweep margin: error knee occurs above target speed by Δ steps (placeholder).
  • Recovery: no bus recovery/reinit events during defined stress window Y minutes.
Scope guard

Metrics here are chosen for capacitance/fanout-driven behavior. Deep protocol feature testing and advanced instrumentation belong to dedicated pages.

Diagram · Metrics dashboard (Waveform / Counters / System)
Pass/Fail dashboard waveform proxies → counters → system impact Waveform Counters System tR margin edge rate crossing spread probe delta NAK / 1k retry / 1k CRC rate burst count timeouts resets drops latency spikes Acceptance uses fixed windows and denominators (X/1k over Y minutes)
Reading guide: waveform proxies indicate margin, counters quantify error behavior, and system symptoms confirm user-visible impact. Passing requires consistency across layers with fixed windows and denominators.

Engineering Checklist: Capacitance & Fanout (Design → Bring-up → Production)

Design checklist (build margin on paper)
  • Define targets: I²C mode and SPI speed/throughput goals for worst-case topology.
  • Budget capacitance: pin + trace + connector/cable + protection + tooling terms.
  • Set margin policy: define the worst segment and leave headroom (threshold placeholders).
  • Plan segmentation points: decide where mux/buffer/isolation is allowed to split fanout.
  • Add measurement access: test pads at worst endpoints (far SCLK, master MISO, worst I²C node).
  • Define logging fields: NAK/CRC/burst counters with fixed denominators and time windows.
Bring-up checklist (discover hidden C and find the knee)
  • Measure worst points: far-end SCLK, master-side MISO, worst I²C endpoints.
  • Sweep speed steps: find the error knee and the margin above the target speed.
  • Fit C_eff: replace guesses with effective capacitance from waveform behavior.
  • Correlate counters: log error rate and burst count with speed and topology states.
  • Isolate segments: remove a branch/slave to confirm load-driven behavior.
  • Apply minimum lever: reduce load, split fanout, buffer, or lower speed.
  • Freeze acceptance: adopt a fixed pass/fail template (X/1k over Y minutes).
Production checklist (repeatable tests + drift monitoring)
  • Define test mode: a stable transfer pattern and a fixed speed tier for screening.
  • Stabilize the fixture: keep connector/lead setup consistent to avoid test-induced capacitance shifts.
  • Log counters in test: NAK/CRC/burst counts stored per unit with fixed denominators.
  • Track variants: record harness/connector/protection options that change effective capacitance.
  • Add health alarms: drift thresholds for error rates and recovery events (placeholders).
  • Field recovery hooks: count bus recoveries/reinits to detect aging and cable swaps.
Diagram · Checklist swimlane (Design / Bring-up / Production)
Engineering checklist capacitance & fanout actions across the lifecycle Design Bring-up Production Target Budget Margin Split points Test pads Logs Measure Sweep Fit C_eff Correlate Isolate Freeze Test mode Fixture Log counts Variants Drift alarm Outputs: C_eff · knee · criteria · alarms
Reading guide: the checklist turns capacitance and fanout into repeatable actions. Design builds the budget and hooks, bring-up discovers C_eff and the error knee, production locks down repeatable tests and drift monitoring.

Applications: Where Capacitance & Fanout Usually Breaks First

Scope Guard capacitance / fanout mechanisms only

This section explains why specific real-world setups fail early due to capacitance growth and fanout variability. Detailed hot-plug standards, EMI/ESD qualification, and deep SI/termination analysis belong to dedicated pages.

Bucket 1 · Long harness / modular backplanes / hot-plug connectors

  • Why it breaks first: cable + connector capacitance can dominate and varies by length, vendor, and assembly options, creating a “worst-combination” problem.
  • Typical signatures: I²C rise-time margin collapses; NAK/retry jumps after harness swaps; SPI error bursts appear only on certain harness/backplane combinations.
  • Minimum stabilization direction: treat variants as inputs; identify worst-case combination; segment the network so the upstream only sees a bounded effective load.

Bucket 2 · Multi-board fanout (more nodes + more branches)

  • Why it breaks first: each added board increases node count (pin capacitance) and branch capacitance; the worst segment and worst endpoint dominate.
  • Typical signatures: “single board OK, expansion board fails”; speed knee shifts down when fanout increases; removing one branch moves the knee upward.
  • Minimum stabilization direction: reduce branch count, shorten the clock trunk to the farthest endpoint, and insert segmentation/buffering at planned split points.

Bucket 3 · Low-power duty-cycled buses (wake timing meets slow edges)

  • Why it breaks first: after wake, rails/IO/state machines have a tight first-transaction window; larger effective capacitance slows edges and compresses the usable window.
  • Typical signatures: errors cluster on the first transaction after wake; later transfers look “fine,” masking a margin deficit.
  • Minimum stabilization direction: include the first packet in acceptance metrics; delay or downshift the first transfer and segment heavy loads away from the wake-critical path.
Diagram · Application stress map (where capacitance grows and varies)
Application stress map capacitance sources + variability that break margin early Harness / Backplane / Hot-plug Multi-board fanout Low-power duty-cycled buses Cable C Connector C Spread Node Cin Branch C Worst end Wake window Slow edge First pkt Capacitance grows and varies → margin shrinks → error knee moves into the target operating point
These buckets fail early because effective capacitance increases and varies across variants, shifting the error knee into normal operating conditions.

IC Selection Logic (Capacitance & Fanout Context)

Selection philosophy: choose the lever first, then choose the IC class
  1. Reduce C / fanout: fewer nodes, fewer branches, shorter critical trunks.
  2. Segment: split one big load into multiple bounded segments.
  3. Buffer / drive: isolate distributed load and preserve edge rate at worst endpoints.
  4. Edge help (I²C): rise-time acceleration only when it does not create new constraints.
  5. Lower speed: move the operating point away from the error knee.

After applying any lever, re-check metrics (error knee, burst behavior, and fixed-window rates) using the same denominators defined in the metrics section.

I²C: selection dimensions that matter for capacitance and fanout

  • Cin and load isolation: prefer devices that keep upstream effective load bounded.
  • Segmentation capability: split one large bus into smaller segments (fanout control and variant containment).
  • Rise-time assistance: use accelerators only as a margin tool inside the capacitance budget (avoid turning the page into an EMC discussion).
  • Voltage / open-drain correctness: preserve open-drain behavior across rails and domains.
Concrete MPN examples (verify package/suffix/voltage/temp grade/availability)
  • I²C multiplexers / switches (segment fanout): TI TCA9548A, TI TCA9546A, NXP PCA9548A, NXP PCA9546A.
  • I²C bus buffers / repeaters (isolate capacitance): TI TCA9517A, TI TCA9515A, NXP PCA9517, NXP PCA9515A.
  • Rise-time accelerators (edge help within budget): Analog Devices (Linear Tech) LTC4311, LTC4316, LTC4317.
  • Longer-reach / differential I²C extender option: NXP PCA9615 (differential I²C-bus buffer).
  • Level shifting for open-drain I²C: TI TXS0102, NXP PCA9306 (direction handling and capacitance impact should be budgeted).
  • I²C isolation (adds delay/capacitance—budget it): TI ISO1540/ISO1541, Analog Devices ADuM1250/ADuM1251.
Don’t steal other pages

ESD arrays and isolation parts can add capacitance and delay. This page only flags that they must be included in the capacitance/timing budget; detailed protection/isolation selection belongs elsewhere.

SPI: selection dimensions that matter for load and edge-rate

  • Clock distribution load: SCLK fanout often sets the first error knee at the farthest slave.
  • Drive strength and slew control: choose buffers/drivers that preserve edge rate without creating new constraints.
  • Fanout buffering / branch isolation: isolate distributed load so one worst branch does not dominate.
  • Delay awareness: any buffer/isolation delay must be counted inside the sampling-window budget.
Concrete MPN examples (verify package/suffix/voltage/temp grade/availability)
  • Clock buffer / fanout (SCLK distribution): TI CDCLVC1102, TI LMK1C1102 (clock distribution class).
  • General-purpose low-skew buffers (SPI line buffering): TI SN74LVC1G125, TI SN74LVC2T45 (check direction control and loading).
  • Isolated SPI (delay must be budgeted): Analog Devices ADuM4151, TI ISO7741 / ISO7842.
  • isoSPI (long-chain communication concept): Analog Devices LTC6820 (isoSPI transceiver; count its delay/edge behavior in the budget).
Don’t steal other pages

Termination values, impedance control, and reflection diagnosis are not expanded here. This section stays in the “load → edge-rate → sampling window” context only.

Diagram · Selection flow (if capacitance/fanout exceeds budget → choose lever)
Selection flow budget exceeded → pick lever → pick IC class → re-check metrics C / fanout exceeds budget? YES Pick the lever first Levers Reduce C fewer nodes/branches Segment split big load Buffer / Drive preserve edge rate Rise-time help I²C only Lower speed move away from knee Example IC classes TCA9548A · TCA9517A · LTC4311 · CDCLVC1102 Re-check metrics: error knee · burst count · X/1k over Y minutes
Selection is a closed loop: pick a lever, choose the IC class, then re-run the same metrics and windows to confirm margin recovery (placeholders for thresholds).
MPN note

Part numbers are representative examples to anchor the selection logic. Always verify package, suffix, voltage range, logic thresholds, temperature grade, and availability against the latest datasheet and BOM rules.

Request a Quote

Accepted Formats

pdf, csv, xls, xlsx, zip

Attachment

Drag & drop files here or use the button below.

FAQs: Bus Capacitance & Fanout

Format Likely cause / Quick check / Fix / Pass criteria Scope: capacitance & fanout only

These FAQs close out long-tail debugging without expanding the main text. Pass/fail uses fixed denominators and time windows (X/1k over Y minutes) with placeholder thresholds.

I²C I²C works at 100 kHz but fails at 400 kHz—first capacitance check?
Likely cause: Rise-time (tR) budget is violated at the worst endpoint due to C_BUS growth and an out-of-window pull-up.
Quick check: Measure tR at the farthest/worst node and compare to the 400 kHz mode allowance using the current Rpull.
Fix: Reduce effective C (remove stubs / reduce nodes), segment with mux/buffer, or step down the mode to restore margin.
Pass criteria: tR ≤ allowance with margin ≥ Δ, and NAK ≤ X/1k over Y minutes (no burst clusters).
Common Measured rise time is slower than calculated—what hidden capacitance is most common?
Likely cause: “Unmodeled C” from connectors/cables, protection arrays, test probes, or long stubs dominates the effective C.
Quick check: Remove one suspect at a time (probe → harness → protection) and record ΔtR to identify the largest contributor.
Fix: Update the C budget with C_eff, then reduce/segment the dominant contributor rather than tuning pull-ups blindly.
Pass criteria: C_eff within budget and tR stable across variants with spread ≤ Δ (same test setup).
Common Adding an ESD array made the bus unstable—how to sanity-check its capacitance impact?
Likely cause: The added protection capacitance pushes C_eff over budget, slowing edges and shrinking timing margin.
Quick check: Compare tR/edge-rate before vs after the ESD part at the same endpoint and pull-up/drive setting.
Fix: Switch to a lower-C protection option, move the protection behind a segment boundary, or reduce upstream loading.
Pass criteria: tR/edge-rate returns within target and error bursts disappear (burst count ≤ N over Y minutes).
I²C More devices added → random NAK bursts—fanout or pull-up window issue?
Likely cause: Fanout increases C_BUS unevenly; the worst branch loses tR margin and NAK bursts appear when the system hits that state.
Quick check: Split counters by topology state (which devices/branches are present) and measure tR at the worst endpoint.
Fix: Segment the bus so each segment stays within C budget; keep pull-ups per segment inside the allowed R window.
Pass criteria: NAK ≤ X/1k over Y minutes with no burst clusters, and the speed knee stays above target by Δ steps.
SPI SPI single-slave OK, multi-slave CRC spikes—what loading map to draw first?
Likely cause: Distributed SCLK loading and shared MISO return loading slow edges at worst endpoints, shrinking the sampling window under throughput.
Quick check: Draw a first-order map: each slave Cin on SCLK, each stub length, and the MISO fan-in path; probe master vs farthest slave edges.
Fix: Buffer SCLK at the fanout point, isolate branches, shorten stubs, or lower the SPI rate to move away from the error knee.
Pass criteria: CRC ≤ X/1k frames over Y minutes under load, and no burst > N consecutive errors.
SPI SCLK edge looks fine near the master but fails at the far device—what does that imply about distributed C?
Likely cause: The route behaves as a distributed load; branch capacitance and multiple Cin points degrade the edge progressively toward the far endpoint.
Quick check: Measure rise/fall at the far endpoint and compare to the master pin (Δt and shape difference), then correlate with the speed knee.
Fix: Add a clock buffer closer to the fanout point, reduce branch C/stubs, or restructure topology to bound the worst segment.
Pass criteria: Far-end edge-rate meets target proxy and the error knee stays above target by Δ steps under load.
SPI Lowering drive strength improved stability—how does that relate to capacitance and edge rate?
Likely cause: Strong drive into a capacitive/distributed load can create ringing and multiple threshold crossings, turning timing into a non-deterministic problem.
Quick check: Compare waveform shape (ringing/overshoot) and error burst rate across drive settings at the same SPI speed.
Fix: Use controlled-slew buffering and/or small series damping, and keep C/fanout bounded by segmentation.
Pass criteria: No multi-crossing/ringing-driven bursts and burst count ≤ N over Y minutes at target throughput.
Common Why does the same bus pass on bench but fail with real cable/connector harness?
Likely cause: Real harness/connector capacitance and its variability shift the operating point into the error knee; bench setups often have far lower effective C.
Quick check: Measure C_eff/tR (or far-end edge proxy) with the real harness and record variant identifiers, then run a speed sweep to locate the knee.
Fix: Design for the worst harness variant by segmentation at the connector boundary, or lower speed when margin cannot be recovered.
Pass criteria: Knee above target by Δ steps and stable behavior across harness variants (spread ≤ Δ; no bursts).
I²C How to split the bus into segments without breaking addressing/fanout?
Likely cause: A single flat bus couples all loads, so the worst branch dominates; segmentation is needed to bound effective capacitance per segment.
Quick check: Identify natural split points (connector/board boundary) and compute per-segment C budget; confirm which segment is the worst.
Fix: Insert mux/switch/buffer boundaries and enforce a node/branch cap per segment, keeping pull-ups and tR targets local to each segment.
Pass criteria: Each segment meets tR target with margin ≥ Δ and the upstream sees a bounded effective load (no cross-segment bursts).
Common Scope waveform looks “OK” but errors persist—what timing margin proxy should be measured?
Likely cause: The probe point is not the worst endpoint, and margin loss is visible mainly as a reduced sampling window or a lower error knee.
Quick check: Move the probe to the worst endpoint and run a speed-step sweep; use the knee location and burst behavior as the proxy.
Fix: Restore margin by reducing effective C/fanout, segmenting, or lowering the operating point away from the knee.
Pass criteria: Knee above target by Δ steps and fixed-window rate stable (≤ X/1k over Y minutes; no bursts).
Common How to set production test limits for rise-time/edge-rate drift?
Likely cause: Connector aging, harness swaps, or protection substitutions increase effective capacitance and slowly move the knee toward the operating point.
Quick check: Define a golden endpoint and measure tR/edge proxy plus a short error-count run using a fixed denominator and time window.
Fix: Set guardband limits and drift alarms; store variant metadata (harness/connector/protection) with the production record.
Pass criteria: tR/edge proxy within [min,max] with margin ≥ Δ, error rate ≤ X/1k over Y minutes, and recovery events = 0.
Common When should you abandon I²C/SPI and move to a differential extender?
Likely cause: Required distance/fanout/variant spread pushes effective capacitance beyond practical segmentation, leaving the knee at or below the target operating point.
Quick check: If the worst segment remains over budget after segmentation and the knee cannot be moved above target by Δ steps, margin is structurally insufficient.
Fix: Keep I²C/SPI local and bridge to a differential transport for long reach (or use a dedicated differential extender).
Pass criteria: New link meets fixed-window counter targets (≤ X/1k over Y minutes) and stays stable across cable/connector variants.
Diagram · FAQ triage map (capacitance/fanout only)
FAQ triage map Symptom → First check → Lever → Pass criteria Symptom NAK / CRC / bursts First check tR / far-end edge Lever Reduce / Segment / Buffer Pass X/1k over Y min Tags: capacitance fanout distributed-C variant spread
Rule: probe the worst endpoint, locate the error knee, pick the smallest lever, then verify with fixed denominators and time windows.