Press "Enter" to skip to content

CAN Bus Programming With The Arduino Due – Introduction

<- Table of Content

CAN is a two-wire, half duplex, high-speed network system, that is far superior to conventional serial technologies such as RS232 in regards to functionality and reliability and yet CAN implementations are more cost effective.

CAN Bus Network

While, for instance, TCP/IP is designed for the transport of large data amounts, CAN is designed for real-time requirements and with its 1 MBit/sec baud rate can easily beat a 100 MBit/sec TCP/IP connection when it comes to short reaction times, timely error detection, quick error recovery and error repair.

CAN networks can be used as an embedded communication system for microcontrollers as well as an open communication system for intelligent devices. Some users, for example in the field of medical engineering, opted for CAN because they have to meet particularly stringent safety requirements.

Similar requirements had to be considered by manufacturers of other equipment with very high safety or reliability requirements (e.g. robots, lifts and transportation systems).

The greatest advantage of Controller Area Network lies in the reduced amount of wiring combined with an ingenious prevention of message collision (meaning no data will be lost during message transmission).

CAN Bus Network Structure

Without CAN                                                                            With CAN

The following shows a need-to-know overview of CAN’s technical characteristics.

Controller Area Network

  • Is a serial networking technology for embedded solutions.
  • Needs only two wires named CAN_H and CAN_L.
  • Operates at data rates of up to 1 Megabit per second.
  • Supports a maximum of 8 bytes per message frame.
  • Does not support node IDs, only message IDs. One application can support multiple message IDs.
  • Supports message priority, i.e. the lower the message ID the higher its priority.
  • Supports two message ID lengths, 11-bit (standard) and 29-bit (extended).
  • Does not experience message collisions (as they can occur under other serial technologies).
  • Is not demanding in terms of cable requirements. Twisted-pair wiring is sufficient.

For more detailed information on CAN, please refer to the official CiA/Bosch specification or to A Comprehensible Guide to Controller Area Network.

© 2018 Copperhill Technologies Corporation