CAN

Controller Area Network

This presentation will probably
involve audience discussion,
which will create action
items. Use PowerPoint to
keep track of these action
items during your
presentation

• In Slide Show, click on the
right mouse button
• Select “Meeting Minder”
• Select the “Action Items” tab
• Type in action items as they
come up
• Click OK to dismiss this box

This will automatically create
an Action Item slide at the
end of your presentation with
your points entered.

Introduction
 Standard to establish Network among microcontrollers
 Broadcast type of bus
 No way to send a message to a specific node
 High speed applications with short messages
Comparing With Other
Buses
Bus Transfer Type Transfer Rate
(b/s)
Max. Length (m) No. Of Nodes
RS232 Point to point 20k 15 1
RS485 Network 35k 1200 32
I
2
C Master-Slave 100k 1 128
SPI Master-Slave 110k 1 any
CAN Network 1M 40 2032
USB Master-Slave 480M 5 126
CAN in general………
 Multi-master Network
 2-wire
 Half-duplex
 High-speed (1Mbps)
 Error Confinement and Error Detection
 Distance up to 6 mS

History
 Introduced by Robert Bosch in 1986
 Developed for automotive applications
 Standardized in 1993 as ISO11898-1
 CAN Standards
1. CAN 2.0A
2. CAN 2.0B
CAN Standards
1. CAN 2.0A
Standard CAN (ISO 11898)
11-bit Identifier
1 Mbps
2. CAN 2.0B
Extended CAN (ISO 11519)
29-bit Identifier
125 kbps
Reasons for Using CAN
 Robustness & Reliability
 Low Connect Cost
 Low Cost Components
 Availability of CAN based Products
Applications
 In Industry
To interconnect Machines, Process Control Units and
Production Sub-system
In Building Automation
To manage Heating, Lighting, Air ventilation and doors
 Parameter Setting and control of equipment in
agriculture
Layered Structure
CAN
Network
Physical
Layer
Transfer
Layer
Object
Layer
Application
Layer

Transmission Medium,
Signal Level and
bit representation

Fault Confinement,
Error Detection,
Signaling,
Message Validation,
Acknowledgement,
Arbitration,
Framing,
Transfer Rate
and
Timing
Message Filtering,
Message and
Status Handling
Network Components
 Physical Layer



 CAN Controller



 Software
Cables
Connectors
Transceivers
Part A
Part B Passive
Part B
Cables
Twisted Pair Cables are used to get higher speeds. The Bit
rate of the data transformation is high for short distance
and low for long distance.
Bus Length Bit Rate
40 Meters
100 Meters
200 Meters
500 Meters
6 meters
1 Mbps
500 kbps
250 kbps
125 kbps
10 kbps
Connectors
Pin Number Name Specification
1
2
3
4
5
6
7
8
9
-
CAN_L
CAN_GND
-
CAN SHLD
GND
CAN_H
-
CAN_V+
Reserved
CAN_L bus line (dominant low)
CAN Ground
Reserved
Optional CAN Shield
Optional CAN Ground
CAN_H bus line (dominant high)
Reserved
Optional Power
Pin Number Name
1
2
3
4
5
Drain
V+
V-
CAN_H
CAN_L
Mini type
CAN Controllers
 Part A
 11-bit Identifier
 Above 2000 devices in the Network
 Part B Passive
 11-bit Identifier
 Tolerated 29-bit Identifier, but ignored
 Part B
 29-bit Identifier
 Above 5 million devices in the Network
Working Principle
 Uses CSMA/CD+AMP (Arbitration on Message Priority).
 Data messages transmitted from any node
 Using identifier all nodes will check whether the message is intended
for it or not
 The identifier determines the priority of the message
 Low bits are always dominant

Frame Types
 Data Frame
 Remote Frame
 Error Frame
 Overload Frame
Data Frame
(Message Frame)
For 2.0A
Start Of Frame:
Logic 0 indicates the beginning of a message frame.
Arbitration Field:
11-bit identifier. Determines the priority of the
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:
0 to 8 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 data
frame.
Following the End Of Field is the Intermission field
consisting of 3-bits (111) denotes the bus is recognized to be
free.
For 2.0B
SRR (Substitute Remote Request)
IDE (Identifier Extension)

The max. no. of user in 2.0A is 2032
The max. no. of user in 2.0B is above 5 million
Remote Frame
The intended 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 error delimiter (8-bits).
Transmitted when a node detects a fault and will cause all
other nodes to detect a fault
Overload Frame
This frame is mentioned just for completeness of the
transaction.
Error Detection and
Confinement
 Error is detected by the CAN Controller
 Error Frame is transmitted
 Message is cancelled at all nodes
 Status of the CAN Controllers are updated
 The message is retransmitted
Difference Between CAN, LIN, I2C
protocol I2C SPI CAN
Protocol Synchronous interface used on PCB Synchronous interface used on PCB CAN is Asynchronous Interface &
uses wires for long distance
communications.
Invented Philips Motorola Bosch
Data rate I2C Supports Speed is
:100Kbps(Standard)
:400Kbps(Fast)
:3.4Mbps(High Speed)
SPI Supports : 3Mbps to 10Mbps 10Kbps to 1 Mbps
master I2C is multi-master, Address
based Communication
SPI is Master Slave, With Slave
select(SS) based
Communication
MultiMate , Message based
communications, Reliable
Pins required I2C needs 2 pins SPI needs 3+n pins (n is no. of
devices)
CAN H and CAN L
supports I2C supports 127 devices
limited by available Chip selects
2043 devices
© 2008 Pantech Solutions™ | All rights reserved | www.panetchsolutions.net
Difference Between CAN, LIN,
I2C
protocol I2C SPI CAN
communication I2C is half duplex as there are only
two lines(SCL and SDA)
SPI is Full Duplex as between a
Master and a dedicated slave as
selected by slave select signal;
there are 4 lines
(Spi_clk,Spi_datain,Spi_dataout and
slave select).So, at any given time
data can be sent and received by
the master on two separate lines.
Half duplex
whereas the I2c is generally used in
same PCB
whereas the SPI is generally used in
same PCB
CAN is generally used for device
net (different device at different
location)
bus arbitration is possible in case of
i2c.

not in case of spi.
noise sensitivity of i2c is high...
there is chance to corrupt the r/w
bit... then whole data is corrupted
But in case of spi.. Chance is very
less as whole word is transmitted.
Single duplex
Full duplex operation
Half duplex
© 2008 Pantech Solutions™ | All rights reserved | www.panetchsolutions.net
Types Of Errors
 Bit Error – The node always reads the message as it is sending. If it
find a different value on the bus than it send, it detects the bit error.
 Bit Stuffing Error – If a receiving node found more than five
consecutive bits it detects the error.
 Checksum Error
 Frame Error – Invalid bit error
 Acknowledgement Error
Error Modes
 Error Active – Active Error Flag is send and the data are transmitted
and received usually
 Error Passive – When Controller has frequent problems and Passive
Error Flag is sent
 Bus Off – When controller has serious problems . No messages can
be transmitted or received
Error Process
Two Error Counters are allocated for controlling the error mode. The
error counters are transmit error count and receive error count
For more details
www.pantechsolutions.net
http://www.slideshare.net/pantechsolutions
http://www.scribd.net/pantechsolutions
http://www.youtube.net/pantechsolutions



© 2008 Pantech Solutions™ | All rights reserved |
www.panetchsolutions.net
© 2008 Pantech Solutions™ | All rights reserved