Today, CAN controllers are available from over 20 manufacturers, and CAN is finding applications in other fields, such as medical, aerospace, process control, automation, and so on. This book is written for students, for practising engineers, for hobbyists, The Controller Area Network CAN was originally developed to be used as a vehicle data bus system in passenger cars. This book is written for students, for practising engineers, for hobbyists, and for everyone else who may be interested to learn more about the CAN bus and its applications. The aim of this book is to teach you the basic principles of CAN networks and in addition the development of microcontroller based projects using the CAN bus.
|Published (Last):||11 October 2010|
|PDF File Size:||15.50 Mb|
|ePub File Size:||11.29 Mb|
|Price:||Free* [*Free Regsitration Required]|
According to this classification, bus systems were classified based on their bandwidth i. Class A networks are low-speed, low-cost networks with data rates less than 10 kbps. These systems are mainly used in body of the car. Class B networks operate between 10 and kbps and are used for information exchange. Class C networks operate between and 1 Mbps, and are used in a wide range of applications, such as engine control. Class D networks operate above 1 Mbps and they are mainly used in telematics applications.
There are many automotive network systems or bus systems, since the vehicle networks are in the form of bus wires , some developed by vehicle manufacturers on their own, and some developed jointly with semiconductor manufacturers. In this section we shall be looking at the basic properties of this bus together with other automotive busses. It is one of the most widely used automotive busses today. The physical layer of CAN consists of a pair of twisted cables.
CAN provides reliable, robust, and fast communication up to 1 Mbps with 40m bus length. CAN 2. Each CAN node monitors the bus and when the node detects that the bus is idle, it may start transmitting data. If other nodes on the bus attempt to send data at the same time, arbitration will take place and the node with the highest priority lowest message identifier will win the arbitration and send its own data.
CAN bus has a simple error detection and recovery mechanism. Receiving nodes check the integrity of the messages by looking at the CRC fields. If an error is detected, the other nodes on the bus are informed by error flag messages. Figure 1. A minimum of two nodes are required to communicate on a bus. Figure 2. The bus is made up of a twisted-pair cable and is terminated at both ends with a resistor so that the bus characteristic resistance is ohms.
Usually, a single ohm resistor is connected to each end of the bus. Although the power rating of the chosen resistor is not particularly important, possible short-circuits to power supplies on the bus should be considered when selecting resistor power rating.
In this method, two 60 ohm resistors and a capacitor are used at each end of the bus. The advantage of this method is that it eliminates high frequency noise from bus lines. Care must be taken to match the resistors so as not to reduce the effective immunity on the bus. Typically, a 4. As in split termination, the biased split termination increases the EMC performance of the bus.
In Figure 2. Both wrong terminating resistor values and wrong termination place cause errors on the bus. Set the meter to measure resistance and connect the two leads of the meter to the ends of a node on the bus see Figure 2. The meter should measure 60 ohms. CAN bus communication is not like the popular Client-Master type communication. In CAN bus, all nodes have the same rights and they can transmit as well as receive data at suitable times.
When the bus is free, any device attached to the bus can start sending a message. When multiple devices attempt to send data at the same time then collisions can occur on the bus. Collisions are detected and avoided using an arbitration mechanism. Devices connected to the bus have no addresses or node IDs , which means that messages are not transmitted from one node to another based on addresses. Instead, all nodes on the bus receive every message transmitted on the bus, and it is up to each node to decide whether or not the received message should be kept or discarded.
A single message can be destined for a particular device on a particular node, or for many nodes, depending on how the bus system is designed. Messages have message identifiers, and acceptance filters on each node decide whether or not to accept a message being transmitted on the bus. Another advantage of having no addresses is that when a device is added to or removed from the bus, no configuration data needs to be changed i. A message with a lower message identifier has a higher priority.
Any communication speed up to the allowed maximum can be set for the devices attached to the bus. Thus, instead of waiting for a node to continuously send data, a request for data can be sent to the node. For example, in a vehicle, where the engine temperature is an important parameter, the system can be designed so that the temperature is sent periodically over the bus.
However, a more elegant solution is to request the temperature as needed. This second approach will minimize bus traffic and CPU loading this increasing performance, while maintaining the integrity. The device that has detected an error immediately notifies all other devices. The transmitting node monitors the bus during the acknowledgement slot. In practice, the number of nodes that can be attached to a bus is limited by the delay time of the bus and electrical load on the bus. We shall now look at each frame in greater detail.
There are essentially two types of CAN protocols: 2. We shall firstly look at the standard CAN 2. There are two types of 2.
The first is capable of sending and receiving 2. The second type of 2. The data frame can be sent in response to a request, or it can be sent whenever it is required to send the value of some parameter to other nodes on the bus e. The bus is normally idle. Then, a standard data frame starts with the start of frame SOF bit, which is followed by an bit identifier and remote transmission request RTR bit.
The control field is 6-bits wide and indicates how many bytes of data are in the data field. The data field can be 0 to 8 bytes and it contains the actual data to be sent.
The data field is followed by the bit checksum CRC field which checks whether or not the received bit sequence is corrupted. The ACK field is 2-bits wide and is used by the transmitting node to receive acknowledgement of a valid frame from any receiver.
The end of message is indicated by a 7-bit end of frame EOF field. Successive frames must be separated by at least 3-bit times, called the interframe space ITM. Figure 3. In fact, this standard was used to send error frames on the bus consisting of 6 dominant bits in sequence. In some applications it may be a requirement to send more than 5 bits of the same polarity e.
This type of situation is handled on the bus by the transmitting node inserting a bit of opposite polarity after the 5th bit. The receiving node then removes this bit. This mechanism is called Bit Stuffing and it allows to synchronize the transmit and receive operations to prevent timing errors. Note that error and overload frames are transmitted without Bit Stuffing. Also, during a reception, if the 6th bit is same as the 5th then a Stuffing Error occurs on the bus. Bit stuffing is not allowed in the static fields of a frame.
The receiving node removed this bit and thus more than 5 dominant bits have successfully been transmitted on the bus. Similarly, in Figure 4. The receiving node again removed the stuffed bit and thus more than 5 recessive bits have successfully been transmitted on the bus.
Books by Dogan Ibrahim
The book assumes that the reader has some knowledge on basic electronics. Your cart is empty. In summary, this book enables the reader to: Examples in the book demonstrate real-life situations in working with CAN. There is 1 item in your cart. Read, highlight, and take notes, across web, tablet, and phone.
CONTROLLER AREA NETWORK PROJECTS DOGAN IBRAHIM PDF
Controller Area Network Projects
Controller Area Network Projects (E-book)