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
  • Hans-Bernhard and Per,

    Many thanks for sharing your experiences and wisdom.

    Both of you emphasizing the "overpower each recessive bit on the bus into a dominant bit", so I believe this is one of the key-points.

    I did some more quick reading,
    cache.freescale.com/.../AN1798.pdf

    2.3 Propagation Segment

    The existence of the propagation delay segment, PROP_SEG, is due to the fact that the CAN protocol allows for non-destructive arbitration between nodes contending for access to the bus, and the requirement for in-frame acknowledgement. In the case of non-destructive arbitration, more than one node may be transmitting during the arbitration field. Each transmitting node samples data from the bus in order to determine whether it has won the arbitration, and also to receive the arbitration field in case it loses arbitration. When each node samples each bit, the value sampled must be the logical superposition of the bit values transmitted by each of the nodes arbitrating for bus access. In the case of the acknowledge field, the transmitting node transmits a recessive bit but expects to receive a dominant bit, i.e. a dominant value must be sampled at the sample point(s). The propagation delay segment, PROP_SEG, exists to delay the earliest possible sample of the bit by a node until the transmitted bit values from all the transmitting nodes have reached all of the nodes.

    2.4 Synchronisation

    Hard synchronisation is performed only at the beginning of a message frame, when every CAN node aligns the SYNC_SEG of its current bit time to the recessive to dominant edge of the transmitted Start-Of-Frame bit.
    Re-synchronisation is subsequently performed during the remainder of the message frame, whenever a change of bit value from recessive to dominant occurs outside of the expected SYNC_SEG segment.

Reply
  • Hans-Bernhard and Per,

    Many thanks for sharing your experiences and wisdom.

    Both of you emphasizing the "overpower each recessive bit on the bus into a dominant bit", so I believe this is one of the key-points.

    I did some more quick reading,
    cache.freescale.com/.../AN1798.pdf

    2.3 Propagation Segment

    The existence of the propagation delay segment, PROP_SEG, is due to the fact that the CAN protocol allows for non-destructive arbitration between nodes contending for access to the bus, and the requirement for in-frame acknowledgement. In the case of non-destructive arbitration, more than one node may be transmitting during the arbitration field. Each transmitting node samples data from the bus in order to determine whether it has won the arbitration, and also to receive the arbitration field in case it loses arbitration. When each node samples each bit, the value sampled must be the logical superposition of the bit values transmitted by each of the nodes arbitrating for bus access. In the case of the acknowledge field, the transmitting node transmits a recessive bit but expects to receive a dominant bit, i.e. a dominant value must be sampled at the sample point(s). The propagation delay segment, PROP_SEG, exists to delay the earliest possible sample of the bit by a node until the transmitted bit values from all the transmitting nodes have reached all of the nodes.

    2.4 Synchronisation

    Hard synchronisation is performed only at the beginning of a message frame, when every CAN node aligns the SYNC_SEG of its current bit time to the recessive to dominant edge of the transmitted Start-Of-Frame bit.
    Re-synchronisation is subsequently performed during the remainder of the message frame, whenever a change of bit value from recessive to dominant occurs outside of the expected SYNC_SEG segment.

Children