CAN BUS: Basics

Imagine, wanting to communicate with someone and still following the old postcard system!  Scary?

Well, it won't be wrong to say that it is a method long lost and forgotten. However, today's growing technology is proceeding so that every newly launched technology becomes obsolete in no time. Similarly, in the automotive world, technology has grown to the extent that we cannot help but be amazed. For this significant change from an old grandpa's car to a racer's Ferrari, CAN Bus has played an important role.

BOSCH originally made a controlled Area Network Bus (CAN Bus), a communication protocol (a digital data network) for automotive applications. With vehicles becoming innovative and multiple ECU's coming into the picture, there was a need to introduce a communication method that could justify the ever-growing demand for complexity, speed, and loads of data.  With time the advancement took the beast mode, and there is when CAN bus played an essential role as it would not have been fair to lay the vehicle with kilometres of wire in it just for communication between different modules. CAN was loaded with so many features that it quickly became popular in the automotive world.

Features being:-

CAN%2520Bus_edited_edited.png
  • CAN uses pair of twisted wire cables.

  • Multiple ECUs can be connected on the same CAN-BUS.

  • It has reduced weight and wire cost.

  • Error reduction.

  • A quick exchange of data. Uses arbitration process; hence top priority data get access of the bus.

  • Scope for upgradation.

  • Standard CAN 2.0A allows 11Bit data transmission( meaning, a total of 2048 different unique messages can be introduced)

  • Extended CAN 2.0B allows 29Bit data transmission. (that sums up to 536+ million messages)

Let’s understand the basic construction:

The basic CAN layout consists of just two twisted wires terminated at both ends. The ECU's or any system that is required to communicate can be attached to these wires. Thus, there can be any number of ECU's connected.

CAN1.png

CAN follows a simple principle of making data available for everyone willing to download it. Picture it like being on a Subway station, where various announcements are being made at different times. For those it seems information, they act on it, and others ignore the data. Similarly, the Can bus makes the data available for each node on the line. The node that finds it useful accepts it, and the rest ignore it. Here, the data works on a priority basis, and the nodes function similarly. Technically, there is no master-slave adjustment; every node here is a master.

Voltage levels: a standard CAN-BUS operates on a 5V differential signal.

 

An ideal "0" marks the dominant mode of transmission, whereas a perfect "1" signifies the recessive mode of transmission. Also, the arrangement of the dominant and recessive modes decides what happens to the data bus. A dominant state will always win over a recessive state.

 

Data frame structure in a standard CAN bus (11 bit)

CAN2.png
CAN3.png
CAN4.png

SOF: Start of Frame. Marks the beginning of the data frame. (A dominant 0)

ADDRESS FIELD: This field decides the priority of the data. The lower the address higher the priority. An address with a maximum number of dominant "0" will hold the highest priority. No two nodes can transmit the same message address at the same time.

RTR:Remote transmission request is used for requesting data from the nodes which are not needed to send the data continuously. If any node wishes to communicate with another specific node, this is used. This directly reduces congestion on the bus as direct communication takes place between the nodes.

 

ARBITRATION: The arbitration process is the one that helps in deciding which node gets to play master for a given point of time. Any node that transmits a logical "1" when another node transmits a logical 0 "drops out" or loses the arbitration. . This means that the node that transmits the first "1" loses arbitration, a dominant "0" always wins. The node that fails arbitration re-queues its message for re-transmission, and the CAN frame bit-stream continues without error until only one node is left transmitting.

IDE: Identifier Extension Bit is for future use/extension. A recessive IDE will result in another 18 bits of the address.

RSRV: Reserve Bit. As the name suggests it is kept for future up-gradations.

DLC:  Data Length Code (0-8 bytes).

DATA: User-defined data (0-64 bits).

CRC:  Cyclic Redundancy Check for error/data corruption detection.

ACK: Acknowledgement by the receiving end.

EOF: End Of Frame (7s bit recessive “1”s)

Here one needs to understand that regardless of the priority sequence, every single node gets its message though.

Why CAN bus for automotive industries?

 

Originally CAN was invented for automobiles only. Before the invention of CAN, each electronic device in a vehicle was connected to other devices using many wires, which might have been convenient when the number of systems that needed to be linked was less. But with the growing complexity, wires could simply not be the answer.

CAN bus was specifically developed to support and enable high speed and efficient communication in automobiles.

Vehicle%20wiring_edited.jpg
PIC5_edited.png

Using a Controller Area Network (CAN bus), each ECU can communicate with all other ECUs - without complex dedicated wiring, reducing the cable length, cost, and weight of the vehicle due to all that unnecessary wiring.

A few disadvantages to CAN bus usage:

 

CAN is 40 meters maximum length wire. Hence the number of nodes can be limited to a point.

CAN are expensive as compared to other networks. Hence troubleshooting and maintenance are costly.

 

But considering the large number of advantages of CAN buses, it will not be wrong to say that they are a total saviour in times of complexity. They have not only eased the manufacturing process but have decreased any scope of errors drastically. Operating a CAN bus operated vehicle, do check out our Products

At “Influx”, we are creating trusted, engineering and automotive data logging solutions that make a difference. We specialize in CAN bus data loggers, CAN bus instrumentation modules. CAN bus software tools. CAN is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer.

Was this article helpful?Don’t love itNot greatGoodReally goodLove itWas this article helpful?

Your content has been submitted