100nF

RS-485 termination: when 120 Ω helps and when it just costs you

Where the 120 Ω comes from, the loop-time test that decides whether you need it at all, why AC termination is a data-rate trade, and how failsafe bias resistors quietly eat a third of your node budget.

Most RS-485 problems that get blamed on noise are termination problems: none where there should be some, some where there should be none, or the right value in the wrong place. The standard is old and forgiving enough that a bus will usually half-work either way, which is what makes it hard to debug.

ABRT 120 ΩRT 120 ΩXCVRXCVRXCVRXCVRstubs — keep under L ≤ t_r · v · c / 10failsafe bias — at one node onlyV+RbRb
Fig 1 — The topology the standard assumes. One trunk, a terminator at each far end, and stubs short enough not to matter. Bias resistors belong at exactly one node, and they spend unit loads.

Where 120 Ω comes from

It is not a magic number and it is not really about the transceiver. Twisted-pair cable has a differential-mode characteristic impedance set by wire gauge, insulation type and thickness, and the number of twists per unit length. For the cable types RS-485 was written around, that lands somewhere between 100 Ω and 150 Ω. The standard picked 120 Ω as nominal, and the terminator matches the cable, not the driver (TI SSZTB23).

So the terminator’s value is a property of the cable you bought. If you are running 100 Ω cable, 120 Ω resistors are already a mismatch — small, but yours to account for rather than inherit.

This also explains the load the standard budgets for. A compliant driver has to deliver 1.5 V across 32 unit loads and two 120 Ω terminations — the two terminators in parallel are 60 Ω, which is most of what the driver is working against.

The test for whether you need it at all

Termination exists to stop reflections interfering with the bits behind them. The reflection coefficient at any discontinuity is the familiar

Γ = (Z_L − Z_S) / (Z_L + Z_S)

and an unterminated end is a near-total reflection: for a 96 kΩ unterminated node on a 120 Ω line, Γ ≈ +0.997. Almost all of the energy comes back.

That sounds fatal, and at high data rates it is. But the reflection does not persist — it bounces between the two ends losing energy at each imperfect reflection, and the useful question is whether it has decayed below the point of mattering before the receiver samples the bit.

TI works the case: a 96 kΩ unterminated end against a 60 Ω driver.

%99.8 %133.3 %233.2 %311.1 %411 %53.7 %6reflection numbersample point, 50–75 % of the bit
Fig 2 — An unterminated bus does settle; the question is only whether it settles before the sample point. TI's worked case reaches under 4 % by the sixth reflection.

By the sixth reflection — three round trips — the disturbance is under 4 % of the original, which is comfortably below anything that will flip a bit. Since receivers typically sample between 50 % and 75 % of the way through a bit, the condition is that three round trips fit before the sample point.

The rule of thumb that falls out is the one worth remembering: you can leave the bus unterminated when the two-way loop time is much shorter than one bit time, roughly

t_loop < 0.1 × t_BIT

A 9600 baud bus has a 104 µs bit time. Ten microseconds of loop time is about a kilometre of cable. At 9600 baud, on any bus that fits in a building, termination is not doing anything for signal integrity — it is only loading your driver.

At 10 Mbps the bit time is 100 ns, the budget is 10 ns, and you are terminating.

What termination costs

The reason not to terminate is not the two resistors. It is that a standard parallel termination is a DC load whenever the driver is active. Two 120 Ω resistors in parallel is 60 Ω across a 1.5 V minimum differential — tens of milliamps, continuously, for as long as anything is transmitting. On a mains-powered industrial bus nobody cares. On a battery-powered sensor network it can dominate the transmit energy budget.

That is what AC termination is for: put a capacitor in series with the 120 Ω, and the steady-state current goes to zero while the resistor still absorbs the edge. The cost is that the RC time constant slows the rising and falling edges, which puts a ceiling on data rate. TI summarise the three options:

Scheme Power Data rate Signal integrity
None Low High Good at low rates, poor at high
Standard (parallel) High High Best
AC (series R–C) Low Medium Good

There is no free option, only three different things to spend.

Two terminators. Exactly two.

The most common failure is a terminator on every node, usually because each board has a termination jumper and someone fitted them all. Six nodes with jumpers fitted is six 120 Ω resistors in parallel — 20 Ω — against a driver specified to work into 60 Ω. The bus does not stop working; the differential swing collapses toward the receiver threshold and the error rate becomes a function of cable length and temperature, which is a miserable thing to chase.

Terminate the two electrical ends of the trunk, and nothing else. A node in the middle of the bus never gets one, even if it is the master.

Stubs

Every drop off the trunk is an unterminated transmission line of its own. It stays harmless while it is electrically short, and TI give the limit (SLLA272):

L_stub ≤ t_r · v · c / 10

with t_r the driver’s 10–90 % rise time, v the cable’s velocity factor (0.78 is typical) and c = 9.8 × 10⁸ ft/s. The rise time — not the data rate — is what sets it. A slew-rate-limited transceiver intended for 100 kbps might have a 1 µs edge and tolerate stubs of hundreds of feet. A 10 Mbps part with a 10 ns edge gives you inches.

This is the argument for choosing the slowest transceiver that will carry your data rate. A slow edge is not a compromise; it is what buys you the freedom to put nodes where the machine needs them. The RS-485 calculator works the stub limit and the termination decision from the rise time and bus length.

Failsafe bias is not free

When every driver is disabled, the bus floats. A floating differential pair sits near zero volts differential, which is exactly the receiver’s threshold, so noise decides the output and the UART sees framing errors or a stream of garbage.

The fix is a pull-up on A and a pull-down on B to hold the idle line at a defined level. The part people miss is the bill. From TI SLLA166:

The resistor values used for this fail-safe termination are approximately 1 kΩ. If so, this termination consumes 12 Unit Loads (12 mA at 12 V) out of the budget of 32 Unit Loads.

A unit load is roughly a 12 kΩ load, and the standard budgets 32 of them. A 1 kΩ bias network spends twelve — more than a third of the whole bus budget — leaving 20 for actual transceivers. TI point out that if you still want 48 nodes on that bus, each one must now be no more than 0.42 UL.

That is survivable, because modern transceivers are commonly ⅛ UL, which is what allows buses of up to 256 nodes in the first place. But it has to be counted. And like the terminators, the bias network belongs at one node — usually wherever the master is — not on every board that happens to have the footprint.

Some transceivers advertise built-in failsafe receivers, which bias the receiver input internally so an open or shorted bus reads as a defined idle. If your parts have it, you do not need external bias resistors at all, and you get your twelve unit loads back.

The order to check things in

  1. How many terminators are actually fitted? Measure it: power everything down and put a meter across A–B. You should read about 60 Ω. If you read 20 Ω, somebody fitted jumpers.
  2. Is the bus a trunk, or a star? A star has no two ends to terminate, and no amount of resistor value will fix it.
  3. How long are the stubs, against the driver’s rise time? Not against the baud rate.
  4. Does the idle bus sit at a defined level? If not, add bias at one node, or choose a transceiver with internal failsafe.
  5. Only then worry about the resistor value.

Sources