3 Reasons Why CAN is Better Than RS-485

3 Reasons Why CAN is Better Than RS-485

Introduction

3 Reasons Why CAN is Better Than RS-485

RS-485 and CAN are both serial communication protocols. They allow for the arrangement of multiple devices within a single system, significantly reducing cable lengths. Their differential design is suitable for environments with strong interference, and both use 120 Ω termination resistors, equipped with internal over-voltage circuits for fault protection.RS-485 and CAN have many similarities, but they are undoubtedly different.

RS-485 is more commonly used in industrial applications, while CAN is widely designed for the automotive industry. However, CAN is now being adopted not only in the automotive sector but also in other industries such as aerospace.

To understand the differences that make these protocols unique, we must know what they are.

Let’s briefly introduce RS-485.

RS-485: A serial communication protocol that has existed since the mid-1980s. It was originally defined for applications in the industrial market, or more accurately, it was developed for industrial applications.

RS-485 was jointly published by the Telecommunications Industry Association and the Electronic Industries Alliance, hence it is also known as TIA/EIA-485. However, the more accepted name in the industry is RS-485, which finds applications in:

  • Motion control devices

  • Rotary encoder interfaces

  • Computer automation systems (keyboards, mice, printers, etc.)

  • Industrial control systems

  • Theater applications

  • PLC

Although RS-485 is applied in various scenarios, more and more industries seem to be shifting to CAN for their industrial machinery.

3 Reasons Why CAN is Better Than RS-485

Why Switch to CAN Bus?

3 Reasons Why CAN is Better Than RS-485
RS-485 has failed to become a communication protocol. It has proven to be merely an electrical interface. It does provide multipoint communication capabilities, but only for devices that have at least a UART.
01

Master-Slave System

Technically, it is a half-duplex system, where only one device can transmit at a time while others must listen. Therefore, it can only provide a basic physical link for serial data exchange among multiple nodes, i.e., one master and multiple slaves.

3 Reasons Why CAN is Better Than RS-485

Unlike CAN, where devices on the CAN bus can each act as a master node and know exactly how and when to send signals.
RS-485 follows a typical master-slave topology. When communication is active, all slave nodes receive data sent by the master unit. If a “slave” needs to respond to the “master’s” information, it must switch to “master” to send its information.
A special feature of this connection is that all devices connected to the line receive everything transmitted. When a device must send, it activates its transmission line via the RTS signal (Request to Send). The elements transmitting data also receive the transmitted data.
When multiple devices on the RS-485 bus attempt to send messages simultaneously, it can lead to overload or potential signal collisions, rendering the entire message invalid or causing data errors.
02

Error Handling Mechanism

For RS-485, this is not its only drawback. In terms of definition, the following aspects are not clearly specified:
  • The process of addressing nodes
  • Methods to avoid data collisions
  • Frame structure
  • Communication procedures
  • Error detection, etc.
3 Reasons Why CAN is Better Than RS-485

3 Reasons to Understand Why CAN Bus is Better

3 Reasons Why CAN is Better Than RS-485
The significant advantage of the CAN bus is its high flexibility and many unique features, leading to a substantial increase in adoption across other industries.
CAN bus is a dual-wire, multipoint serial communication standard protocol. Like RS-485, the signal flows through CAN as differential voltages with CAN-H and CAN-L. The transmission of differential signals is similar to RS-485, but the actual differences are substantial. The advantages of the CAN bus are mainly reflected in the following three aspects:
01

Message Transmission

CAN specifies the complete data packet on the bus, not just the physical layer.
CAN hardware automatically handles packet start/end detection, collision detection, back-off, re-transmission, checksum generation, verification, and many more functions related to handling hardware faults. Users only need to transmit the message identifier and payload; the CAN hardware takes care of adding the other parts of the packet.
With RS-485, in fact, RS-485 does not define anything at the lower level: where the data comes from, who can send it, what data is being sent, whether the received data is corrupted, etc. (unless specified in software, nothing is known).
02

Arbitration

The main issue with RS-485 is signal congestion. This is often due to multiple nodes attempting to send data on the bus simultaneously, leading to overload.
CAN follows arbitration, where messages are arranged and received in order of priority.The nodes that lose arbitration will re-send their messages.
This situation will continue for all nodes until only one node is transmitting.
Due to message-based arbitration, CAN achieves multi-master operation without additional preventive measures.For RS-485, this can only be achieved through specific protocols.
03

Collaboration and Error Detection and Correction

When a node on the CAN bus writes an implicit state to the bus and sees that it is actually in a dominant state, it knows that another node is driving it. Nodes attempting to write an implicit state will back off and wait for the end of the message.
Nodes writing a dominant state will never know that this has occurred. Their messages are typically sent and received by all other nodes.This conflict detection feature allows for a peer-to-peer network architecture without any central arbitration.Nodes send messages but back off when a collision is detected, then retry after the current packet is completed.
Ultimately, when the bus is available, these other messages are sent, and there will be no conflict when sending previously collided messages, including a 16-bit CRC checksum.
RS-485 cannot trigger any message collisions; the application software of the system must ensure collision avoidance.
3 Reasons Why CAN is Better Than RS-485

Overview

3 Reasons Why CAN is Better Than RS-485
Although RS-485 ports are still used in many newly developed devices, the features of CAN such as arbitration, error message checking, improved bandwidth, and larger data fields have accelerated the demand for CAN bus.
Source: Mastering Microcontrollers and Embedded Systems
Friendly Reminder:

Due to recent changes in the WeChat public platform’s push rules, many readers have reported not seeing updated articles in a timely manner. According to the latest rules, it is recommended to click on “Recommended Reading, Share, Save” more often to become a regular reader.

Recommended Reading:

  • Only 12 minutes, it’s time to reshuffle~

  • 14/16nm chips sued, Samsung and TSMC chip foundries face sales ban in the US?

  • This company continues to cooperate with China despite repeated opposition to chip restrictions

  • Can semiconductors determine modern warfare?

Please click 【See】 to give the editor a thumbs up

3 Reasons Why CAN is Better Than RS-485

Leave a Comment