CAN Protocol
CAN Protocol
CAN is designed to allow microcontroller and devices to communicate with each other in
vehicle.
It is Message based protocol.
It is a Multi-master protocol.
For reliable data exchange between ECU’s.
Robust in noisy environment.
Priority-based bit-wise arbitration.
Cost Effective.
History
It is originally developed by Robert Bosch in 1986, “to address the Automotive Requirements”.
Standardized by ISO 11898
CAN Standards
1.CAN 2.0A
standard CAN
11 bit identifier
2.CAN 2.0B
Extended CAN
29 bit identifier.
Before & After CAN
Layered Architecture
Frame Types
Data Frame
Remote Frame
Error Frame
Overload Frame
MESSAGE(Data) FRAME
Start Of Frame:
Logic 0 Indicates the beginning of a message frame.
Arbitration Field:
11-bit identifier .Determines the priority of message.
Control Field:
6-bits.2-bits are reserved for future use.
4-bit Data length Code(DLC)indicates the number of bytes in
the data field.
Data Field:
0to8 bytes of data
CRC Field:
15-bits Cyclic Redundancy Check Code and 1-bit delimiter.
Acknowledgement Field:
2-bits.Slot bit(1) overwritten by dominant bit from other nodes and
delimiter bit(1).
End Of Frame Field:
7-bits.(1111111)indicates the End Of the Frame.
Following the end Of Field is,
the Intermission Field Consisting of 3-bits(111)denotes the bus Is
recognized to be free.
Remote Frame
The purpose of this frame is to ask for the transmission of the corresponding data frame .
It is also used implement a type of request response type of bus traffic management.
Error Frame
Consists of error flag(6-bits) and delimiter(8-bits).
Error Flag is of two types:
1. Active Error Flag 6: dominant bits.
2. Passive Error Flag 6: recessive bits.
Transmitted when node detects a fault and will cause
All other nodes to detect a fault.
Conclusion
CAN is ideally suited in application requiring
a large number of short messages with high reliability.
Because CAN Message-based protocol and
not an address based.