SlideShare a Scribd company logo
1 of 13
Download to read offline
1 | P a g e
Linkedin
CAN PROTOCOL
Subhash Chandra
2 | P a g e
❖ INRTODUCTION
CAN (Controller Area Network) protocol is one of the most vita communication protocol
in which the communication between various electronic devices like engine management
systems, active suspension, ABS, gear control, lighting control, air conditioning, airbags,
central locking etc embedded in an automobile. An idea initiated by Robert Bosch GmbH in
1983 to improve the quality of automobiles thereby making them more reliable, safe and fuel
efficient. Realizing the problem of communication between different electronic modules
Robert Bosch came up with this new protocol called CAN which was first released in 1986.
It’s a mechanism which is incorporated in the hardware and the software by which different
electronic modules can communicate with each other using a common cable.
Fig1. Communication between various electronic devices without CAN
Before CAN was introduced in the automobiles, each electronic device was connected to
other device using the wires (point to point wiring) which worked fine, when the functions in
the system were limited.
Fig2. Communication between various electronic devices with CAN
3 | P a g e
Also the standard technology of time, asynchronous transmitter/receiver did not support multi
domain communications. Domain is a group of electronic devices that have almost similar
requirements to work in the system.
❖ DIFFERENT DOMAIN FOR COMMUNICATION
Fig3.Different electronic domain in vehicle
CAN protocol can be defined as the set of rules for transmitting and receiving messages in a
network of electronic devices. It means that it defines how data is transferred from one device
to another in a network. It was designed specifically looking into the needs of the automobile
industry. However CAN's robust architecture and advantages has forced many industries like
Railway, Aircrafts, medical etc to adopt CAN protocol in their systems.
❖ NODE
Fig4. Node representation for CAN protocol
Every electronic device (also known as the node) which needs to communicate using the
CAN protocol is connected with each other via a common serial bus to transmit and receive
4 | P a g e
messages. For data exchange to happen among the nodes they must have the necessary
hardware and the software embedded inside them.
Fig5. Component with node and CAN controller
CAN network consist of various nodes. Every node has a Host controller (ECU/MCU) which
is responsible for the functioning of the respective node. In addition to the host controller
every node has a CAN controller and CAN transceiver. CAN controller convert the messages
of the nodes in accordance with the CAN protocols to be transmitted via CAN transceiver
over the serial bus and vice versa. CAN controller is a chip which can either be added
separately or embedded inside the host controller of the node.
CAN does not follow the master-slave architecture which means every nodes has the access
to read and write data on the CAN bus. When the node is ready to send data, it checks
availability of the bus and writes a CAN frame onto the network. A frame is defined
structure, carrying meaningful sequence of bit or bytes of data within the network. CAN
transmitted frame does have address neither of transmitting node or the receiving node.
CAN is a message based protocol. A message can be defined as a packet of data which
carries information. A CAN message is made up of 10 bytes of data. The data is organized in
a specific structure called frame and the information carried in every byte is defined in the
CAN protocol. Protocols are generally of two types: address based and message based. In an
address based protocol the data packets contain the address of the destination device for
which the message is intended. In a message based protocol every message is identified by a
predefined unique ID rather than the destination addresses. All nodes on CAN receive the
CAN frame and depending on ID on the node CAN decides whether to accept it or not. If
multiple nodes send the message at the same time than the node with highest priority (lowest
arbitration ID) gets the bus access. Lower priority nodes wait till the bus is available.
❖ OSI LAYERS
CAN uses the existing OSI reference model to transfer data among nodes connected in a
network. The OSI reference model defines a set of seven layers through which the data passes
during communication between devices connected in a network. The 7-layered structure of
the OSI model is a very robust approach widely adopted in many communication protocols.
5 | P a g e
Fig6. OSI reference model
• Application Layer
It serves as a window for users and application processes to access network services. The
common functions of the layers are resource sharing, remote file access, network
management, electronic messages and so on.
• Presentation Layer
The most important function of this layer is defining data formats such as ASCII text,
EBCDIC text BINARY, BCD and JPEG. It acts as a translator for data into a format used
by the application layer at the receiving end of the station.
• Session Layer
It allows to establishing, communicating and terminating sessions between processes
running on two different devices performing security, name recognition and logging.
• Transport Layer
The transport layer ensures that messages are delivered error-free, in sequence, and
without loss or duplication. It relieves the higher layer from any concern with the transfer
of data between them and their peers.
• Network Layer
It provides end to end logical addressing system so that a packet of data can be routed
across several layers and establishes, connects and terminates network connections.
• Data Link Layer
It packages raw data into frames transferred from physical layer. This layer is responsible
for transferring frames from one node to another without errors.
After sending the frame it waits for the acknowledgement from receiving device. Data
link layer has two sub layers:
o MAC (Medium Access Control) layer: It performs frame coding, error detection,
signalling, serialization and de-serialization.
6 | P a g e
o LLC (Logical Link Control) layer: It provides multiplexing mechanisms that make
it possible for several network protocols (IP, Decnet and Appletalk) to coexist
within a multipoint network and to be transported over the same network medium.
It performs the function of multiplexing protocols transmitted by MAC layer while
transmitting and decoding when receiving and providing node-to-node flow and
error control.
• Physical Layer
The physical layer transmits bit from one device to another and regulates the transmission
of bit streams. It defines the specific voltage and the type of cable to be used for
transmission protocols. It provides the hardware means of sending and receiving data on a
carrier defining cables, cards and physical aspects.
❖ OSI for CAN ARCHITECTURE
CAN protocol uses lower two layers of OSI i.e. physical layer and data link layer. The
remaining five layers that are communication layers are left out by BOSCH CAN
specification for system designers to optimize and adapt according to their needs.
Fig7. ISO used in CAN protocol
Every node has a Host controller also known as micro-controller which is a small and low-
cost computer. Host controller implements application layer of OSI model. Micro-controller
gathers information from other electronic control units like braking, steering, power windows
etc. to communicate with other nodes and transfers it to CAN controller. CAN controller
incorporate logical link control and medium access control of data link layer. LLC allows
filtering of messages by using unique ID on each message then MAC sub layer frames the
message. Once, framing is done it is followed by arbitration, error detection and
acknowledgement that all comes under MAC sub layer of data link. The frame is transferred
to CAN trans-receiver, for encoding and decoding. Finally CAN trans-receiver synchronizes
with the CAN bus to send the message to anther node.
7 | P a g e
❖ MESSAGE FRAMING
Fig8.Message framing for CAN protocol
Messages in CAN are sent in a format called frames. A frame is defined structure, carrying
meaningful sequence of bit or bytes of data within the network. Framing of message is done
by MAC sub layer of Data Link Layer .There are two types of frames standard or extended.
These frames can be differentiated on the basis of identifier fields. A CAN frame with 11 bit
identifier fields called Standard CAN and with 29 bit identifier field is called extended frame.
• Standard frames can:
o SOF - Start of Frame bit. It indicates start of message and used to synchronize the
nodes on a bus. A dominant (1) bit in the field marks the start of frame.
o IDENTIFIER - It serves dual purpose one, to determine which node has access to
the bus and second to identify the type of message.
o RTR - Remote Transmission Request. It identifies whether it’s a data frame or a
remote frame .RTR is dominant (1) when it is a data frame and recessive (0) when it
is a remote frame.
o IDE - Identifier Extension. It is used to specify the frame format. Dominant (1) bit
is for standard frame and recessive (0) for extended frame.
o R0 - Reversed bit. Not used currently and kept for future use.
o DLC - Data Length Code. It is 4 bit data length code that contains the number of
bytes being transmitted.
o DATA - Used to store up to 64 data bits of application data to be transmitted.
o CRC - Cyclic Redundancy Check. The 16-bit (15 bits plus delimiter) cyclic
redundancy check (CRC) contains the checksum of the preceding application data
for error detection.
1 2 3 4 5 6 7
8 | P a g e
o ACK - Acknowledge (ACK) field. It compromises of the ACK slot and the ACK
delimiter. When the data is received correctly the recessive (0) bit in ACK slot is
overwritten as dominant (1) bit by the receiver.
o EOF - End of Frame (EOF). The 7-bit field marks the end of a CAN frame
(message) and disables. Bit - stuffing, indicating a stuffing error when dominant (1).
o IFS - Inter Frame Space that specifies minimum number of bits separating
consecutive messages. It provides the intermission between two frames and consists
of three recessive (0) bits known as intermission bits. This time allows nodes for
internal processing before the start of next frame.
• Extended frames can:
o SRR- Substitute Reverse Request. The SRR bit is always transmitted as a recessive
(0) bit to ensure that, in the case of arbitration between a Standard Data Frame and
an Extended Data Frame, the Standard Data Frame will always have priority if both
messages have the same base (11 bit) identifier.
o R1- It is another bit not used currently and kept for future use.
❖ MESSAGE FRAMES
There are four different frames which can be used on the bus.
o Data frames- These are most commonly used frame and used when a node
transmits information to any or all other nodes in the system. Data Frames consist
of fields that provide additional information about the message as defined by the
CAN specification. Embedded in the Data Frames are Arbitration Fields, Control
Fields, Data Fields, CRC Fields, a 2-bit Acknowledge Field and an End of Frame.
o Remote frames - The purpose of the remote frame is to seek permission for the
transmission of data from another node. This is similar to data frame without data
field and RTR bit is recessive (0). For example, the microprocessor controlling the
central locking on your car may need to know the state of the transmission gear
selector from the power train controller.
o Error frames – If transmitting or receiving node detects an error, it will
immediately abort transmission and send error frame consisting of an error flag
made up of six dominant (1) bits and error flag delimiter made up of eight recessive
(0) bits. The CAN controller ensures that a node cannot tie up a bus by repeatedly
transmitting error frame.
9 | P a g e
Fig9. Error frames
o Overload frame-It is similar to error frame but used for providing extra delay
between the messages. An Overload frame is generated by a node when it becomes
too busy and is not ready to receive.
Fig10. Overload frame
❖ ARBITRATION
It is a mechanism which resolves the conflict when two or more nodes try to send the
message at the same time. In this technique whenever the bus is free any unit can transmit a
message. If two or more units starts transmitting at the same time access to the bus is
conflicted, but this problem can be solved by arbitration using identifier. During arbitration
every transmitter compares the value of transmitted bit with bit value on the bus. If the bit
value is same, the node continues to send the bits. But at any time if transmitted bit value is
different from bus value the dominant (1) bit overwrites the recessive (0) bits. The arbitration
field of the CAN message consists of an 11- or 29-bit identifier and a remote transmission
(RTR) bit. The identifier having lowest numerical value has the highest priority. If both data
frame and remote frame with the same identifier is initiated at the same time data frame will
prevail over remote frame. With the concept of arbitration neither information nor time is
lost.
❖ ERROR CHECKING AND FAULT CONFINEMENT
This is one of the attributes of CAN that makes it robust. CAN protocol has five methods of
error checking, out of which three are at message level while other two are at bit level. Every
frame is simultaneously accepted or rejected by every node in the network. If a node detects
an error it transmits an error flag to every node and destroys the transmitted frame and the
transmitting node resends the frame
10 | P a g e
• Message level
o CRC check
In this stage a 15-bit cyclic redundancy check value is calculated by transmitting
node and is transmitted in the CRC field. This value is received by all nodes. Then
all the nodes calculate CRC value and matches the results with the transmitted
value. If values differ than an Error Frame is generated. Since one of the nodes did
not receive the message properly it is resent.
o ACK slots
When transmitting node sends a message, a recessive (0) bit is sent in
acknowledgement slot. After message is received acknowledge slot is replaced by
dominant (1) bit which would acknowledge that at least one node correctly
received the message. If this bit is recessive (0) (0), then none of the node has
received the message properly.
o Form Error
End of frame, Inter-frame space, Acknowledge Delimiter are fields that are
always recessive (0) (0), if any node detects dominant(1) (1) bit in one of these
fields than CAN protocol calls it a violation and a Form Frame is generated and
original message is resent after certain period.
• Bit level
o Stuff error
Bit stuffing - It is a very common technique used in telecommunication and data
transmission to insert non -informative bits to have same bit rates or to fill the
frames .These extra bits are removed by data link layer to retrieve the original
message. This same technique is used in bit error.CAN bus is never idle because it
uses NRZ method. After five consecutive bits of the same value, a bit with a
complement or opposite value is stuffed into the bit stream. If six bits of the same
value are detected between SOF and CRC delimiter, error frame is generated.
Upon detection of errors, the transmission is aborted and frame is repeated. If
errors continue, then the station or node may switch itself off to prevent the bus
from being tied up.
o Bit error
A node that is sending the bit always monitors the bus. If the bit sent by
transmitter differs from the bit value on the bus then error frame is generated. But
there is an exception in case of arbitration field or Acknowledge slot where a
recessive (0) bit is sent and a dominant (1) bit is received. Then no Bit Error is
occurs when dominant (1) bit is monitored.
❖ CAN BIT TIMING
Each bit on the CAN bus is, for timing purposes, divided into at least 4 quanta. The quanta
are logically divided into four groups or segments –
• the Synchronization Segment
• the Propagation Segment
• the Phase Segment 1
• the Phase Segment 2
11 | P a g e
Fig11.CAN data bit
o Synchronization Segment, which always is one quantum long, is used for
synchronization of the clocks. A bit edge is expected to take place here when the data
changes on the bus.
o Propagation Segment is needed to compensate for the delay in the bus lines.
o Phase Segments may be shortened (Phase Segment 1) or lengthened (Phase Segment
2) if necessary to keep the clocks in sync.
The bus levels are sampled at the border between Phase Segment 1 and Phase Segment 2.
Most CAN controllers also provide an option to sample three times during a bit. In this case,
the sampling occurs on the borders of the two quanta that precedes the sampling point, and
the result is subject to majority decoding (at least this is the case for the 82527.)
• Clock Synchronization
In order to adjust the on-chip bus clock, the CAN controller may shorten or prolong the
length of a bit by an integral number of quanta. The maximum value of these bit time
adjustments are termed the Synchronization Jump Width, SJW.
Hard synchronization occurs on the recessive (0)-to-dominant (1) transition of the start bit.
The bit time is restarted from that edge. Resynchronization occurs when a bit edge doesn’t
occur within the Synchronization Segment in a message. One of the Phase Segments are
shortened or lengthened with an amount that depends on the phase error in the signal; the
maximum amount that may be used is determined by the Synchronization Jump Width
parameter.
• Bit Timing Register Calculation
Most CAN controllers allows the programmer to set the bit timing using the following
parameters:
• A clock prescaler value
• The number of quanta before the sampling point
• The number of quanta after the sampling point
• The number of quanta in the Synchronization Jump Width, SJW
Usually two registers are provided for this purpose: btr0 and btr1. Things tend to vary slightly
between different controllers, however, so read your data sheets carefully.
Note: the actual value of these parameters is one more than the value written into the
register.
Example: if the oscillator signal fed to the SJA1000 is 16 MHz, and we want a bit rate of 250
kbit/s, with a sampling point close to 62% of the whole bit, and a SJW of 2 quanta, we can set
–
BRP = 4, which gives a quantum length of 2 * 4 / 16000000 s = 500 ns, and
TSEG1 = 5, which gives 5 quanta before the sampling point, and
TSEG2 = 3, which gives 3 quanta after the sampling point.
Each bit will then comprise 5 + 3 = 8 quanta, which results in the desired bit rate of 1 / (8 *
500 ns) = 250 kbit/s. The register values should then be
12 | P a g e
btr0 = (SJW – 1) * 64 + (BRP -1) =
(2-1)*64 + (4-1) =
67 =
0×43
btr1 = SAM * 128 + (TSEG2 – 1)* 16 + (TSEG1 – 1) =
0*128 + (3-1)*16 + (4-1) = (“4″ because the start bit isn’t included)
35 =
0×23
❖ BENEFITS
o Low cost: As CAN serial bus uses two wires, it offers good price/performance ratio.
Also, driven by high volume production of low cost protocol devices, they are relatively
cheap.
o Reliable: Because of excellent error detection and error handling mechanisms used by
CAN, it offers high reliability transmission. It is also highly immune to Electromagnetic
Interference
o Flexibility: CAN Nodes can be easily connected / disconnected. Also, the number of
nodes is not limited by the protocol
o Good Speed: CAN supports data rate of 1 MBit/s @ 40m bus length.
o Multi-master communication: Any node can access the bus
o Fault Confinement: Faulty nodes do not disturb the communication.
o Broadcast capability: Messages can be sent to one /many/all nodes.
o Standardized: ISO has standardized CAN via ISO-DIS 11898 high speed applications)
and ISO-DIS 11519-2 (low speed applications). CAN protocol is also standardized by
industry organizations such as SAE-Society of Automotive Engineers.
❖ TERMS ASSOCIATED WITH CAN PROTOCOL.
• Bus Values
Binary values in CAN protocol are termed as dominant(1) and recessive (0) bits.
· CAN define the logic “0” as dominant (1) bit.
· CAN define the logic “1” as recessive (0) bit.
In the CAN system dominant (1) bit always overwrites the recessive (0) bit.
• Message based communication
A Message is packet of data that carries the information to be exchanged between the
nodes. Each message in CAN has a unique identification number. The identification number
is specified according to the content of the message and stored in message identifier. This
identification number is also unique within the network so when the transmitting node places
the data on the network for access to all nodes it checks unique ID number to allow the
message to pass through the filter and rest are ignored. This is done to save the time spent on
sorting. With message based protocol other nodes can be added without re-programming
since the units connected to the bus have no identifying information like node addressing. So
there is no change needed in the software and hardware of any of the units connected on the
bus.
13 | P a g e
❖ REFERENCE
▪ Bijal Parikh, Engineersgarage, 2017
▪ wikipedia, 2017
▪ kvaser, 2017
▪ Eetimes.com

More Related Content

What's hot

Controller Area Network (Basic Level Presentation)
Controller Area Network (Basic Level Presentation)Controller Area Network (Basic Level Presentation)
Controller Area Network (Basic Level Presentation)Vikas Kumar
 
Controller area network
Controller area networkController area network
Controller area networkDivi1597
 
Controller area network (CAN bus) ppt
Controller area network (CAN bus) pptController area network (CAN bus) ppt
Controller area network (CAN bus) pptRaziuddin Khazi
 
CAN (Controller Area Network) Bus Protocol
CAN (Controller Area Network) Bus ProtocolCAN (Controller Area Network) Bus Protocol
CAN (Controller Area Network) Bus ProtocolAbhinaw Tiwari
 
A SEMINAR REPORT ON CAN BUS PROTOCOL
A SEMINAR REPORT ON CAN BUS PROTOCOLA SEMINAR REPORT ON CAN BUS PROTOCOL
A SEMINAR REPORT ON CAN BUS PROTOCOLAbhinaw Tiwari
 
Controller area network -ppt
Controller area network -pptController area network -ppt
Controller area network -pptvelichetiphani
 
Controller area network protocol
Controller area network protocolController area network protocol
Controller area network protocolSneha Nalla
 
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan K
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan KController Area Network (CAN) Protocol || Automotive Electronics || Hariharan K
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan KHariharan Krishnan
 
CAN (Controller Area Network)
CAN (Controller Area Network)CAN (Controller Area Network)
CAN (Controller Area Network)Ajay Sukruth
 
Overview of automotive network protocol
Overview of automotive network protocolOverview of automotive network protocol
Overview of automotive network protocolpoojashinde212
 
Local Interconnect Network
Local Interconnect NetworkLocal Interconnect Network
Local Interconnect NetworkJabez Winston
 
Most Media Oriented System Transport
Most Media Oriented System TransportMost Media Oriented System Transport
Most Media Oriented System TransportPruthvi Monarch
 
Can protocol implementation for data communication (2)
Can protocol implementation for data communication (2)Can protocol implementation for data communication (2)
Can protocol implementation for data communication (2)karuna418
 

What's hot (20)

Controller Area Network (Basic Level Presentation)
Controller Area Network (Basic Level Presentation)Controller Area Network (Basic Level Presentation)
Controller Area Network (Basic Level Presentation)
 
Controller area network
Controller area networkController area network
Controller area network
 
Controller area network (CAN bus) ppt
Controller area network (CAN bus) pptController area network (CAN bus) ppt
Controller area network (CAN bus) ppt
 
CAN (Controller Area Network) Bus Protocol
CAN (Controller Area Network) Bus ProtocolCAN (Controller Area Network) Bus Protocol
CAN (Controller Area Network) Bus Protocol
 
Can Bus communication Protocol
Can Bus communication ProtocolCan Bus communication Protocol
Can Bus communication Protocol
 
Canbus
CanbusCanbus
Canbus
 
Control Area Network
Control Area NetworkControl Area Network
Control Area Network
 
A SEMINAR REPORT ON CAN BUS PROTOCOL
A SEMINAR REPORT ON CAN BUS PROTOCOLA SEMINAR REPORT ON CAN BUS PROTOCOL
A SEMINAR REPORT ON CAN BUS PROTOCOL
 
Controller area network -ppt
Controller area network -pptController area network -ppt
Controller area network -ppt
 
Controller area network protocol
Controller area network protocolController area network protocol
Controller area network protocol
 
Ca npp t
Ca npp tCa npp t
Ca npp t
 
UDS PPT
UDS PPTUDS PPT
UDS PPT
 
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan K
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan KController Area Network (CAN) Protocol || Automotive Electronics || Hariharan K
Controller Area Network (CAN) Protocol || Automotive Electronics || Hariharan K
 
CAN (Controller Area Network)
CAN (Controller Area Network)CAN (Controller Area Network)
CAN (Controller Area Network)
 
Overview of automotive network protocol
Overview of automotive network protocolOverview of automotive network protocol
Overview of automotive network protocol
 
Local Interconnect Network
Local Interconnect NetworkLocal Interconnect Network
Local Interconnect Network
 
CAN Bus
CAN BusCAN Bus
CAN Bus
 
Most Media Oriented System Transport
Most Media Oriented System TransportMost Media Oriented System Transport
Most Media Oriented System Transport
 
Lin bus
Lin busLin bus
Lin bus
 
Can protocol implementation for data communication (2)
Can protocol implementation for data communication (2)Can protocol implementation for data communication (2)
Can protocol implementation for data communication (2)
 

Similar to Can Protocol For Automobiles

| IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...
    | IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...    | IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...
| IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...IJMER
 
Can basics
Can basicsCan basics
Can basicscdackp
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1Techglyphs
 
Controller Area Network (CAN) Different Types
Controller Area Network (CAN) Different TypesController Area Network (CAN) Different Types
Controller Area Network (CAN) Different TypesFebinShaji9
 
Multimedia network services and protocols for multimedia communications
Multimedia network services and protocols for multimedia communicationsMultimedia network services and protocols for multimedia communications
Multimedia network services and protocols for multimedia communicationsMazin Alwaaly
 
What is networking
What is networkingWhat is networking
What is networkingbabyparul
 
Automation and Robotics 20ME51I_Week_3_Practicals.pdf
Automation and Robotics 20ME51I_Week_3_Practicals.pdfAutomation and Robotics 20ME51I_Week_3_Practicals.pdf
Automation and Robotics 20ME51I_Week_3_Practicals.pdfGandhibabu8
 
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfAutomation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfGandhibabu8
 
Capitulo 9 Exploration Network
Capitulo 9 Exploration NetworkCapitulo 9 Exploration Network
Capitulo 9 Exploration Networkfherjaramillo
 
2.Introduction to Network Devices.ppt
2.Introduction to Network Devices.ppt2.Introduction to Network Devices.ppt
2.Introduction to Network Devices.pptjaba kumar
 

Similar to Can Protocol For Automobiles (20)

IJSTEV2I12120
IJSTEV2I12120IJSTEV2I12120
IJSTEV2I12120
 
| IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...
    | IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...    | IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...
| IJMER | ISSN: 2249–6645 | www.ijmer.com | Vol. 4 | Iss. 4 | April 2014 ...
 
Can basics
Can basicsCan basics
Can basics
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1
 
computer network basics
computer network basicscomputer network basics
computer network basics
 
Project-Report
Project-ReportProject-Report
Project-Report
 
Controller Area Network (CAN) Different Types
Controller Area Network (CAN) Different TypesController Area Network (CAN) Different Types
Controller Area Network (CAN) Different Types
 
Lan wan
Lan wanLan wan
Lan wan
 
Multimedia network services and protocols for multimedia communications
Multimedia network services and protocols for multimedia communicationsMultimedia network services and protocols for multimedia communications
Multimedia network services and protocols for multimedia communications
 
Osi model
Osi modelOsi model
Osi model
 
COMPUTER NETWORKS
COMPUTER NETWORKSCOMPUTER NETWORKS
COMPUTER NETWORKS
 
01 pengenalan
01 pengenalan01 pengenalan
01 pengenalan
 
Networking
NetworkingNetworking
Networking
 
What is networking
What is networkingWhat is networking
What is networking
 
Ens
EnsEns
Ens
 
Automation and Robotics 20ME51I_Week_3_Practicals.pdf
Automation and Robotics 20ME51I_Week_3_Practicals.pdfAutomation and Robotics 20ME51I_Week_3_Practicals.pdf
Automation and Robotics 20ME51I_Week_3_Practicals.pdf
 
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdfAutomation and Robotics 20ME51I Week 3 Theory Notes.pdf
Automation and Robotics 20ME51I Week 3 Theory Notes.pdf
 
11.chapters
11.chapters11.chapters
11.chapters
 
Capitulo 9 Exploration Network
Capitulo 9 Exploration NetworkCapitulo 9 Exploration Network
Capitulo 9 Exploration Network
 
2.Introduction to Network Devices.ppt
2.Introduction to Network Devices.ppt2.Introduction to Network Devices.ppt
2.Introduction to Network Devices.ppt
 

Recently uploaded

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 

Recently uploaded (20)

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 

Can Protocol For Automobiles

  • 1. 1 | P a g e Linkedin CAN PROTOCOL Subhash Chandra
  • 2. 2 | P a g e ❖ INRTODUCTION CAN (Controller Area Network) protocol is one of the most vita communication protocol in which the communication between various electronic devices like engine management systems, active suspension, ABS, gear control, lighting control, air conditioning, airbags, central locking etc embedded in an automobile. An idea initiated by Robert Bosch GmbH in 1983 to improve the quality of automobiles thereby making them more reliable, safe and fuel efficient. Realizing the problem of communication between different electronic modules Robert Bosch came up with this new protocol called CAN which was first released in 1986. It’s a mechanism which is incorporated in the hardware and the software by which different electronic modules can communicate with each other using a common cable. Fig1. Communication between various electronic devices without CAN Before CAN was introduced in the automobiles, each electronic device was connected to other device using the wires (point to point wiring) which worked fine, when the functions in the system were limited. Fig2. Communication between various electronic devices with CAN
  • 3. 3 | P a g e Also the standard technology of time, asynchronous transmitter/receiver did not support multi domain communications. Domain is a group of electronic devices that have almost similar requirements to work in the system. ❖ DIFFERENT DOMAIN FOR COMMUNICATION Fig3.Different electronic domain in vehicle CAN protocol can be defined as the set of rules for transmitting and receiving messages in a network of electronic devices. It means that it defines how data is transferred from one device to another in a network. It was designed specifically looking into the needs of the automobile industry. However CAN's robust architecture and advantages has forced many industries like Railway, Aircrafts, medical etc to adopt CAN protocol in their systems. ❖ NODE Fig4. Node representation for CAN protocol Every electronic device (also known as the node) which needs to communicate using the CAN protocol is connected with each other via a common serial bus to transmit and receive
  • 4. 4 | P a g e messages. For data exchange to happen among the nodes they must have the necessary hardware and the software embedded inside them. Fig5. Component with node and CAN controller CAN network consist of various nodes. Every node has a Host controller (ECU/MCU) which is responsible for the functioning of the respective node. In addition to the host controller every node has a CAN controller and CAN transceiver. CAN controller convert the messages of the nodes in accordance with the CAN protocols to be transmitted via CAN transceiver over the serial bus and vice versa. CAN controller is a chip which can either be added separately or embedded inside the host controller of the node. CAN does not follow the master-slave architecture which means every nodes has the access to read and write data on the CAN bus. When the node is ready to send data, it checks availability of the bus and writes a CAN frame onto the network. A frame is defined structure, carrying meaningful sequence of bit or bytes of data within the network. CAN transmitted frame does have address neither of transmitting node or the receiving node. CAN is a message based protocol. A message can be defined as a packet of data which carries information. A CAN message is made up of 10 bytes of data. The data is organized in a specific structure called frame and the information carried in every byte is defined in the CAN protocol. Protocols are generally of two types: address based and message based. In an address based protocol the data packets contain the address of the destination device for which the message is intended. In a message based protocol every message is identified by a predefined unique ID rather than the destination addresses. All nodes on CAN receive the CAN frame and depending on ID on the node CAN decides whether to accept it or not. If multiple nodes send the message at the same time than the node with highest priority (lowest arbitration ID) gets the bus access. Lower priority nodes wait till the bus is available. ❖ OSI LAYERS CAN uses the existing OSI reference model to transfer data among nodes connected in a network. The OSI reference model defines a set of seven layers through which the data passes during communication between devices connected in a network. The 7-layered structure of the OSI model is a very robust approach widely adopted in many communication protocols.
  • 5. 5 | P a g e Fig6. OSI reference model • Application Layer It serves as a window for users and application processes to access network services. The common functions of the layers are resource sharing, remote file access, network management, electronic messages and so on. • Presentation Layer The most important function of this layer is defining data formats such as ASCII text, EBCDIC text BINARY, BCD and JPEG. It acts as a translator for data into a format used by the application layer at the receiving end of the station. • Session Layer It allows to establishing, communicating and terminating sessions between processes running on two different devices performing security, name recognition and logging. • Transport Layer The transport layer ensures that messages are delivered error-free, in sequence, and without loss or duplication. It relieves the higher layer from any concern with the transfer of data between them and their peers. • Network Layer It provides end to end logical addressing system so that a packet of data can be routed across several layers and establishes, connects and terminates network connections. • Data Link Layer It packages raw data into frames transferred from physical layer. This layer is responsible for transferring frames from one node to another without errors. After sending the frame it waits for the acknowledgement from receiving device. Data link layer has two sub layers: o MAC (Medium Access Control) layer: It performs frame coding, error detection, signalling, serialization and de-serialization.
  • 6. 6 | P a g e o LLC (Logical Link Control) layer: It provides multiplexing mechanisms that make it possible for several network protocols (IP, Decnet and Appletalk) to coexist within a multipoint network and to be transported over the same network medium. It performs the function of multiplexing protocols transmitted by MAC layer while transmitting and decoding when receiving and providing node-to-node flow and error control. • Physical Layer The physical layer transmits bit from one device to another and regulates the transmission of bit streams. It defines the specific voltage and the type of cable to be used for transmission protocols. It provides the hardware means of sending and receiving data on a carrier defining cables, cards and physical aspects. ❖ OSI for CAN ARCHITECTURE CAN protocol uses lower two layers of OSI i.e. physical layer and data link layer. The remaining five layers that are communication layers are left out by BOSCH CAN specification for system designers to optimize and adapt according to their needs. Fig7. ISO used in CAN protocol Every node has a Host controller also known as micro-controller which is a small and low- cost computer. Host controller implements application layer of OSI model. Micro-controller gathers information from other electronic control units like braking, steering, power windows etc. to communicate with other nodes and transfers it to CAN controller. CAN controller incorporate logical link control and medium access control of data link layer. LLC allows filtering of messages by using unique ID on each message then MAC sub layer frames the message. Once, framing is done it is followed by arbitration, error detection and acknowledgement that all comes under MAC sub layer of data link. The frame is transferred to CAN trans-receiver, for encoding and decoding. Finally CAN trans-receiver synchronizes with the CAN bus to send the message to anther node.
  • 7. 7 | P a g e ❖ MESSAGE FRAMING Fig8.Message framing for CAN protocol Messages in CAN are sent in a format called frames. A frame is defined structure, carrying meaningful sequence of bit or bytes of data within the network. Framing of message is done by MAC sub layer of Data Link Layer .There are two types of frames standard or extended. These frames can be differentiated on the basis of identifier fields. A CAN frame with 11 bit identifier fields called Standard CAN and with 29 bit identifier field is called extended frame. • Standard frames can: o SOF - Start of Frame bit. It indicates start of message and used to synchronize the nodes on a bus. A dominant (1) bit in the field marks the start of frame. o IDENTIFIER - It serves dual purpose one, to determine which node has access to the bus and second to identify the type of message. o RTR - Remote Transmission Request. It identifies whether it’s a data frame or a remote frame .RTR is dominant (1) when it is a data frame and recessive (0) when it is a remote frame. o IDE - Identifier Extension. It is used to specify the frame format. Dominant (1) bit is for standard frame and recessive (0) for extended frame. o R0 - Reversed bit. Not used currently and kept for future use. o DLC - Data Length Code. It is 4 bit data length code that contains the number of bytes being transmitted. o DATA - Used to store up to 64 data bits of application data to be transmitted. o CRC - Cyclic Redundancy Check. The 16-bit (15 bits plus delimiter) cyclic redundancy check (CRC) contains the checksum of the preceding application data for error detection. 1 2 3 4 5 6 7
  • 8. 8 | P a g e o ACK - Acknowledge (ACK) field. It compromises of the ACK slot and the ACK delimiter. When the data is received correctly the recessive (0) bit in ACK slot is overwritten as dominant (1) bit by the receiver. o EOF - End of Frame (EOF). The 7-bit field marks the end of a CAN frame (message) and disables. Bit - stuffing, indicating a stuffing error when dominant (1). o IFS - Inter Frame Space that specifies minimum number of bits separating consecutive messages. It provides the intermission between two frames and consists of three recessive (0) bits known as intermission bits. This time allows nodes for internal processing before the start of next frame. • Extended frames can: o SRR- Substitute Reverse Request. The SRR bit is always transmitted as a recessive (0) bit to ensure that, in the case of arbitration between a Standard Data Frame and an Extended Data Frame, the Standard Data Frame will always have priority if both messages have the same base (11 bit) identifier. o R1- It is another bit not used currently and kept for future use. ❖ MESSAGE FRAMES There are four different frames which can be used on the bus. o Data frames- These are most commonly used frame and used when a node transmits information to any or all other nodes in the system. Data Frames consist of fields that provide additional information about the message as defined by the CAN specification. Embedded in the Data Frames are Arbitration Fields, Control Fields, Data Fields, CRC Fields, a 2-bit Acknowledge Field and an End of Frame. o Remote frames - The purpose of the remote frame is to seek permission for the transmission of data from another node. This is similar to data frame without data field and RTR bit is recessive (0). For example, the microprocessor controlling the central locking on your car may need to know the state of the transmission gear selector from the power train controller. o Error frames – If transmitting or receiving node detects an error, it will immediately abort transmission and send error frame consisting of an error flag made up of six dominant (1) bits and error flag delimiter made up of eight recessive (0) bits. The CAN controller ensures that a node cannot tie up a bus by repeatedly transmitting error frame.
  • 9. 9 | P a g e Fig9. Error frames o Overload frame-It is similar to error frame but used for providing extra delay between the messages. An Overload frame is generated by a node when it becomes too busy and is not ready to receive. Fig10. Overload frame ❖ ARBITRATION It is a mechanism which resolves the conflict when two or more nodes try to send the message at the same time. In this technique whenever the bus is free any unit can transmit a message. If two or more units starts transmitting at the same time access to the bus is conflicted, but this problem can be solved by arbitration using identifier. During arbitration every transmitter compares the value of transmitted bit with bit value on the bus. If the bit value is same, the node continues to send the bits. But at any time if transmitted bit value is different from bus value the dominant (1) bit overwrites the recessive (0) bits. The arbitration field of the CAN message consists of an 11- or 29-bit identifier and a remote transmission (RTR) bit. The identifier having lowest numerical value has the highest priority. If both data frame and remote frame with the same identifier is initiated at the same time data frame will prevail over remote frame. With the concept of arbitration neither information nor time is lost. ❖ ERROR CHECKING AND FAULT CONFINEMENT This is one of the attributes of CAN that makes it robust. CAN protocol has five methods of error checking, out of which three are at message level while other two are at bit level. Every frame is simultaneously accepted or rejected by every node in the network. If a node detects an error it transmits an error flag to every node and destroys the transmitted frame and the transmitting node resends the frame
  • 10. 10 | P a g e • Message level o CRC check In this stage a 15-bit cyclic redundancy check value is calculated by transmitting node and is transmitted in the CRC field. This value is received by all nodes. Then all the nodes calculate CRC value and matches the results with the transmitted value. If values differ than an Error Frame is generated. Since one of the nodes did not receive the message properly it is resent. o ACK slots When transmitting node sends a message, a recessive (0) bit is sent in acknowledgement slot. After message is received acknowledge slot is replaced by dominant (1) bit which would acknowledge that at least one node correctly received the message. If this bit is recessive (0) (0), then none of the node has received the message properly. o Form Error End of frame, Inter-frame space, Acknowledge Delimiter are fields that are always recessive (0) (0), if any node detects dominant(1) (1) bit in one of these fields than CAN protocol calls it a violation and a Form Frame is generated and original message is resent after certain period. • Bit level o Stuff error Bit stuffing - It is a very common technique used in telecommunication and data transmission to insert non -informative bits to have same bit rates or to fill the frames .These extra bits are removed by data link layer to retrieve the original message. This same technique is used in bit error.CAN bus is never idle because it uses NRZ method. After five consecutive bits of the same value, a bit with a complement or opposite value is stuffed into the bit stream. If six bits of the same value are detected between SOF and CRC delimiter, error frame is generated. Upon detection of errors, the transmission is aborted and frame is repeated. If errors continue, then the station or node may switch itself off to prevent the bus from being tied up. o Bit error A node that is sending the bit always monitors the bus. If the bit sent by transmitter differs from the bit value on the bus then error frame is generated. But there is an exception in case of arbitration field or Acknowledge slot where a recessive (0) bit is sent and a dominant (1) bit is received. Then no Bit Error is occurs when dominant (1) bit is monitored. ❖ CAN BIT TIMING Each bit on the CAN bus is, for timing purposes, divided into at least 4 quanta. The quanta are logically divided into four groups or segments – • the Synchronization Segment • the Propagation Segment • the Phase Segment 1 • the Phase Segment 2
  • 11. 11 | P a g e Fig11.CAN data bit o Synchronization Segment, which always is one quantum long, is used for synchronization of the clocks. A bit edge is expected to take place here when the data changes on the bus. o Propagation Segment is needed to compensate for the delay in the bus lines. o Phase Segments may be shortened (Phase Segment 1) or lengthened (Phase Segment 2) if necessary to keep the clocks in sync. The bus levels are sampled at the border between Phase Segment 1 and Phase Segment 2. Most CAN controllers also provide an option to sample three times during a bit. In this case, the sampling occurs on the borders of the two quanta that precedes the sampling point, and the result is subject to majority decoding (at least this is the case for the 82527.) • Clock Synchronization In order to adjust the on-chip bus clock, the CAN controller may shorten or prolong the length of a bit by an integral number of quanta. The maximum value of these bit time adjustments are termed the Synchronization Jump Width, SJW. Hard synchronization occurs on the recessive (0)-to-dominant (1) transition of the start bit. The bit time is restarted from that edge. Resynchronization occurs when a bit edge doesn’t occur within the Synchronization Segment in a message. One of the Phase Segments are shortened or lengthened with an amount that depends on the phase error in the signal; the maximum amount that may be used is determined by the Synchronization Jump Width parameter. • Bit Timing Register Calculation Most CAN controllers allows the programmer to set the bit timing using the following parameters: • A clock prescaler value • The number of quanta before the sampling point • The number of quanta after the sampling point • The number of quanta in the Synchronization Jump Width, SJW Usually two registers are provided for this purpose: btr0 and btr1. Things tend to vary slightly between different controllers, however, so read your data sheets carefully. Note: the actual value of these parameters is one more than the value written into the register. Example: if the oscillator signal fed to the SJA1000 is 16 MHz, and we want a bit rate of 250 kbit/s, with a sampling point close to 62% of the whole bit, and a SJW of 2 quanta, we can set – BRP = 4, which gives a quantum length of 2 * 4 / 16000000 s = 500 ns, and TSEG1 = 5, which gives 5 quanta before the sampling point, and TSEG2 = 3, which gives 3 quanta after the sampling point. Each bit will then comprise 5 + 3 = 8 quanta, which results in the desired bit rate of 1 / (8 * 500 ns) = 250 kbit/s. The register values should then be
  • 12. 12 | P a g e btr0 = (SJW – 1) * 64 + (BRP -1) = (2-1)*64 + (4-1) = 67 = 0×43 btr1 = SAM * 128 + (TSEG2 – 1)* 16 + (TSEG1 – 1) = 0*128 + (3-1)*16 + (4-1) = (“4″ because the start bit isn’t included) 35 = 0×23 ❖ BENEFITS o Low cost: As CAN serial bus uses two wires, it offers good price/performance ratio. Also, driven by high volume production of low cost protocol devices, they are relatively cheap. o Reliable: Because of excellent error detection and error handling mechanisms used by CAN, it offers high reliability transmission. It is also highly immune to Electromagnetic Interference o Flexibility: CAN Nodes can be easily connected / disconnected. Also, the number of nodes is not limited by the protocol o Good Speed: CAN supports data rate of 1 MBit/s @ 40m bus length. o Multi-master communication: Any node can access the bus o Fault Confinement: Faulty nodes do not disturb the communication. o Broadcast capability: Messages can be sent to one /many/all nodes. o Standardized: ISO has standardized CAN via ISO-DIS 11898 high speed applications) and ISO-DIS 11519-2 (low speed applications). CAN protocol is also standardized by industry organizations such as SAE-Society of Automotive Engineers. ❖ TERMS ASSOCIATED WITH CAN PROTOCOL. • Bus Values Binary values in CAN protocol are termed as dominant(1) and recessive (0) bits. · CAN define the logic “0” as dominant (1) bit. · CAN define the logic “1” as recessive (0) bit. In the CAN system dominant (1) bit always overwrites the recessive (0) bit. • Message based communication A Message is packet of data that carries the information to be exchanged between the nodes. Each message in CAN has a unique identification number. The identification number is specified according to the content of the message and stored in message identifier. This identification number is also unique within the network so when the transmitting node places the data on the network for access to all nodes it checks unique ID number to allow the message to pass through the filter and rest are ignored. This is done to save the time spent on sorting. With message based protocol other nodes can be added without re-programming since the units connected to the bus have no identifying information like node addressing. So there is no change needed in the software and hardware of any of the units connected on the bus.
  • 13. 13 | P a g e ❖ REFERENCE ▪ Bijal Parikh, Engineersgarage, 2017 ▪ wikipedia, 2017 ▪ kvaser, 2017 ▪ Eetimes.com