CAN or Controller Area Network is a two
wired half duplex high speed serial network technology. It is basically
used in communication among different devices in a low radius region,
such as in an automobile. A CAN protocol is a CSMA-CD/ASM protocol or
carrier sense multiple access collision detection arbitration on message
priority protocol. CSMA ensures each node must wait for a given period
before sending any message. Collision detection ensures that the
collision is avoided by selecting the messages based on their prescribed
priority.
It provides signaling rate from 125kbps to 1 Mbps. It provides for 2048 different message identifiers.
It is ISO-11898 standard and makes use of the 7 layer Open Systems Interconnection model.
History:
It was developed by Robert Bosch in 1982
and officially released by the Detroit’s society of Automotive
Engineers in 1986. The first car integrating CAN bus was manufactured by
Mercedes Benz in 1992.
ISO 11898 Architecture:
The layered architecture consists of three layers
- Application Layer: It interacts with operating system or the application of CAN device.
- Data Link Layer: It connects the actual data to the protocol in terms of sending, receiving and validating data.
- Physical Layer: It represents the actual hardware.
The standard CAN frame consists of the following bits:
- SOF- Start of Frame. The message starts from this point.
- Identifier: It decides the priority of the message. Lower the binary value, higher is the priority. It is 11 bit.
- RTR– Remote Transmission Request. It is dominant when information is required from another node. Each node receives the request, but only that node whose identifier matches that of the message is the required node. Each node receives the response as well.z
- IDE– Single Identification Extension. If it is dominant, it means a standard CAN identifier with no extension is being transmitted.
- R0– reserved bit.
- DLC– Data Length Code. It defines the length of the data being sent. It is 4 bit
- Data– Up to 64 bit of data can be transmitted.
- CRC– Cyclic Redundancy Check. It contains the checksum (number of bits transmitted) of the preceding application data for error detection.
- ACK– Acknowledge. It is 2 bit. It is dominant if an accurate message is received.
- EOF– end of frame. It marks end of can frame and disables bit stuffing.
- IFS– Inter Frame Space. It contains the time required by the controller to move a correctly received frame to its proper position.
5 Different message types are:
- Data Frame: It consists of arbitrary field, data field, crc field and the acknowledge fields.
- Remote Frame: It requests for transmission of data from another node. Here the RTR bit is recessive.
- Error Frame: It is transmitted when a error is detected.
- Overload Frame: It is used to provide delay between messages. It is transmitted when the nodes become too busy.
- Valid Frame: A message is valid if the EOF field is recessive. Else the message is transmitted again.
CAN Physical Layer:
CAN Bus
It consists of two wire serial link-
CAN_H and CAN_L and their voltage levels relative to each other
determine whether a 1 or 0 is transmitted. This is differential
signaling. The current flowing in each signal line is equal but opposite
in direction, resulting in a field-canceling effect that is a key to
low noise emissions. This ensures a balanced differential signaling
which reduces noise coupling and allows high rate of transmission over
the wires. Usually the wires are twisted pair cables with bus length of
40 m and maximum of 30 nodes. It is a shielded or unshielded cable with a
characteristic impedance of 120 Ohms.
CAN TRANSCEIVER:
CAN for vehicles by Hugo Provencher. The
two wires CANH and CANL are at normally 2.5V determined by the two
transistors and the 2.5V voltage source. Basically the difference
between the two wires should always be 0. The driver control determines
the voltage applied to the CANH and CANL wires. When both the
transistors are conducting, the voltage drop across the 1st transistor and the diode is 1.5V, making the CANH wire pull up to 3.5V. The voltage drop across the 2nd
transistor and the diode is 1V, making the CANL wire pull down to
1.5V.The diodes are used for high voltage protection. The receiver is a
discriminator circuit which gives an output of 1 when the two inputs
CANH and CANL are same and a output of 0 if the two inputs are
different. The TXD dominant block is used for ground fault protection
and the Thermal shutdown block disables the driver control if the diodes
and the transistors get overheated.
Advantages of CAN:
- It reduces wiring since it is a distributed control and this ensures enhancing of the system performance.
- Many CAN chip manufactures provided the data link layer and the physical layer interfaced to the chip and all the software developer needs to do only is to develop the application coding.
- It provides the ability to work in different electrical environment and ensures noise free transmission.
- Traffic congestion is eliminated as the messages are transmitted based on their priority and it allows the entire network to meet the timing constraints.
- It provides for error free transmission as each node can check for errors during the transmission of the message and send the error frame.
CAN Working Example:
The controller Area Network has vast
applications in Industrial as well as in vehicles. One of the major
applications is involved in communication among the different devices in
a vehicle. Another can be among different microcontrollers, suppose for
detecting password, used to meet any requirements like opening a locker
door using a password or switching on a bulb, etc.
The basic application consists of 3 microcontrollers communicating with each other using two wires as in a CAN network. The 1st microcontroller is interfaced with a keypad, the 2nd with a LCD and the third with a buzzer and a relay operating a lamp. When a password is entered in the keypad, the 2nd microcontroller acts as a receiver and receives the transmitted message bit by bit from the 1st transmitter and displays the message on the LCD. When the whole message is transmitted, the 2nd microcontroller makes the verification and if the password is wrong, it sends a signal to the 3rd microcontroller, which in turn sends buzzer is turned on with this signal. When the password is right, the 3rd microcontroller switches on the relay which in turn switches on the lamp.
No comments:
Post a Comment