2
\$\begingroup\$

I am planning to connect (at least) two Raspberry Pi + PiCAN2 shields via CAN.

I think I understand the concept of a daisy-chained multidrop CAN line, but what about using the 120 ohm resistors for termination that are provided on board by the PiCAN2 shield?

As far as I understand when I simply connect CAN High and CAN Low respectively between both PiCAN2 shields A and B as shown below, I should use the 120 ohm resistors on both sides for termination. Am I right?

What happens when I add a third identical node (Raspberry Pi + PiCAN2 shield) C to the CAN bus? Do I need to terminate also on this node? As I can without problems also use the terminator on C, is there any drawback to using the 120 ohm resistor on all nodes, not worrying about the geometry of the network?

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
6
  • \$\begingroup\$ no termination is required if the stub is really short, which it should be .... the wire should really go from A to C to B without a stub at C ..... with a long stub, it would not be a daisychain, but it would be a star network \$\endgroup\$
    – jsotola
    Commented May 29, 2018 at 21:52
  • \$\begingroup\$ @jsotola: Referring to the star network with a long stub to C. Would this require a terminator? \$\endgroup\$
    – oh.dae.su
    Commented May 29, 2018 at 22:00
  • \$\begingroup\$ You need termination only at A and B ...no termination at C. In fact you could have multiple PICAN2's in the middle and none of them would need terminators. You don't have a Star network as shown, you have a bus network. Read this: en.wikipedia.org/wiki/CAN_bus \$\endgroup\$ Commented May 29, 2018 at 22:25
  • \$\begingroup\$ @JackCreasey, You don't have a Star network as shown ... there is no mention of the length of the stub at C .... if it is long then the network is a star network and requires termination at C \$\endgroup\$
    – jsotola
    Commented May 30, 2018 at 1:13
  • 1
    \$\begingroup\$ Controller Area Network Physical Layer Requirements (Texas Instruments SLLA270) \$\endgroup\$
    – Jeroen3
    Commented May 30, 2018 at 12:23

1 Answer 1

3
\$\begingroup\$

A CAN bus is meant to be an (electrically) straight line with a terminator at each end and nodes (at least two) attached along it. That means just two terminators.

If length and/or noise margin are not of concern, some stubs out to nodes can be added. As long as they’re short, they don’t hurt too much. One imperfect heuristic is to take twice the length of the stub away from the possible total length; a coarse approximation, but a starting point.

A node looks like a 10 kohm (or more) load on the bus. If you attach extra terminators, i.e. more than the required two, near the center of the bus, that adds a lot more load (about 100 times as much current), so it greatly reduces how many nodes you can attach to the bus. One extra probably will still work, but might not handle noise well. Two or more extra terminators (i.e. 4 total) are unlikely to work.

With three nodes close together, almost any wiring will work, so don’t worry about stub wiring too much. Just put two terminators on, one at each nominal end, and enjoy.

Schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
2
  • \$\begingroup\$ Thanks a lot for your answer! I have one question regarding this sentence, which I do not understand: Extra terminators, especially near the center of the bus, have more of an effect of the maximum number of nodes before noise sensitivity gets poor. Does the use of Termination on Node C have any negative side effect? \$\endgroup\$
    – oh.dae.su
    Commented May 30, 2018 at 8:01
  • \$\begingroup\$ @oh.dae.su Yes. It's extra load on the bus, so it becomes much less noise immune. I tried to add some explanation of that. One extra (at C) will probably "work", but won't have much noise immunity. If you ever add a node D with a terminator, that probably won't work at all. \$\endgroup\$ Commented May 30, 2018 at 12:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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