This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CAN-Bus, one 60-Ohm instead of two 120-Ohm resistors

Sorry for my limited English ability and Technical ability.

It is very common in our company that, the engineers don't care about (or don't know) the termination resistors on a CAN-Bus. They just simply put one 60-Ohm resistor between two or several CAN-Devices (mainly for testing purpose). I know this is not standard, and I don't like this workaround. I tried to figure out why such a workaround is bad, but failed.

It seems that many engineers use such a workaround.
==============================>
www.microchip.com/.../m177894-print.aspx
a single 60 ohm termination for lab testing when bus is only a few feet (probably not allowed, but it works).

www.microchip.com/.../m144034-print.aspx
If you don't have two 120-ohm resistors, you can accomplish the termination (on a small network) with a single 60 ohm resistor(120 in parallel with 120 is 60) or anything close 55-65 is fine.
<==============================

I found a document saying this workaround is a mistake, but it does not provide why.
==============================>
www.scribd.com/.../SAE-J1939
The bus is linear and should be terminated with 120-Ohm resistors at either end. It is a common mistake to use one 60-Ohm resistor instead of two 120-Ohm resistors. This does not work correctly, however.
<==============================

What is the disadvantage/mistake, if we use one 60-Ohm resistor instead of two 120-Ohm termination resistors on a CAN-Bus, assuming the communication distance is not very long and only 3-5 CAN-Nodes (Devices) involved? In another words, when will such a workaround fail to work?

--
It is very difficult to find another job in southern Taiwan. So I am still struggle with idiotic things, and busy in urgent projects.

Parents
  • Think about a "cloud" of whistlers in the mountains.

    Whistling is dominant.
    Silence is recessive.

    If I whistle, I will not know if others are also whistling - I'm too noisy.
    If I stop whistle, I may still hear echos from my own whistling, so I need to wait a while before I can decide that there are silence - or if someone else is whistling.

    That wait time depends on time until echo dies (travel time to bouncing location and back) and time to the other people (time for their sound to reach me).

    If two people whistle at same time, neither will notice.
    If one whistle and one is silent, the silent guy will notice (taking into account the delay for transfer of sound, and the delay for echo to end).

    If the mountains are removed or covered with dampening material, then the speed to whistle or be silent will much be controlled by just transfer time to/from all other people. When there is echo, the transfer times for the echo must also be taken into acount.

    So the bigger distance you have, the lower whistle speed you may have.
    The more echo you have, the lower whistle speed you may have.

    Because of this, CAN controllers starts with a specific synch pattern before every frame - besides collision detection it's also important that they have a reasonably good idea when time windows starts for each bit of the frame. Think about whistlers. The guy who whistles can't know if someone else whistles. But when silent, he can detect if someone else whistles. CAN isn't unique in sending a synchronization pattern before the frame (or sometimes called packet in other protocols).

Reply
  • Think about a "cloud" of whistlers in the mountains.

    Whistling is dominant.
    Silence is recessive.

    If I whistle, I will not know if others are also whistling - I'm too noisy.
    If I stop whistle, I may still hear echos from my own whistling, so I need to wait a while before I can decide that there are silence - or if someone else is whistling.

    That wait time depends on time until echo dies (travel time to bouncing location and back) and time to the other people (time for their sound to reach me).

    If two people whistle at same time, neither will notice.
    If one whistle and one is silent, the silent guy will notice (taking into account the delay for transfer of sound, and the delay for echo to end).

    If the mountains are removed or covered with dampening material, then the speed to whistle or be silent will much be controlled by just transfer time to/from all other people. When there is echo, the transfer times for the echo must also be taken into acount.

    So the bigger distance you have, the lower whistle speed you may have.
    The more echo you have, the lower whistle speed you may have.

    Because of this, CAN controllers starts with a specific synch pattern before every frame - besides collision detection it's also important that they have a reasonably good idea when time windows starts for each bit of the frame. Think about whistlers. The guy who whistles can't know if someone else whistles. But when silent, he can detect if someone else whistles. CAN isn't unique in sending a synchronization pattern before the frame (or sometimes called packet in other protocols).

Children
No data