The Controller Area Network (CAN) is a multi-master bus communication system able to connect a distributed electronic systems requiring a high-security level, signal integrity, and strictly real-time functionality.
It was originally developed by the company Bosch and it’s now been standardized a series of ISO standards.
It’s widely used in vehicle systems but it’s also being used for a number of other applications in embedded systems, industrial applications and different types of medical devices. For example in a typical car, you could find as many as 70 CAN devices.
The information is transmitted by two twisted wires that connect all system modules. Each node is able to send and receive messages and the bus is able to handle an infinite ( theoretically ) node devices.
It is designed for a vehicle type environments the bit rates are up to about a megabit for second within a 40-meter size limit.
Each node is able to send and receive messages and intercepts the messages destined to it.
It decrypts the packets and extracts the identifier in the data string. Only when is required and the bus is free, a node can start to transmit data.
In another word, In a CAN network, all nodes are not set with a pre-fixed “address”; this feature allows to add or remove nodes into the bus in a very easy way.