CAN (Controller
Area Network) is a multiplexed serial communication channel which is data/information
are transferred among distributed to/from and electronic modules.
Widely Accepted
Standard
·
"THE
STANDARD" application in the automotive industry.
·
Gaining
acceptance in the worldwide OEM.
Robust
·
Handles
extreme conditions well.
·
Simple
to configure.
·
Good
error detection capabilities.
·
Excellent
two-wire fault tolerance capabilities:
Þ Either of the
two wires in the bus is broken.
Þ Either of the
two wires are shorted to power, to ground, or together.
A Lots of
software and hardware support available
·
Application
layer and driver software available.
·
CAN
Bus Analyzer/development tools.
·
CAN
USER group conferences.
The
structure of CAN are classify into CAN 2.0B and CAN 2.0A. Below specification
may described the deferent between these 2 CAN protocol.
• CAN 2.0A (Standard Format)
- 11 bit message
identifier
- Transmits and
receives only standard format messages.
• CAN 2.0B (Extended Format)
- Capable of
receiving CAN 2.0A messages.
- 29 bit message
identifier. 11 bits for a CAN 2.0A message + 18 bits for CAN 2.0B message.
2.
CAN Bus Protocol
2.1 CAN
Identifiers
Þ Labels the
content (type) of a message.
Þ Performs
acceptance test of messages.
Þ Arbitrates &
determines the priority of the messages.
2.2 Arbitration
Carrier
Sense, Multiple Access with Collision Detect (CSMA/CD)
·
Method
used to arbitrate and determine the priority of messages.
·
Uses
enhanced capability of non-destructive bitwise arbitration to provide collision
resolution.
2.3 Bitwise Arbitration
Any
potential bus conflicts are resolved by bitwise arbitration
·
Dominant
state (logic 0) has precedence over a recessive state (logic 1).
»
Competition
for the bus is won by node 2 .
»
Nodes
0 and 1 automatically become receivers of the message
»
Nodes
0 and 1 will re-transmit their messages when the bus becomes available again.
2.4 Bus Priority Concept
·
Each
transmit buffer hold an 8-bit priority register.
·
Allows
flexible priority schemes.
»
Fixed
Priority for each buffer.
»
Map
a CAN ID to a priority.
»
First
in, first out.
»
Back
- to - Back transmission of same ID.
»
Situation
priority.
1.
CAN Error
Detection
CAN implements
five error detection mechanisms.
·
Three
at the message level
»
Cyclic
Redundancy Checks (CRC)
»
Frame
Checks
»
Acknowledgment
Error Checks
·
Two
at the bit level
»
Bit
Monitoring
»
Bit
Stuffing
2.
Requirement of
CAN Controller
Simple user
interface to CPU
Message
filtering and buffering
Protocol
handling
Physical layer
interface
3.
Summary of CAN
Implementation
Full CAN is not
appropriate for Car Body for cost reasons:
Þ The RAM required
for message buffering and filtering is very silicon intensive and expensive
A Full CAN
receiver can have worst case Rx interrupt situations similar to Basic CAN
receivers.
Þ A FullCAN
controller with less receive buffers than there are message identifiers experiences
increased loading on the globally filtered Rx buffer
»
This
is THE SAME situation as on a Basic CAN controller.
No comments:
Post a Comment