What is CAN ?

CAN Stand for Controller Area Network. CAN is an Asynchronous ,message-based ,serial communication protocol. CAN is used for data exchange between ECUs connected on a network in vehicle.

CAN protocol introduced in 1968 by Robert Bosch.

How CAN transfer data ?

CAN transfers Data in the form of frames and the data transfers through a twisted pair wire which connects all nodes(ECUs).

The twisted pair contains CAN_High and CAN_Low is terminated with a 120Ω resistor to match the impedance of the cables as shown below. All nodes and connected to a twisted pair cable called a bus as shown below. The below picture Represents the CAN bus Topology.

How do the twisted pair of wires, CAN_High and CAN_Low, work together to carry signals on a CAN bus network?

Understanding CAN_High and CAN_Low

We know CAN_High and CAN_Low are the two wires that form the backbone of a CAN bus network. CAN_High carries high-voltage signals, while CAN_Low carries low-voltage signals. Together, they enable the transmission of data between different nodes in the network.

Differential signaling is a technique used to transmit data over a pair of wires by representing the difference in voltage between the two wires. This method enhances noise immunity and allows for longer transmission distances compared to single-ended signaling.

Data transmission occurs through the voltage difference between CAN_High and CAN_Low wires. When a logical ‘0’ is transmitted, CAN_High is at a higher voltage than CAN_Low, and both are nearly having same Voltage levels for a logical ‘1’.

Example for Logic 0 : let’s assume CAN_high is having 3.5v and CAN_low is having 1.5v.
CAN_high > CAN_low which means logic 0
Differential Voltage(Delta V) = CAN_high – CAN_low = 3.5v – 1.5v which is equal to 2V (non zero)

Example for Logic 1 : let’s assume CAN_high is having 2.5v and CAN_low is having 2.5v.
CAN_high = CAN_low which means logic 1
Differential Voltage(Delta V) = CAN_high – CAN_low = 2.5v – 2.5v which is equal to 0V (zero)

  • Logic 0 is called Dominant bit
  • Logic 1 is called Recessive bit
CAN_HighCAN_LowDelta V( diff Voltage)
Logic 1Recessive bit2.5 v2.5 v0
Logic 0Dominant bit3.5 v1.5 v2

Every node(ECU) can send and receive series of ‘0’ and ‘1’ , these series are called as “Frame