How many resistor on CAN Bus?

Aug 22, 2007 9 Replies

Hi,



I'm working with a CAN bus based on CANOPEN protocol. My bus lenght is about 200m and the speed is 250Kb/s. I have 10 nodes on this bus, the master is at one end of the bus, on the other end I've got the resistance of 120 Ohm. The system works in a curious mode. Sometimes the master receives messages with RTR bit at 1, when it should be 0, for example in SDO messages, and sometimes not. Even if I reduce the speed at 125, the same thing happens! So, I don't think is a speed problem. I made a test, and it works: if I put a resistance also on the second last node, I do not receive unexpected RTR bit at 1, and the bus works correctly from the first to the last node. Can somebody explain this to me?



Giulia



Your wiring isn't the impedance you think it is, or you don't have resistors at each end of the line???

I know nothing about the CAN bus, but 120 ohms seems a highly peculiar line termination value. 70, or 100 ohms is more likely. Check it. Do you have both ends of the bus terminated?

Chuck F (cbfalconer at maineline dot net) Available for consulting/temporary embedded and systems.

There are three distinct issues.

  1. CAN must be terminated at each end of the main bus.

  1. There is a maximum stub length to each device.

  2. The controller does not sit at the 'end' of the bus in a multidrop system.

Violate any of the above and your CAN bus may not operate as advertised. The max speed depends on the length of the system.

Cheers

PeteS

That's the usual termination value. The original description appears to be of a bus with only a single terminator.

It's also worth noting that there is no master on a CAN bus.

Robert

Posted via a free Usenet account from http://www.teranews.com

There should be a resistor at BOTH ends of the bus.

Meindert

This morning I insert a resistor at the other side of the bus, near the master, and it works! Thank you!

That's nastily close to the absolute maximum of 250m at that bit rate. It's right on the rule-of-thumb limit of 50e6 (m*bit)/s. You will have to be quite careful about cabling, transceivers and oscillator tolerances to make that work reliably.

There is no such thing as "the" master on a CAN bus. CAN is a multi-master bus.

Bad. Stretching the bus length this close to the limit, you absolutely need terminators at both ends.

In the original post Giulia mentioned that she is using CANopen on top of CAN, CANopen has an master. It is called Network Management (NMT) master. It's only a a logical behavior, of course no influence of the physical and Data Link Layer protocol as such.

Heinz

Ah, Missed that.

Robert

Posted via a free Usenet account from http://www.teranews.com

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required