CAN(Controller

Area Network)
Protocol
Manu Rajeev
Karri
ECE/21/13

CONTENT
S











Need for CAN
What is CAN
CAN History
Network Model
Types of Nodes
CAN Frames
CSMA/CD-CR
Error Handling
CAN in action
CAN Advantages
and Disadvantages
Conclusion

Need for CAN ▪ Before CAN was introduced in the automobiles. CAN protocol was designed to address this problem. when the functions in the system were limited. each electronic device was connected to other device using the wires (point to point wiring) which worked fine. . ▪ One of the major problems for automotive engineers was linking the ECUs of the different devices so that real time information can be exchanged.

Before CAN .

After CAN .

CAN is an extremely robust serial communication protocol.What is CAN? ▪ A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. ▪ Distribution across the CAN network that allows peer to peer or master to slave type of communications. . ▪ It is a message based protocol.

CAN History ▪ Bosch originally developed CAN in 1985 to address automotive network requirements to reduce the cost and weight of a vehicle harness system. . ▪ Since 1995. ▪ In the 1990s CAN was standardized by ISO 11898. many higher level protocols(HLPs) were developed for and standardized on CAN.

Network Model .

Physical Network ▪ CAN Network is made up of a group of nodes. ▪ The smallest working CAN Network contains at least two active nodes( to allow for a transmitting node and a receiving node that will “ack” a transmitted message) .

Various Types of Nodes .

Extended) ▪ Remote Frame (Standard. Extended) ▪ Error Frame (Passive. Active) ▪ Overload Frame .CAN Frames ▪ Data Frame (Standard.

Data Frame .

Remote Data Frame .

Error Frame .

Overload Frame .

CSMA/CD-CR ▪ CAN protocol handles bus accesses according to Carrier Sense Multiple Access/ Collision Detection.Collision Resolution ▪ Carrier Sense(CS)-Every node must monitor bus for a period of no activity before sending a message. ▪ Multiple Access(MA)-Once a period of no activity occurs. every node has an equal opportunity to send a message .

. a collision occurs ▪ Collision Resolution(CR).Non destructive bit wise arbitration.CSMA/CD-CR ▪ Collision Detection(CD)-If 2 nodes transmit at the same time . ▪ All arbitration takes place without corruption or delay of the highest priority message. ▪ Any message that loses the CAN BUS in arbitration is automatically retransmitted at next available time. ▪ Messages remain intact even after collision.

.

Synchronization ▪ No clock in bit stream ▪ Receivers synchronize on recessive to dominant transitions. . ▪ Hard synchronization occurs at SOF & resets bit clock ▪ Resynchronization occurs at recessive-to-dominant (1-0) edges and adjusts the bit clock as necessary.

Bit Stuffing ▪ Bit stuffing ensures recessive-to-dominant edges ▪ Stuff bit occurs after 5 like bits in a row Recessive or dominant .

▪ There are five types of errors in CAN      CRC(Cyclic Redundancy Check) Error Acknowledge Error Form Error Stuff Error Bit Error .Error Handling ▪ Error handling ensures integrity of messages.

 Bit Error Occurs when transmitted and received bits does not match. In other case it is acknowledgement error. CRC Error If calculated CRC and received CRC does not match. EOF Field or Inter-frame Space.  Acknowledge Error During the transmission of data or remote frame. ACK Delimiter.  Form Error Occurs when any Node that detects a dominant in the CRC Delimiter. . in the ACK flag field the transmitter will put recessive bit and expect dominant bit from receive pin.  Stuff Error 6 consecutive bits of same polarity gives an error. If dominant bit is observed then that is considered as proper transmission. then CRC error occurs.

CAN in Action .

Transmitting a CAN message Receiving a CAN message .

▪ Receiving a message typically requires monitoring the “Receiver buffer Full” with polling or using interrupts to notify user application when a CAN messages has been received.Transmitting & Receiving ▪ Most aspects of transmitting and receiving a CAN message is handled by the protocol engine in the CAN module ▪ Transmitting a message typically requires loading the identifier. . then setting the “Transmit Request” bit. DLC and the data.

CAN Advantages & Disadvantages Advantages ▪ High performance under light loads ▪ Low cost ▪ Reliable ▪ Robust Disadvantages ▪ Unfair access: Node with high priority can hog the network ▪ Starvation for some particular nodes .

.Conclusion ▪ CAN is ideally suited in applications requiring a large number of short messages with high reliability in rugged operating environments. ▪ Because CAN is message-based and not addressbased. it is especially well-suited when data is needed by more than one location and system-wide data consistency is mandatory.

“ Thank you! .