I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support About Us
Products Blog Sales Support Contact Search
CAN Transceiver vs CAN Controller – What are the Differences and How are They Used?
Briana Watson

Close up picture of a Circuit Board Image by Vlad Aivazovsky from Pixabay

In various industries, from automotive to aerospace, reliable data transfer is crucial for the development of cutting-edge technology and life-saving systems. The CAN protocol, introduced in the 1980s, quickly became a popular solution for device communication, enabling real-time data exchange in a compact, physical form. The CAN protocol relies on two elements: the CAN controller and CAN transceiver. Together, they help construct an extremely reliable and efficient means for data transfer and communication within larger systems. Working alongside the microcontroller, CAN transceivers and controllers execute several tasks to manage data and transmit messages throughout the system, ensuring it is functioning optimally. Knowing how these components work individually and together is essential when working with and debugging CAN communication.

What is the CAN Protocol?

CAN, or Controller Area Network, is a robust and reliable communication protocol often used in equipment, devices, and other vehicles in various industries, including automotive, industrial, and medical, where fast and reliable data exchanges between devices are crucial. Originally developed by Bosch in the 1980’s to simplify complex wiring systems in automotive systems, CAN replaced traditional wiring with a simpler two-wire bus. This protocol allows multiple nodes or devices to share the same bus and uses arbitration methods to prioritize critical messages when multiple nodes send data simultaneously, making it quick and reliable protocol for critical systems.

In order for CAN to operate and enable seamless communication between devices, it requires both CAN transceivers and CAN controllers. These parts work together to manage data flow and ensure reliable, noise-resistant transmission across the network.

What is a CAN Transceiver?

CAN transceivers are a crucial element of the CAN protocol, and are responsible for the physical layer of communication. The transceiver converts the data signals from the CAN controller into differential signals suitable for transmission across the CAN bus. It also receives differential signals from the CAN bus and converts them back to logic levels for the CAN controller.

Differential signaling helps ensure reliable communication and is especially useful at transferring signals in challenging environments, including electrically-noisy environments that are often found in automotive and industrial applications. The transceiver is also tasked to manage electrical signaling on the CAN bus, converting the voltage levels on the bus to match the logic levels from the controller. This process plays a vital role in maintaining signal integrity and enabling high-speed, reliable data transmission between the devices on the network.

What is a CAN Controller?

While the CAN transceiver is responsible for the physical layer, the CAN controller takes control of the higher-level protocol aspects of the CAN network. It is responsible for handling data transmission and reception, as well as performing core functions such as message framing, error detection, and message filtering.

In a CAN system configuration, the controller acts as the intermediary between the transceiver and the microcontroller, managing data communication. For instance, the microcontroller sends data to the controller, which converts and formats it into the CAN protocol. This formatted data is then sent to the transceiver for transmission over the CAN bus. On the receiving side, the transceiver captures incoming bus and sends it to the CAN controller where it filters, decodes, and validates the data before forwarding it to the microcontroller for processing.

The controller can be integrated with the microcontroller or used as a standalone chip alongside a microcontroller that lacks native CAN support. In this configuration, the standalone chip communicates with the microcontroller via interfaces like SPI, I2C, or parallel communication.

Understanding How CAN Transceivers, Controllers, and Bus Architecture Work Together

The CAN protocol operates using a two-wire bus that enables communication between several Electronic Control Units (ECUs), or nodes, that make up a larger machine. The two-wire CAN uses a ‘twisted pair’ configuration, consisting of two lines: CAN High and CAN Low. Together, these form a differential pair that allows reliable data transmission and helps reject noise. Refer to the image below to see what this set up looks like.

Diagram of two wire CAN Bus System with three CAN Nodes and two wires. A yellow wire representing CAN High and a green wire representing CAN Low Figure 1: CAN Two-Wire Bus Diagram

Each CAN node, or ECU, is connected to both the CAN High and CAN Low wires. The ECU houses the microcontroller, as well the CAN controller and the CAN transceiver. The microcontroller is able to interpret the CAN messages that it receives and then determines which messages to transmit out. Within the microcontroller is the CAN controller which, as discussed earlier, is responsible for higher-level protocol tasks, such as message filtering, arbitration, error detection, and framing. Outside of the microcontroller but still within the ECU, is the CAN transceiver which interfaces with the physical bus, converting the protocol signals into differential signals for transmission across the network. Refer to the image below for a visual representation of the ECUs.

Figure 2: Electronic Control Unit (ECU) Diagram

Benefits of Using CAN Communication in Embedded Systems

As data is transmitted, it’s crucial that it flows smoothly. One of the biggest draws to the CAN protocol is its reliability, which is achieved with its robust arbitration process. The CAN controller utilizes a method known as “bit-wise arbitration”, which helps address instances where multiple nodes on the network attempt to send a message simultaneously. For this method, the nodes compare each bit of the message as it is transmitted on the bus, with the lower-priority node (sending a recessive bit) losing arbitration, while the higher-priority node (sending a dominant bit) continues transmission. This process is non-destructive, ensuring that the higher-priority message will not be corrupted by lower-priority messages.

There are a number of additional benefits to using CAN. For one, the protocol also contains built-in error detection systems like the Cyclic Redundancy Check (CRC) algorithm and bit stuffing. The CRC algorithm generates a sequence of bits - also known as a checksum - to represent the data and uses this to verify the information that is being transferred, while bit stuffing is used to maintain the devices signal integrity and keep all of the networked devices in sync.

CAN is also a cost-effective as its two-wire bus reduces material costs and system complexity. Because of its simplified wiring and compact size of the physical transceiver, it is ideal for smaller-scale or complex machine architecture.

In addition to all of this, CAN is a standardized protocol under the International Organization for Standard (ISO) 11898, ensuring that it is compatible with many different types of devices across various manufacturing industries.

Conclusion

To summarize, CAN has revolutionized communication, data transfer, and embedded system design in multiple industries. Evolving from its original intentions within the automobile industry, CAN protocol has translated that reliability and resiliency to a multitude of additional industries. We can see CAN controllers and transceivers now in automation, healthcare, defense, and even aerospace travel. Working together, the CAN controller and transceiver enable the connected devices to communicate essential information accurately and quickly in various types of environments - even in those where electronic performance is typically compromised.

At Total Phase we offer several CAN products, most notably the Komodo CAN Duo Interface. This is a powerful two-channel USB- to-CAN adapter and analyzer that provides an all-in-one solution for transmitting and monitoring CAN data as needed. We offer various software to interface with the Komodo interface, including our Data Center Software, a free, downloadable bus monitoring system that is able of capturing and displaying CAN bus data in real time, and our Komodo GUI Software, provides access to the active CAN functions of the Komodo interface in an easy-to-use graphical interface.

For more information on these tools, and others that we offer, please feel free to contact us sales@totalphase.com or request a demo