Enter into Zilicon Zone


RocketTheme Joomla Templates


Read more...
Introduction to Controller Area Network (CAN Bus) Print E-mail
Save this page
Delicious
YahooMyWeb
Stumble
NewsVine
Reddit
YahooMyWeb
Technorati
Written by Parthiban Kesavan   
Remote Frame:
Remote frame is determined by the Remote Transmission Request (RTR) bit in the Arbitration field. If this bit is dominant then it means that this frame is a Data frame. If this RTR bit is recessive then it is a request for data. In this way, during an arbitration process a data frame dominates over a remote frame with a same Identifier. This frame will not have any data. These frames are sent out in a regular basis to update the values from the sensors in the system.

Error Frame:
The receiver sends the Error frame when it detects an error in the receiving frame. By doing so it makes all the nodes in the network to ignore the message which is currently on the bus. This frame can be sent out at any time but before the completion of Data or Remote frame. The transmitter constantly monitors the bus while transmitting and stops its transmission when it detects an error frame. After detecting the error frame, the transmitting node tries to send the message again when the bus is idle for the next time.

Over load Frame:
This is equivalent to a data frame which is sent by a busy node. 

Error confinements
CAN controllers of each node in the network have error counters for transmit and receive messages respectively. Every error message will increment this counter value. Transmission errors have a weighting of 8 and increment the Transmit Error counter whereas the Receive Errors have a weighting of 1and increment the Receive Error counter. For every successful transmission or reception of messages the counter values are decrement by one.

Depending upon these counter values, each node can be in one of the following states.

Error Active mode
In this mode the node is working normally. It can take part in communication and send error flags when it detects an error frame, thereby destroying the transmitted frame. In this state the counts of both the error counter would be less than 127. When the error count reaches zero, these node will return to normal mode form error active mode.

Error Passive mode
When the Error Counters exceed 127, then the node transforms itself from Error active to Error Passive mode. The Node is still capable of sending and receiving messages. This node is not allowed to send any error frames with active error flags, instead it is allowed to send out error frames with passive error flags.

After an Error frame, this node has to wait for certain bit times to start its retransmission. By these tedious procedures the Nodes with higher error counts are limited by the bus to avoid their interference in the communication. Obviously the node becomes error active again at the point where its error count falls below 127.

Buss off state

If an Error counter of a node reaches 255, then the node gets isolated from the bus by transforming itself from error passive to buss off state. In bus off mode the node can only receive and cannot transmit. Because only the transmit errors have caused the node to be off the bus.

When the error counts reach 128 or below then the node come back to error passive node and take part in communication again. Otherwise by resetting the error counters and the CAN controller, they can take part in communication after 128 occurrences of 11 consecutive bits.

The following figure may help to understand the error states more clearly.
CAN Error State machine
CAN Error State machine

Errors during communication can also occur by external forces, that is why the CAN systems are designed to reduce their error counters once they successfully transmit or receive messages.

Reference
1. Introduction to Controller Area Network, Texas Instruments. 
2. Controller Area Netwrok www.mjschofield.com
3. An overview of Controller Area Network, www.MachineBus.com


 
VLSI-world.com