41
\$\begingroup\$

I know the reasons for using terminating resistors on a CAN bus and how important it is.

But why 120 ohm? How did this value come up? Is there any specific reason to use 120 ohm?

\$\endgroup\$
2
  • 17
    \$\begingroup\$ In Roman numerals CXX is 120 so it makes sense, A and N are undefined under that scheme so they replaced with X which is often used to mark an unkown (X marks the spot etc). \$\endgroup\$
    – PeterJ
    Jan 18, 2013 at 10:45
  • 1
    \$\begingroup\$ @PeterJ -- Hilarious =) \$\endgroup\$ Jan 18, 2013 at 11:06

4 Answers 4

34
\$\begingroup\$

You need to be familiar with Transmission Line Theory to understand the deeper physics in play here. That said, here's the high-level overview:

How important termination is to your system is almost exclusively determined by how long the bus wires are. Here length is determined in terms of wavelengths. If your bus is shorter than one wavelength over 10, the termination is irrelevant (practically) since there is plenty of time for the reflections introduced from an impedance mismatch to die out.

Length defined in wavelengths is a strange unit on first encounter. To convert to standard units you need to know the velocity of the wave and it's frequency. Velocity is a function of the medium it travels through and the environment surrounding the medium. Usually this can be estimated fairly well through the dielectric constant of the material and assuming free-space surrounding that medium.

Frequency is a little more interesting. For digital signals (such as those in CAN), you are concerned with the maximum frequency in the digital signal. That is well approximated by f,max = 1/(2*Tr) where Tr is the rise time (defined 30%-60% of the final voltage level, conservatively).

Why it's 120 is simply a function of the design limited by physical size. It isn't specifically important which value they picked within a broad range (for example, they could have gone with 300 Ohms). However, all devices in the network have to conform to the bus impedance, so once the CAN standard was published there can be no more debate.

Here's a reference to the publication (Thanks @MartinThompson).

\$\endgroup\$
2
20
\$\begingroup\$

That type of CAN bus is intended to implemented by a twisted pair of wires. The transmission line impedance of unspecified twisted pair isn't exact, but 120 Ω is going to be close most of the time for the relatively large wires commonly used for CAN.

The resistors also have another function in CAN. You can think of CAN as a open collector bus implemented as a differential pair. The total of 60 Ω is the passive pull-together of the CAN bus. When nothing is driving the bus, the two lines are at the same voltage due to the 60 Ω between them. To drive the bus to the dominiant state, a node pulls the lines apart, about 900 mV each, for a total of 1.8 V differential signal. The bus is never actively driven to the recessive state, just let go. That means the resistance between the lines needs to be low enough so that the lines go back to the idle state in a fraction of a bit time.

Note that the actual CAN standard says nothing about the physical layer other than it must have these dominant and recessive states. You could implement a CAN bus as a single ended open collector line, for example. The differential bus you are thinking of is very commonly used with CAN, and is embodied in bus driver chips from various manufacturers, like the common Microchip MCP2551.

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Pedant mode - ISO11898 (which is certainly a CAN standard :) has parts 2,3 and 5 which describe physical layers. part 1 is (as you say) limited to "dominant and recessive" - much as the original Bosch spec was. en.wikipedia.org/wiki/ISO_11898 \$\endgroup\$ Jan 18, 2013 at 14:22
  • \$\begingroup\$ Also, ISO11898 part 3 (low speed, fault tolerant) specifies that the bus can fall back to a one-wire mode in the event that a short is detected on one of the paired lines. \$\endgroup\$ Mar 3, 2015 at 12:41
9
\$\begingroup\$

CAN Bus is a differential bus. Each differential pair of wire is a transmission line.Basically, the terminating resistor should match with the Characteristic Impedance of the transmission line to avoid reflection. CAN bus have a nominal characteristic line impedance of 120Ω. Due to that we are using typical terminating resistor value of 120Ω at each end of the bus.

\$\endgroup\$
0
\$\begingroup\$

TERMINATION FOR DUMMIES

When you send a simple singal across a wire, say a microcontroller output going from 0 to 5V or 3.3V, along a longer wire the waveform will distort. The edge will become weaker stuff like that. The result is more or less that you have to wait for everything to stabilize before reading the databit at the destination before you can start on the next bit.

For high datarates that is not desirable.

When your wires however meet certain criteria, then the signals can be made to stay the same shape. Additionally, you can start sending the next databit even before previous bits have arrived at the destination!

One of the criteria is... you guessed it, the termination at the end of the bus. The geometry of the wires involved determine the exact value for the termination resistors. For coax termination resistor values of 50 and 75 Ohms are common. For CAT5 it is officialy 100 Ohms. For CAN and RS485 the specification is officially 120 Ohms, but unless you're going for 100Mbps+ speeds, the difference is small enough that you can use CAT5 for CAN with 120 Ohms termination resistors.

I have never had to design the cables themselves. so I haven't researched what to change to get a different termination resistor value.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.