hardware//I/O//serial bus//bus termination

Bus termination is a resistor placed at each physical end of a serial bus, matched to the characteristic impedance of the cable, and it is used to absorb a signal arriving at the end of the line instead of letting it reflect back and corrupt the next bits. On an RS-485 or high-speed CAN bus built from twisted pair, each terminator is typically 120 ohm, one at each end and none in between.


Bus termination is a resistor placed at each physical end of a serial bus, matched to the characteristic impedance of the cable, and it is used to absorb a signal arriving at the end of the line instead of letting it reflect back and corrupt the next bits. On an RS-485 or high-speed CAN bus built from twisted pair, each terminator is typically 120 ohm, one at each end and none in between.

A fast edge travels along a long cable as a wave. At an open end it has nowhere to go and bounces back, adding to the signals still arriving: at a few kilobaud over a short run the echo dies long before the next bit and nothing happens, while at 500 kbit/s over tens of metres the echo lands on top of the following bits and the receiver reads garbage. A resistor equal to the line's impedance makes the end look like more cable, so the wave is absorbed.

With the bus powered off, a multimeter across CAN-H and CAN-L should read about 60 ohm.

Two 120 ohm terminators in parallel give 60; about 120 means one end is missing, about 40 means a third terminator is enabled somewhere, near zero means the two lines are shorted.

The faults are classic field faults because they hide. A bus with one terminator missing often works on the bench at low speed and fails in the plant at full length, or fails only when a motor starts. A device with a termination switch left on in the middle of the line, typical after someone swaps a drive, overloads the drivers and shrinks the signal.

Termination belongs to the topology: it assumes a line with two ends and short stubs. A star wiring, with long branches to each device, has more than two ends and no correct place for the resistors, and is the root of many serial buses that never become stable.

RS-485 often adds bias resistors that hold the idle line in a defined state, so receivers do not read noise as data when no one transmits; they are a different job from termination, though often packaged with it in the same connector.

Field checks therefore start electrical before they go digital: measure the termination, check the twisted pair is not split, check the shield is grounded at one point, and only then look at addresses, baud rate and the Modbus frames (differential signaling).

Short buses inside a board, such as I2C or SPI, are not terminated this way: the traces are short enough that echoes settle within a bit.