1
\$\begingroup\$

Why does CAN Bus represents signals with an inverted logic, high voltage for a logic 0 and low voltage for a logic 1? Is there any advantage in doing so?

\$\endgroup\$
  • \$\begingroup\$ None, just as RS232 has inverted polarity compared to basic UART signals. \$\endgroup\$ – Andy aka Jun 18 at 7:37
  • \$\begingroup\$ Are you done with this question now? If so then please formally accept an answer else raise a comment for further clarification. You can leave your own answer if you found a better explanation and formally accept that if you wish. It needs to be closed down. \$\endgroup\$ – Andy aka Aug 3 at 11:49
0
\$\begingroup\$

Why does CAN Bus represents signals with an inverted logic, high voltage for a logic 0 and low voltage for a logic 1?

CAN bus has two data wires: -

enter image description here

enter image description here

Pictures from here.

Therefore it drives one high whilst driving the other low. The fact that CAN Hi happens to be a high voltage when a logical 0 is being produced is countered by CAN Lo being a zero.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

Possibly because pullup resistors might create the HIGH, which will put the CAN driver into recessive mode, allowing other drivers to use the bus.

Part of fail-safe thinking.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

High is the default state for the tranceiver, it allows all other nodes to overwrite the bits by pulling it low. As used in the arbitration process or error flags.

If it were reversed overwriting bits would be difficult since it would require a large amount of current going into the active transceivers.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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