CAN line termination
Ken Lennartsson, Hardware Manager at Kvaser AB, gave the following answer why termination is needed and why it is 120 Ω:
This number was defined by Martin Litschel when he was working at Bosch.
The termination have two functions. First of all it will define the recessive level of the bus with twisted pair. For this reason should the value be as low as possible to prevent any disturbance to make the bus level dominant (some 500 mV higher voltage on CAN_H compared to CAN_L). But not to low because then you will need a lot of current (power) to make the bus dominant.
At higher bit-rate (well it is the high slew-rate that is the problem) will you get reflections as soon as the edge hits a impedance miss-match. As soon as there are a change in the geometry of the cable cross section, will there also be a change in the impedance and then there will be reflections. At the end of the cable will you have a very sharp change in the cross section and 100 % of the energy in the edge will return back. This will cause ringing on the bus-signal. This can be prevented by setting a resistor with a value identical to the impedance of the cable and all energy in the edge will disappear in the resistor.
The cable impedance can be found by using Maxwells equations or by some experiment. If you have a cable and connect a square wave generator at one end and a oscilloscope in the other end and change the ending resistor at the oscilloscope end until the signal is nice a square without any ringing then you have a resistor matching the impedance of the cable (the impedance is a combination of R,L and C ).
Finally we get to the reason for 120 Ω. If you take to typical wires used in cars 1985 and twist them you typically get an impedance of 120 Ω. This is exactly what Martin did to get the number into the CAN-specification.
If the twist become a little loose you will get an increased impedance like 140 Ω. If you squeeze the twisted pair into a cable will decrease the impedance closer to 105 Ω.