Saturday, 14 November 2015

CONTROLLER AREA NETWORK (CAN) BASIC AND TECHNICAL OVERVIEW


 What is CAN?
CAN (Controller Area Network) is a multiplexed serial communication channel which is data/information are transferred among distributed to/from and electronic modules.
 
1. Why CAN?
        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.
 Typical CAN application on vehicle are illustrated as below.


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