0
\$\begingroup\$

Reading about Controller Area Networks and Ethernet standard, I cannot understand why there is a difference in the way the signal is transmitted. Both protocols use twisted pair cables to communicate, with mirroring signals, the logic state being determined as a function of the voltage difference between the two wires.

In CAN networks, CAN Low will range between 1,5V to 2,5V, while CAN High will be in the range of 2,5V to 3,5V.

CAN bus levels

In an Ethernet network, though, the signal will cross each other and the values will be the exact opposite of each other. So, when one cable will have +3V, the other will have -3V and viceversa.

Physical signal in an Ethernet cable

Why did the engineers choose this particular methods and why isn't just one method used? What are the advantages/disadvantages of each?

Also, in a CAN bus, the wires will be terminated with 120Ohm resistors, to match the line impedance and ameliorate reflections and the end of the cable. I don't think ethernet cables have such terminations. If they are used, are they in the NIC's? If so, how do they account for different wire lengths?

Thank you.

\$\endgroup\$
  • \$\begingroup\$ Ethernet cabled also have controlled impedance, and the terminations are inside of NIC, for twisted pair ethernet. \$\endgroup\$ – AndrejaKo Nov 5 at 8:07
  • \$\begingroup\$ Standard practice for ethernet transformers is to use the "Bob Smith" termination. Have a look at citeseerx.ist.psu.edu/viewdoc/… \$\endgroup\$ – John Go-Soco Nov 5 at 8:28
  • 2
    \$\begingroup\$ Ethernet is point to point and CAN is a bus architecture. \$\endgroup\$ – Peter Karlsen Nov 5 at 8:55
  • \$\begingroup\$ Old-timer pedant... Ethernet can be run over a shared-medium bus architecture: en.wikipedia.org/wiki/10BASE2 and en.wikipedia.org/wiki/10BASE5 \$\endgroup\$ – Martin Thompson Nov 11 at 14:44
2
\$\begingroup\$

On a hardware level:

  • The CAN bus works by a voltage differential between a pair of lines.
  • The Ethernet bus is current-driven and is coupled through transformers at both ends, providing galvanic insulation and avoiding any grounding issue.

The electrical operation principle is very different between these buses. Ethernet bus is by default galvanically isolated, as for the CAN bus it is not necessarily (but can be) the case.

CAN:

schematic

simulate this circuit – Schematic created using CircuitLab

Ethernet:

schematic

simulate this circuit

Single/Multiple points

A big difference between CAN and Ethernet is that CAN is a multi-point; no-master; address-based bus with collision management.

Ethernet is a point to point connection.

CAN Bus is similar and probably based on the RS485 bus but also includes the protocol layer, RS485 is only a hardware layer standard.

CAN bus is slow compared to ethernet, but is much cheaper to implement and allows to have multiple devices on the same bus without the need of hub or switches. Being master-less and collision tolerant, any devices can actively communicate at will.

Cost

The firmware stack is also much simpler on a CAN bus, making it widely available in cheap MCU, while Ethernet often requires a dedicated chip or a or a unix capable system.

Both have their own use for different needs. CAN was initially developed for the automotive industry to provide a cheap and effective way to connect all the sensors.

Note that bus lines are usually twisted to reduce sensitivity to ambiant interferences (EMI)


So, when one cable will have +3V, the other will have -3V

You should rather think in terms of current flow in ethernet rather than voltage.

I don't think ethernet cables have such terminations. If they are used, are they in the NIC's? If so, how do they account for different wire lengths?

There are no needs as the bus is current driven.

\$\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.