6

CAN bus is very common in automotive or vehicular applications. In our case, we are using aerial platforms with have CAN bus links between operator remote and ground control box.

As is very typical of such products, the cables carrying the CAN bus around are neither shielded nor twisted pair. The typical run of cable between devices is something along 20 meters with a few Deutsch automotive connectors along the way. The original products from the manufacturers work flawlessly, as is expected.

However, if we are to change the cabling/connectors configuration some glitches start to appear, although the terminating devices at both ends are identical:

  • shortening the overall cable length to a total run of 10 meters
  • going through Entrelec terminals,
  • then on individual wires for about 2 meters,
  • then connecting to an Harting industrial connector,
  • which is finally attached to a 3 meters spring cable,

Every once in a while (say 3-4 times a week of regular usage), communication glitches occurs between the devices. The on-board diagnostics signals an error and just halts everything. It is as though the physical link "is now"/"was originally" just within margins of proper operation and those issues start to appear.

Thus, the question is, how can we diagnose/improve this cabling?

  • Does using twisted pair/shielded cables runs going to help or harm?
  • Is there a specific impedance of cables we should be aiming for (like 50Ohm or 75Ohm BNC cables for Network of cable applications)?
  • Other thoughts on the subject, as we are ill-equipped to diagnose the waveform or the protocol on the line with a few occurrences every week. It also makes it very hard to confirm the validity/improvement of any changes we are introducing?
Ignacio Vazquez-Abrams
  • 48,282
  • 4
  • 73
  • 102
Philibert Perusse
  • 203
  • 1
  • 2
  • 6
  • 3
    What's your bit rate and your bus timings? – Adam Haun Feb 18 '15 at 04:44
  • 1
    Poor comms can also be due to ground shifts between the nodes. Is it possible that when changing the wiring you have also affected the connection to the common? – Martin Feb 18 '15 at 13:06

5 Answers5

6

Yes, use twisted pair. Failing to do so for a differential signal is self-defeating. Don't forget to include 120-ohm termination resistors at each end of the transmission line.

The less connectors in any transmission system the better. Connectors are almost guaranteed to present an impedance discontinuity, and hence will cause reflections.

Transmission line stubs of any length are also a source of reflections and (if I'm reading your description correctly) you have transmission line stubs of several metres. The longer the stub, the worse the impact of the reflections.

Reflections are bad because they can cause destructive interference, i.e. they can corrupt any transmitted data.

I'd use a longer primary (twisted pair) cable, less connectors and shorter stubs. Run the primary cable as close to each node as you can, even if it means that the cable has to be longer.

markt
  • 4,936
  • 2
  • 15
  • 13
2

•Does using twisted pair/shielded cables runs going to help or harm? •Is there a specific impedance of cables we should be aiming for (like 50Ohm or 75Ohm BNC cables for Network of cable applications)?

OMG, yes. You must use twisted pair, and shielded twisted pair will help with reliability.

Standard impedance for twisted pair is typically 100 - 120 ohms, but the exact impedance is unimportant. What is important is that the cable HAS an impedance, and the terminating resistors at each end of the cable match the cable impedance. Pick a cable, find the impedance from the data sheet, and go with that.

Or, since you seem to be using terminators, find a cable with impedance within +/- 10% of that.

Also, check the CANBus spec to be sure that your cable length is appropriate for the bit rate you're using.

WhatRoughBeast
  • 59,978
  • 2
  • 37
  • 97
1

At the higher bitrates that CAN is capable of (125kbits/s+), the cabling is important

  • The differential pair is important for keeping the error rate low, so using twisted pair cabling is also important. 110 ohms is the nominal impedance.
  • don't create stubs (up to 30cm can be permissible, but it depends on lots of other factors). Take the bus to each device - many automotive systems now have a pair of pins for each of the CAN wires, an "in" and an "out" to avoid having any significant stubs

In terms of fixes:

How loaded is your bus, and can you clarify what kind of comms glitches you get? Are you logging your CAN error counters regularly to see if there are lesser glitches on a more regular basis - that will allow you to have a "figure of merit" for your current system which you can attempt to improve upon.

Also, a single corrupted message is going to happen every so often, so your system needs to handle that. If you are seeing long error bursts, I would look for large external sources of noise which push the system over the edge. (As an extreme data point: I have seen CAN buses with error rates of several error-frames per second operate "just fine" from a system perspective!)

Martin Thompson
  • 8,439
  • 1
  • 23
  • 44
1

Regarding the wiring, in ISO 11898-2 (CAN high-speed standard) is specified: "pair of parallel wires, shielded or unshielded, dependent on electromagnetic compatibility (EMC) requirements".

Radu
  • 11
  • 1
0

Twisted pair + shielded cable, yes, but to get a longer CANbus you can lower the baud rate. The book "Embedded Networking with CAN and CANopen ISBN 0-929392-78-7 Page 515" gives a max length of 25m for 1Mbps and 1km for 50kbps.

Robin
  • 327
  • 2
  • 9