Key Takeaways

  • CAN bus and RS485 share differential signalling but differ in how much of the protocol stack comes built in.
  • CAN bus arbitration is non-destructive: the highest-priority identifier wins and losers retry without corrupting the frame.
  • RS485 is a polled half-duplex bus, so addressing, timeouts and retries belong to the master application.
  • Termination is 120 ohm across the pair at both physical ends of the trunk on either bus.
  • Choose CAN bus for prioritised multi-master traffic and RS485 for polled Modbus devices over long cable.

1. What Is CAN Bus?

CAN bus (controller area network) is a differential, multi-master serial bus defined by ISO 11898, where priority is encoded in the identifier.

  • Multi-master by design: any node may transmit once the bus is idle, so no polling master or token is needed.
  • Dominant and recessive bits: per ISO 11898, a dominant bit pulls the differential pair apart while a recessive bit leaves it near the common level, so dominant overwrites recessive.
  • Message-oriented framing: the identifier names the content rather than a destination node, so several receivers can accept one frame.
  • Error handling in the protocol: CRC, bit monitoring, acknowledgement and per-node error counters sit in the data link layer and drive repeated faults toward bus-off.
  • Bounded payload: a classical CAN frame carries 0 to 8 data bytes, which keeps worst-case latency predictable on a loaded bus.

2. How Does CAN Bus Work?

CAN bus moves data through a fixed sequence that carries the arbitration, the framing and the error detection.

  1. Idle detection and bit levels. A node waits for an idle bus, then drives one bit at a time onto the differential pair while reading it back. Dominant overwrites recessive, so disagreement between nodes resolves on the wire.
  2. Non-destructive bitwise arbitration. A node that sends recessive but reads dominant loses that round and becomes a receiver, so the frame in progress survives intact. Lower numeric identifiers win, so priority is a design decision.
  3. Frame fields. A classical data frame carries an identifier, control fields with the data length, 0 to 8 data bytes, a 15-bit CRC, an acknowledgement slot and end-of-frame bits, so any accepted frame has been validated.
  4. Acknowledgement and error confinement. Any node that receives the frame correctly pulls the acknowledgement slot dominant, so the transmitter knows a peer accepted it. Error counters move each node through error-active, error-passive and bus-off, quarantining a faulty node.
  5. Bit timing and higher layers. All nodes share a nominal bit rate and divide each bit into time quanta, so oscillator tolerance and sample point must suit the cable length. CANopen, the application layer specification from CiA, adds node IDs and process data objects.

3. What Is RS485?

RS485 is a differential, half-duplex electrical standard, TIA/EIA-485, that defines how a driver and many receivers share one twisted pair.

  • Electrical layer, not a protocol: RS485 says nothing about framing, addressing, error checking or collision handling, so a protocol above it supplies all four.
  • One driver at a time: the transceiver has a driver-enable pin, so the host switches direction; late switching clips the last byte of a reply.
  • Polled multi-drop topology: one master asks and up to 32 standard unit loads answer on the same pair; hardware does not stop two nodes from driving at once.
  • Modbus RTU supplies the rest: per the Modbus over Serial Line specification, the master addresses one slave at a time, delimits frames with silent intervals and checks each reply with a CRC.

4. CAN Bus vs RS485: What Is the Difference?

Both buses ride on a twisted pair, but they sit at different points in the protocol stack.

Dimension CAN bus RS485
Electrical layer and wires Differential pair with dominant and recessive states per ISO 11898 Differential pair driven through a UART transceiver
Medium access and masters Multi-master with non-destructive bitwise arbitration; any node may transmit Polled half-duplex multi-drop; a master grants the bus
Framing and error detection built in Identifier, control, CRC, acknowledgement and error counters in the data link layer None; Modbus RTU adds a CRC and timeout handling
Payload efficiency at a given bit rate 0 to 8 data bytes per frame plus arbitration, control and CRC bits Dense byte stream, but polling gaps decide useful throughput
Typical node count and bus length Length trades against bit rate, from about 1000 m at 50 kbit/s to about 40 m at 1 Mbit/s per ISO 11898 Up to 32 unit loads per segment, roughly 1200 m at low baud rates
What the application layer must add Device profiles and an object dictionary, for example CANopen Everything: addressing, polling order, retries and error policy

The decision rule: choose CAN bus when several nodes must originate prioritised messages, and RS485 when one master polls simple devices over long cable.

5. CAN Bus and RS485 Configuration and Key Parameters

Most field failures on either bus trace back to the parameters below.

  • Bit rate versus bus length: CAN bus commonly runs 50 kbit/s to 1 Mbit/s, and per ISO 11898 usable length falls as the rate rises; overshooting shows as error frames at the far end.
  • Terminating resistors at both ends: 120 ohm across the pair at each physical end of the trunk. Missing or doubled termination shows as reflections and bit errors at higher bit rates.
  • Stub length to each node: keep drops in the tens of centimetres at 1 Mbit/s; long stubs add capacitance and reflections that show up at one node.
  • Identifier priority and bus load: lower numeric identifiers win arbitration on CAN bus, so assign critical frames first; above about 50 percent bus load, low-priority frames wait.
  • Sample point and oscillator tolerance: a sample point near 75 to 87.5 percent of the bit time is common practice; a poor choice gives errors at long cable or temperature extremes.
  • Common ground and isolation: both buses tolerate a limited common-mode range; different earth potentials at the two ends call for a reference conductor or isolated transceivers.
  • Failsafe biasing on the RS485 side: bias resistors hold the idle pair in a defined state; without them the receiver reports spurious start bits, so the master sees garbage.
  • Gateway latency when converting: a converter buffers a whole CAN frame before it can be answered as a Modbus register exchange, so add that round trip to the master timeout.

6. When to Use CAN Bus and When to Use RS485

Good fit for CAN bus

  • Distributed control with 5 to 30 nodes exchanging short, time-critical messages.
  • Priority messaging, where an alarm frame must beat routine status traffic.
  • CANopen networks, where standard device profiles cut integration work.
  • Trunks of a few hundred metres at 125 kbit/s to 500 kbit/s.

Good fit for RS485

  • Modbus RTU networks polling meters, sensors and relays a few times per second.
  • Trunks up to roughly 1200 m at low baud rates, reusing existing cable.
  • Retrofits over instrument wiring, since RS485 needs a twisted pair and little else.
  • Mixed-vendor sites where every device already speaks Modbus.

Poor fit for CAN bus

  • Very long runs, because length trades against bit rate and payload.
  • Bulk data transfer, since 0 to 8 data bytes per frame is inefficient.
  • Star wiring or long stubs, which break the terminated trunk the standard assumes.

Poor fit for RS485

  • Time-critical multi-master traffic, because polling costs a round trip per exchange.
  • Networks where slaves must originate alarms rather than answer a poll.
  • Heavily branched topologies, where stubs and reflections defeat termination.

7. Real-World Applications

In machine building, the common pattern is a CANopen segment for motion and machine-level I/O next to an RS485 Modbus segment for meters and valves. Both usually meet inside one controller that republishes values between the two protocols.

For CANopen I/O, the Ebyte M31 U CAN Series is a line of industrial-grade distributed remote I/O slave modules based on the standard CANopen protocol, with three models covering mixed-signal I/O, high-speed transistor output and high-power output. Placing slaves near the actuators lets the arbitration order decide which signal moves first.

On the controller side, the Ebyte ECK31 Series is a heterogeneous embedded core board using an Allwinner T113-S dual-core Cortex-A7 with an independent RISC-V co-processor, pre-installed with Linux and equipped with a dual CAN bus, offered in multiple SKUs with different memory and flash configurations.

Where the field devices are Modbus RTU slaves, the Ebyte MA01-AACX2220 is an EMC and RoHS compliant RS485 module with 2DI, 2AI and 2DO, a serial port for a PLC or touch display, two switch outputs and a watchdog. The ME31-AAAX4220 adds 2-way A-type relay output, 2-way analog input at 0-20 mA or 4-20 mA and 4-way dry contact input, supporting Modbus TCP or Modbus RTU as a simple Modbus gateway. The ME31-AXXX8000 covers 8-way dry contact input over Modbus TCP or Modbus RTU with RJ45 and RS485 interfaces.

Longer RS485 links usually become radio or Ethernet work. The E90-DTU(400SL42) is a high-power industrial wireless data radio modem using Semtech SX1268 LoRa, covering 410.125-493.125 MHz at 15 W (42 dBm) with RS232/RS485 communication up to 30 km. The E800-DTU(433L20-485)-V8 adds FEC and balanced soft decision to a transparent RS485 interface at 433 MHz and 20 dBm with a 3 km figure. Where the destination is a network, the NA111 serial port server converts RS485 to Ethernet with integrated Modbus, MQTT and HTTP gateways.

8. FAQ: CAN Bus in Practice

Q1: What is the difference between CAN bus and RS485?

CAN bus defines both the electrical layer and a data link layer with arbitration, framing and error handling, while RS485 defines the electrical layer alone. On CAN bus any node may transmit and the highest-priority identifier wins; on RS485 a master polls one slave at a time.

Q2: How many nodes can a CAN bus support?

Classical CAN bus does not fix a node count in the standard; ISO 11898 sets electrical constraints, and 32 unit loads per segment is common practice. CANopen assigns node IDs from 1 to 127 per the CANopen application layer specification. In practice the ceiling is set by bus load and bit rate, not by addresses.

Q3: Which is faster, CAN bus or RS485?

At the same bit rate they move the same number of bits, so the useful payload per second is what differs. CAN bus spends part of every frame on arbitration, control, CRC and acknowledgement, and carries at most 8 data bytes. RS485 running Modbus RTU has its own overhead and polling gaps, so throughput depends on the polling cycle.

Q4: Why does my CAN bus node go bus-off?

A node reaches bus-off when its transmit error counter passes 255, usually because it never received an acknowledgement.

  • Every node reaches bus-off -> check termination at both ends and length against the bit rate.
  • One node alone goes bus-off -> check its wiring, stub length and ground.
  • Bus-off appears at high bit rates -> check sample point and oscillator tolerance.

Q5: Do I need 120 ohm termination on CAN bus and RS485?

Yes, both bus types are terminated with 120 ohm across the pair at the two physical ends of the trunk, and neither is terminated at intermediate nodes. Missing termination causes reflections and error frames that appear first at higher bit rates or longer cable. Extra terminators load the bus and reduce the achievable length.

Q6: Can a CANopen network connect to an RS485 Modbus network?

Not on the wire. The two protocols have different framing and addressing, so a controller application has to bridge them by reading CANopen process data objects and republishing the values as Modbus registers. That conversion adds a round trip of latency, so the Modbus master timeout must be long enough to cover it.

9. Pre-Flight Checklist for CAN Bus and RS485

  1. Pick the bus by the access pattern. Many nodes that originate messages point to CAN bus; one master polling slaves points to RS485.
  2. Check trunk length against bit rate before ordering cable. Confirm the CAN bus combination against ISO 11898, and keep an RS485 segment inside roughly 1200 m at low baud rates.
  3. Terminate at both physical ends, once. 120 ohm across the pair at each end of the trunk, nothing at intermediate nodes.
  4. Budget for protocol duties in the controller. Modbus RTU needs addressing, timeouts and retries; CANopen needs node IDs and process data mapping before commissioning.
  5. Allow for conversion latency. When a CAN network and a Modbus network meet, add the round trip to the master timeout before blaming a device.