12
\$\begingroup\$

The channels are CAN_H (red), CAN_L (blue), and CAN_H-CAN_L (brown).

It can be observed in the diagram below that CAN_H-CAN_L has an acceptable signal shape. However, both CAN_H and CAN_L look poorly to me. And actually the device is not running in a noisy environment. I have two questions:

  1. Do you think signal integrity is an issue here?

  2. CAN_H-CAN_L sometimes has high voltage level of 1.65 V (left side part), while sometimes it has a high level of 2.06 V (right side part). Do you think this is a problem?

Enter image description here

\$\endgroup\$

1 Answer 1

17
\$\begingroup\$
  1. No. The differential signalling is performing as intended.
  2. No. As long as the "common mode voltage" does not exceed the ratings of the transceiver. And the maximum DC ratings, which for a CAN transceiver like the MCP2551 is -42 V to +42 V.

The twisted pair cable and the differential signalling mode make the single-end signals look like gibberish while the differential signal is not affected by the noise. You will have the occasional corrupt frame, but CAN has several features to ensure only correct frames are accepted and bad ones are re-transmitted.

  • CRC to detect bit errors.
  • Error frames. When one node detects an error, it sends an error frame, and this frame forces the bus dominant longer than the bit stuffing rule. All nodes see this.
  • Automatic re-transmit until the error limit.

I have one of these images as well. These are textbook images on differential signalling. This kind of noise is inevitable in systems with electromechanical or high power switching components.

CAN bus differential textbook image

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for your reply. Do you think isolation is needed when the can cable is around 5 meters long? \$\endgroup\$ Commented Jun 24, 2017 at 3:19
  • \$\begingroup\$ @richieqianle I recommend galvanic isolation for every node. It's not expensive (ic's: sn6501, si8621), especially not if it can save you trouble. However, it is not essential to CAN bus functioning. Look up split termination and have the nodes properly grounded. \$\endgroup\$
    – Jeroen3
    Commented Jun 24, 2017 at 12:24

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