RS-485 termination and biasing
Does this bus need terminators, how long can the stubs be, and what bias resistors keep the pair from floating when nobody is driving — per TIA-485 and the TI design guides.
Total cable run end to end. The old 1200 m figure is for 100 kbit/s and below; the usable length falls roughly in proportion as the rate climbs.
The longest drop from the trunk to a node, the number that usually causes trouble. Keep every stub under about a tenth of the driver rise length, which at a 100 ns edge means well under a metre.
Driver output rise time from the transceiver datasheet, 10–100 ns for fast parts. Slew-limited transceivers deliberately run slower to relax the stub and termination rules.
Signalling rate on the wire, 1e6 for 1 Mbit/s. Enter the actual line rate, not the application throughput.
Propagation delay of the cable, about 5 ns/m for typical twisted pair — roughly two thirds the speed of light. The datasheet may give it as a velocity factor instead.
One resistor at each far end, matched to the cable impedance: 120 Ω for standard twisted pair. Termination in the middle of a run does nothing useful and just loads the drivers.
The rail the bias network hangs off. Bias resistors pull the pair apart when no driver is enabled, so an idle bus does not float and get read as noise.
The differential voltage the idle bus must hold. 200 mV is the receiver threshold in the standard; failsafe receivers set their own, often 20–50 mV, and may need no bias at all.
How many transceivers sit on the bus. Each one loads it, and the total is what the unit-load budget below is spent on.
One unit load is the loading the original standard budgeted for, capping the bus at 32 nodes. Fractional-UL transceivers load it less and let more nodes share the pair.
- Termination
- required — unterminated limit is 5.0 m
- One-way cable delay
- 500 ns · 1.0 round trips per bit
- Stub limit
- 2.00 m ✓
- Failsafe bias, each resistor
- 692 Ω → E24 680 Ω
- Idle differential with 680 Ω
- 203 mV
- Bus load the bias sees
- 57.7 Ω (inputs 1.50 kΩ)
- Unit loads
- 8.00 nodes + 8.82 bias = 16.8 of 32
- Bias current, idle
- 3.53 mA
What it computes
Two things go wrong on an RS-485 bus that has nothing to do with the protocol: the line rings because nobody terminated it, or the line floats because nobody biased it. The tool sizes both.
Termination first. A driver edge travels down the cable at about 5 ns/m (v = 0.66 c on typical twisted pair), hits the far end, and comes back. If it comes back while the edge is still rising, it is absorbed into the edge and the receiver never sees it. TI SLLA272's rule of thumb is that this holds when the one-way delay is under a quarter of the rise time; beyond that, terminate. Stubs are held tighter, a tenth of the rise time, so they never show up as a visible step.
t_delay = L · t_pd one-way, t_pd ≈ 5 ns/m
L_unterm = t_rise / (4 · t_pd) longer than this: terminate both ends
L_stub = t_rise / (10 · t_pd) longest stub that stays invisible
R_in = 12 kΩ / (N · UL) all receiver inputs in parallel
R_bus = (R_T / 2) ∥ R_in what the bias network drives
R_b = R_bus · (V_CC / V_idle − 1) / 2 one pull-up on A, one pull-down on B
V_idle = V_CC · R_bus / (2 R_b + R_bus)
UL_bias = 12 kΩ / (2 R_b) counted against the 32-UL budgetBiasing second. With every driver tri-stated the A–B pair sits at 0 V and a classic receiver, whose threshold is anywhere in ±200 mV, reads noise. A pull-up on A and a pull-down on B force idle to a mark. They form a divider with everything across the pair: both terminators in parallel and the receiver inputs, a unit load being 12 kΩ. To a driver the bias pair looks like 2Rb between the rails, and SLLA166 counts that against the 32 unit loads the standard allows.
Worked example
100 m of cable, 0.3 m longest stub, 100 ns driver rise time, 1 Mbit/s, 5 ns/m, 5 V supply, 200 mV idle target, 120 Ω at each end, eight nodes at 1 UL.
t_delay = 100 m × 5 ns/m = 500 ns
L_unterm = 100 ns / (4 × 5 ns/m) = 5 m 100 m ≫ 5 m → terminate
L_stub = 100 ns / (10 × 5 ns/m) = 2 m 0.3 m, OK
t_bit = 1 / 1 Mbit/s = 1 µs 1 round trip per bit
R_in = 12 kΩ / (8 × 1) = 1500 Ω
R_T / 2 = 120 / 2 = 60 Ω
R_bus = 60 ∥ 1500 = 57.69 Ω
R_b = 57.69 × (5 / 0.2 − 1) / 2
= 57.69 × 24 / 2 = 692 Ω → 680 Ω E12
check V_idle = 5 × 57.69 / (2 × 692 + 57.69) = 0.200 V
UL_bias = 12 kΩ / (2 × 692) = 8.67
UL_total = 8 + 8.67 = 16.67 of 32The receivers are 1500 Ω; the terminators are 60 Ω. The bias is fighting the terminators, not the receivers, which is why it costs 8.67 unit loads.
Same bus, no termination (short cable, slow edge):
R_bus = 1500 Ω
R_b = 1500 × 24 / 2 = 18 kΩ
UL_bias = 12 kΩ / 36 kΩ = 0.33Same terminated bus, but modern failsafe receivers (THVD1450, MAX3485 class) that read a mark from 50 mV of idle:
R_b = 57.69 × (5 / 0.05 − 1) / 2
= 57.69 × 99 / 2 = 2.86 kΩ
UL_bias = 12 kΩ / (2 × 2856) = 2.10
UL_total = 8 + 2.10 = 10.10 of 32That is the argument for a failsafe part: six unit loads come back.
Where it stops being valid
The 120 Ω is the cable's characteristic impedance, not a constant of nature. Cat 5 is 100 Ω, some instrumentation cable is 150 Ω; terminate with what the cable is. There are exactly two terminators, one at each physical end of the trunk, and never one per node.
The quarter-rise-time rule needs the driver's real edge. Slew-rate-limited transceivers (250 kbit/s parts with 500 ns to 1 µs edges) push Lunterm to 25–50 m, let short buses go unterminated, and take the terminator load out of the bias sum. Where EMI matters, split termination, two 60 Ω with a capacitor from the midpoint to ground, is the same differential load with a common-mode path; the tool treats it as 120 Ω.
The model assumes one ground. Two buildings or two power feeds and the receiver sees the signal riding on a ground shift. The standard tolerates −7 V to +12 V of common mode; past that the receiver clamps or dies. Run a ground wire with the pair, or isolate the transceiver (ISO1410, ADM2582E) when the shift cannot be bounded. The bias then lives on the isolated side.
Modern 1/8 UL receivers allow 256 nodes, and the tool accepts fractional UL, but 256 nodes plus 8.67 UL of bias is still 40.67 UL. Fix the bias first.
Topology is not in the model. The stub rule assumes a daisy chain, trunk running node to node with each transceiver on a short stub. A star is several long stubs meeting at a point, none terminated correctly, and no resistor fixes it. Rewire it, or put a repeater on each leg.
Common mistakes
- Termination on every board. Every designer added "the 120 Ω" and the bus is 30 Ω; drivers current-limit and the far end never reaches threshold. Two, at the ends, jumpered off everywhere else.
- Bias at every node. Eight sets of 692 Ω in parallel is 87 Ω to each rail and no driver can swing the pair. Bias lives in one place, usually the master, sized for the whole bus.
- Terminating a 4 m bus with a 100 ns driver. Under the 5 m limit the terminators do nothing for the signal and cost 25 mA of driver current plus 8.67 UL of bias. Leave them off and bias with 18 kΩ.
- Testing with a driver always on. The bias only matters between packets; the bench works, the field throws framing errors every time the master goes quiet. Check idle with everything tri-stated.
- Long stubs to a "nearby" node. 2 m is the limit for a 100 ns edge; the 3 m drop to the panel PC is a reflection source. Loop the trunk through the node instead.
Further reading
- TI SLLA272, The RS-485 Design Guide — termination, stub length, failsafe biasing and ground shift in eight pages; the source of the quarter-rise-time rule.
- TI SLLA166, RS-485 Unit Load and Maximum Number of Bus Connections — the unit-load definition and the bias-resistor derivation used here.
- TI SSZTB23, RS-485 Basics: When Termination Is Necessary — the rise-time versus cable-length rule on one page.
- TI SLLA070, RS-422 and RS-485 Standards Overview — the standard, the common-mode range and the topologies.