Controller area network

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.


'Distributed' real-time control systems, based on an operating system located within a single processor, interconnected by a communication network with distributed processors are currently providing a significant addition to 'parallel' systems. In addition to the simple exchange of data, the processing must be synchronized, in other words, the execution must follow certain interrelated logical sequences. In these systems, the messages relating to synchronization are generally short. They can be created by any processor event in the system and must be simultaneously receiving, in order to maintain the coherence of parallel processing. All stations independently generate messages concerning their respective tasks at random (event-triggered) instants. The transmission requests contend with each other for access to the bus, leading to latencies which are variable rather than constant. In today's world, there are numerous applications of distributed control systems, need for communication bus protocols with better arbitration techniques, low latency and error processing techniques. One such distributed network control system exists in today's modern automotives. As there are many electronic control systems in modern vehicles like Anti-lock brake system, Adaptive Cruise control, engine management etc. All these subsystems will work in co-operative way for smooth running of complete system. For system to work, communication between the subsystems plays important role. One such communication protocol in automotives is Controller Area Network (CAN) [1], [2], [8].

CAN is a serial communication protocol developed mainly for applications in the automotive industry but is also capable of offering good performance in other time critical industrial applications. The CAN protocol is optimized for short messages and uses a CSMA/arbitration on message priority (CSMA/AMP) medium access method. Thus the protocol is message oriented, and each message has a specific priority that is used to arbitrate access to the bus in case of simultaneous transmission. The bit stream of a transmission is synchronized on the start bit, and the arbitration is performed on the following message identifier, in which a logic zero is dominant over a logic one. A node that wants to transmit a message waits until the bus is free and then starts to send the identifier of message bit by bit. Conflicts for access to the bus are resolved during transmission by an arbitration process at the bit level of the arbitration field, which is the initial part of each frame. Hence, if two devices want to send messages at the same time, they first continue to send the message frames and then listen to the network. If one of them receives a bit different from the one it sends out, it loses the right to continue to send its message, and the other wins the arbitration. With this method, an ongoing transmission is never corrupted [2], [8].

In a CAN-based network, data are transmitted and received using message frames that carry data from a transmitting node to one or more receiving nodes. Transmitted data do not necessarily contain addresses of either the source or the destination of the message. Instead, each message is labeled by an identifier that is unique throughout the network. All other nodes on the network receive the message and accept or reject it, depending on the configuration of mask filters for the identifier. This mode of operation is known as multicast [8].

CAN is a deterministic protocol optimized for short messages. The message priority is specified in the arbitration field. Higher priority messages always gain access to the medium during arbitration. Therefore, there would be transmission delay depending on the priority of messages. The major disadvantage of CAN compared with the other networks is the slow data rate. Thus the throughput is limited compared with other control networks. The bit-synchronization requirement of the CAN protocol also limits the maximum length of a network [1], [8].

Historical Context of CAN:

A little history always helps us to understand the present. Over the years, there has been an evolution in how communication is handled between electronic devices within automobiles. Traditionally, a wiring harness carried messages throughout the car. But with the dramatic increase in the amount of electronics in a car, the wiring harness grew in complexity, cost, and weight. It soon became a nightmare to install and its overall reliability declined. In an effort to alleviate some of the problems created by the growing wiring harness, the automotive manufacturers started installing communication buses that allowed multiple electronic devices to communicate via shared wiring. The cost savings due to these bus architectures made them immediately popular with the automotive manufacturers and consequently several UART (universal asynchronous receiver transmitter) protocols emerged. Unfortunately, the manufacturers did not standardize on the same multiplexing strategies, which resulted in the automotive suppliers constantly struggling to keep up with the nuances in the technology.

In 1980's shortly after the appearance of the I2C and D2B 'serial type' buses in the market, many companies concerned with industrial applications and some major car manufacturers became interested in communication systems operating (almost) in real time between different microcontrollers, especially for Multiplexed Networks for engine control, automatic transmission and antiskid braking systems. For several years, these companies tried to fill the gap by attempting to combine I2C with D2B, in the absence of dedicated solutions. This form of communication management provided no support or very poor support for multi master communications, and other devices had to be devised and developed. Moreover, their maximum bit rate and the security of the information carried were inadequate. Consequently, there was a gap due to the absence of a bus capable of providing 'fast' multi master communications, operating over a 'correct' distance and 'insensitive' to its carrier. The leading German motor components company R. Bosch GmbH took the decision to develop a communication protocol orientated towards 'distributed systems', operating in real time and meeting all the company's requirements. This was the start of the development of CAN. Finally, in the middle of 1987, the reality took shape in the form of the first functional chips, and in 1991 a first top-range vehicle (German) rolled off the production line, complete with five electronic control units (ECUs) and a CAN bus operating at 500 kbit/sec. Many semiconductor and microcontroller vendors like Intel, Motorola, Philips and ST microelectronics have designed and developed IP cores of CAN and integrated with their products targeting automotive and industrial control verticals. However these IP cores lack proper clock synchronization and error containment [1], [3].

Society of Automotive Engineers (SAE) decided to standardize the allowable multiplexing networks within automobiles, which resulted in three classes of data communications standards. Each class is designed with specific systems in mind.

SAE J2057/2 class A multiplexing actuators and SAE J2057/3 Class A multiplexing sensors are low speed communication protocols under SAE Class A. For nodes that need to communicate at medium speeds, the class B data communications network is used. To communicate at this speed, at the present time SAE has approved one bus architecture called J1850, which is an open architecture bus allowing nodes to be added or deleted easily without affecting other nodes. Controller Area Network comes under Class C communication standards, which is used for time critical and human critical applications like engine control and anti-lock brakes etc.

Necessity of communication protocol like CAN:

To improve the behavior of the vehicle even further, it was necessary for the different control systems (and their sensors) to exchange information. This was usually done by discrete interconnection of the different systems (i.e. point to point wiring) as shown in fig.1.1. The requirement for information exchange has then grown to such an extent that a cable network with a length of up to several miles and many connectors was required. This produced growing problems concerning material cost, production time and reliability. The solution to this problem was the connection of the control systems via a serial bus system. This bus had to fulfill some special requirements due to its usage in a vehicle. With the use of CAN, point-to-point wiring is replaced by one serial bus connecting all control systems. This is accomplished by adding some CAN-specific hardware to each control unit that provides the "rules" or the protocol for transmitting and receiving information via the bus. Implementing the CAN based network of subsystems as shown in fig 1.2 will reduce the complexity, production and maintenance costs.

By the virtue of inexpensive microcontrollers, the concept of smart modules has been introduced, where several components including transducer, microcontroller, and network transceiver are combined into a single module to reduce the processing load of the ECU. The smart module executes several functions as a single body: it senses the signal from the transducer, converts the signal from analog-to-digital (AD) data, and directly transmits the digital data to the ECU through the transmission medium of the in-vehicle networking system [3].

However, two problems are encountered if smart modules are widely applied in vehicle networking systems. First, the smart module needs to be independent of the In-vehicle networking (IVN) protocol type. Currently, several in-vehicle networking protocols including CAN, LIN, and TTP/C are used by various automobile manufacturers and are widely applied to many types of cars. Hence, transducer manufacturers have to develop smart modules that support all of the existing in-vehicle networking protocols. Since this is difficult, the introduction of smart modules has made slow progress. Second, if a smart module fails, the replacement module must be inexpensive. In general, because the cost of a microcontroller and network transceiver is relatively high compared to that of a transducer, the replacement cost of a smart transducer is much higher than that of a conventional transducer. Therefore, smart modules should be designed so that the transducer can be replaced without changing the microcontroller and network transceiver [19].

Distributed measurement and control application system is preferred for plant automation at present due to distributed burden, easy system growth, lower chance of data losses, reduction in communication throughput and ease of measuring simultaneous events. These systems are modeled as a collection of computers, instruments, transducers etc. termed as nodes. Each node comprises of a smart transducer with network interface. They are communicating each other through a multi-drop field bus. The transducers may be sensor or actuator which are basically measurement and actuation interface to the physical world. Many researchers are trying to build the better distributed control systems using different interface standards. Network interface IEEE 1451 standard is one such standard can be implemented using different field buses both wireline and wireless. Major Wireline buses used are by researchers are RS-485, modbus, profibus and Ethernet. Wireless protocols like Bluetooth and Zigbee are also used. And other major wireline protocols like CAN, LIN (Local Interconnect Network) used in few cases.

Several protocols for a control network system, including the controller area network (CAN), J1850, Ethernet, RS-485, RS-232 protocols, have been developed to interconnect electronic components. Smart transducer needs to be independent of the protocol type used for communication. Hence, transducer manufacturers have to develop smart transducer that supports all of the existing protocols. Since this is a tedious task, the application of smart transducers in different areas is difficult. In the Automotive Electronics field, in-vehicle networking is done between various subsystems, sensors and actuators. The most popular protocol used in in-vehicle networking is CAN. For better interfaces between sensors and modules and to solve the above said problems, few researchers came up with solution with IEEE 1451 standards and CAN [12][14]. The block diagram is shown in below figure. But all the solutions use two microcontrollers, one for Smart Transducer Interface Module (STIM) and another for Network Capable Application Processor (NCAP) using CAN. Developing the IEEE 1451 smart transducer interface with CAN using one microcontroller, i.e. designing both STIM and NCAP in single microcontroller will reduce the cost, delay and complexity in wiring.

IEEE 1451 is an international standard for a smart transducer, which was developed for factory and process automation. It specifies that the signal sensing and conversion functions of a smart transducer must be separate from the signal processing and transmission functions. As a result of applying IEEE 1451 to in-vehicle networking systems, sensor manufacturers will be able to develop a smart module that is independent of the type of network protocol. The smart module can be easily replaced without changing the communication program for the in-vehicle networking systems.

Recently, various electronic control techniques and control systems, such as anti-lock braking system, active suspension system, traction control system, and so on are being developed greatly and applied widely to improve the ride comfort, safety and operation stability in vehicle. However, most of these control subsystems all implement their functions independently. In fact, the control system of vehicle is a complicated system, the performances of vehicle depend not only every subsystem and but also the relationship of these subsystems strongly. The study of the integrated control of these subsystems is very important to improve the synthetic performances and advance the control efficiency. More and more specialists focus their research on the integrated control of vehicle's subsystems.

The control system of vehicle is a complicated system, the performances of vehicle depend not only on every subsystem and but also on the relationship of these subsystems strongly. The study of the integrated control of these subsystems is very important to improve the synthetic performances and advance the control efficiency. To have proper synchronization in functioning of both modules, data transfer between the sub modules should be proper and reliable. Applying CAN protocol for reliable communications will lead to better integrated control systems in vehicles.

Anti-lock brake system (ABS) is one of the critical systems in the modern vehicles. ABS is designed and tested with different control engineering techniques like PID, sliding mode control. In recent years, similar to ABS, collision avoidance system (CAS) is also making place in modern cars to mitigate lethal accidents. Collision Avoidance is achieved through braking or through steering. Mathematical modeling of both ABS and CAS is complex. Most of the researchers suggest sliding mode control is appropriate for ABS. And decisions taken by CAS mainly depend on data from different sensors. Data fusion algorithms are required to help CAS to take decisions. To avoid collisions, both ABS and CAS systems should synchronize properly. Many researchers have proposed different techniques to improve the performance of both the systems separately. But none of the researchers have proposed integrated control for ABS and CAS. Most tedious part in development of integrated control of these systems is getting appropriate mathematical model for total system (i.e. ABS and CAS). Mathematical model will be complex and applying control technique for that model will be more challenging and getting proper control on system is highly difficult. In most of the situations like this, fuzzy logic comes to help to solve the problems in very easy way. Under these conditions, we must integrate aspects of human intelligence and behaviors so that vehicles can manage driving actuators in a way similar to humans. Fuzzy logic controllers serve the purpose. In this research, we focus on design, development and implementation of integrated control of ABS and CAS using fuzzy logic. CAN protocol play a vital role in implementation of this integrated control, as a high level protocol which establishes communication between different systems and sensors.

CAN has been traditionally considered suitable for the development of medium range critical applications, and unsuitable for highly real-time critical applications, because as it is defined-it presents several limitations with respect to dependability.

The main dependability limitations of CAN are agreed to be the following:

  • Low bit rate;
  • Limited error containment;
  • Limited data consistency;
  • Lack of clock synchronization.
  • Hardware complexity and need for separate transceiver; (two chips controller and transceiver required)

Solving the above mentioned CAN problems is very wide area for research. Many researchers have made major contributions and came up with different variety of solutions especially for clock synchronization and error containment. [53], [10]

Even though most of the microcontrollers today targeted towards Automotive and Industrial Control verticals will have on-chip CAN interfaces. Few researchers have tried to implement few sub-blocks of CAN controller in FPGA.

ASIC implementation of CAN is as single chip solution and simulation results are given in [8]. CAN node designed is not capable of sending active error frame, overload frame and acknowledge frame, but it can receive the same from other nodes. Another major lacking in this work is quality sign off. Detailed timing and power analysis signoff is not performed. [8]

In this research we focus on design and development of complete CAN controller and its ASIC implementation at 65 nm technology. Once ASIC for CAN is implemented further research can be carried out to solve the problems in CAN (like clock synchronization, low bit rate and error containment).

In this research we focus on design and development of complete CAN controller and its ASIC implementation at 65nm technology. Design and development of CAN controller and its ASIC implementation with better error confinement facilities and quality signoff is achieved.

Once ASIC for CAN is implemented further research can be carried out to solve the problems in CAN (like clock synchronization, low bit rate and error containment)

The complete and detailed study of specifications of Controller Area Network is carried out. In depth literature survey is done to find out the major research areas coming under the hood of Controller Area Network. The major research areas under CAN are: Research in standardizing interfaces for different transducers and actuators, applying CAN effectively in developing better automotive control systems and finally, solving problems related to CAN protocol itself. In this thesis we focus on design and development of single chip solution for CAN controller with better error confinement features. [10], [55].

Problems being addressed:

The problems being addressed are:

  1. Applying IEEE 1451 to in-vehicle networking systems, sensor manufacturers will be able to develop a smart module that is independent of the type of network protocol. Implementation of CAN network on Motorola MC9S12DP256 microcontroller for temperature control.
  2. Design, development and implementation of integrated control system for Anti-lock Brake system and collision avoidance system using CAN for electric vehicles. In this research, integrated control of Anti-lock brake systems (ABS) and collision avoidance system (CAS) is developed. The integrated control algorithm developed based on fuzzy logic. A high-level protocol CAN is adopted to interconnect the subsystems for reliable communications among ABS, CAS and sensors.
  3. Design, development and ASIC implementation of single chip solution for the CAN controller with better error confinement and quality signoff.

Organization of the thesis:

The organization of thesis is as follows:

Chapter 2 presents and discusses the Robert Bosch Specifications of controller area network.

Chapter-3: The third chapter describes about IEEE 1451 standards and implementation details of IEEE 1451 standard transducer interface for CAN protocol. IEEE 1451 standards are implemented for temperature sensor using CAN protocol successfully on Freescale HCS12 microcontroller. So better interface between sensors and processing systems can be established in CAN based networked systems.

Chapter-4: The fourth chapter describes CAN for integrated control systems, brief study of Anti-lock brake system and collision avoidance system. Basics of fuzzy logic, description of fuzzy engine of HCS12 microcontroller, fuzzy algorithm for integrated control of Anti-lock brake system and collision avoidance system, its implementation details are given. The fuzzy algorithm for anti-lock brake system and collision avoidance is experimentally tested using HCS12 microcontroller.

Chapter-5: presents architecture of CAN protocol controller, finite state machines of sub modules of CAN. This chapter also describes design and development of CAN controller and its ASIC implementation with better error confinement facilities and quality signoff.

Chapter-6: conclusions are brought out and some further research scopes are suggested.