Chapter 1
Introduction to Embedded Systems 1
1.1. Introduction
What do a mobile phone, a DVD player, a games console, an ADSL modem, a microwave oven, a car, and a rocket have in common? Our immediate response would be that:
– they are all autonomous electronic devices;
– they contain software designed specifically for a well defined task;
– they communicate with the outside world;
– they operate within an environment which is often outside their control.
All these characteristics are general characteristics of electronic devices that are known as embedded systems (ES). In recent years we have seen a sudden rise in interest in the design techniques involved in embedded systems.
Of course, the subject is hardly new or revolutionary, as we could say that these systems have been around for at least 40 years (for example, the guidance system in the Apollo lunar mission in the 1960s).
What is new is more the fact that today we can observe a convergence of different disciplines which often tend to be overlooked:
– electronics,
– IT,
– telecommunications and networks.
Today, embedded systems are at the heart of this convergence and we will be able to convince ourselves of this throughout this book. Figure 1.1 illustrates this convergence.
This convergence also determines the interdisciplinary nature of design teams. This is what makes embedded systems an exciting field to work in: the task of making information technology (IT), networks and electronics research and development (R&D) teams collaborate on a single subject in a common setting.
This introductory chapter is intended to present the general characteristics of an embedded system and its design. It also aims to provide the important ideas and concepts to support the following chapters.
1.2. Embedded system: a definition
We can see that embedded systems are all around us and assist us in our daily lives. We unknowingly encounter dozens of them each day, while we generally use a single computer for work purposes.
So they are pervasive, omnipresent, discreet, efficient and dedicated to the task for which they were designed. If we try to give a more precise definition of an embedded system, we could say that [KAD 06a]:
An embedded system can be defined as an autonomous electronic and informational system, dedicated to a well defined task.
In general, an embedded system does not have standard or classic inputs and outputs like a keyboard or screen. The physical system and the application are intimately connected, and the embedded software is buried within the material.
Another important property of an embedded system is its ability to communicate with the outside world. This new capability is, of course, connected to the progress of integrating the microelectronics as well as to the trivialization and generalization of network protocol use. The de facto standard internet protocols (TCP/IP protocols), could also have been used in embedded systems, or even integrated directly into the silicon in some cases. The processors used in an embedded system integrate an Ethernet network interface as standard. It is also possible to integrate a wired or wireless internet connection simply by the addition of a small electronic module. Today,controlling an embedded system from a distance has become a reality, and it is completely possible to control an embedded system over the internet via a web browser. Nevertheless, an important problem emerges: communications security in embedded systems in the current situation.
Miniaturization, important integration on silicon, and communications are the essential ingredients for anything verging on ubiquitous computing and the associated electronics.
We should also take note that embedded system is a more general term that can express various ideas depending on the context:
– the embedded systems market;
– the term “embedded systems” may be misused.
1.3. Properties of an embedded system
If we look at the main properties of an embedded system, we can note the following:
– it is principally digital electronic system;
– it generally makes use of an embedded processor;
– it executes a single software application dedicated to a particular well-defined task;
– it does not necessarily have a standard input method, such as a keyboard. It could take input from a button pad, a matrix keyboard, etc. The standard display setup is either limited (light-emitting diodes (LEDs), liquid crystal display (LCD) screen, etc.) or completely absent.
An embedded system is not really a personal computer (PC), but may resemble an industrial PC. It does not make use of the same family of processors, as power consumption is a vital issue for consideration. From this observation, we can see that a standard PC can execute all types of applications as it is designed for general purposes, while an embedded system can only execute a single dedicated application. Furthermore, digital or analog circuits are used to augment the performance of the embedded system and/or its reliability. These circuits allow us to accelerate the procedure while the processor brings the flexibility of software programming.
Figure 1.2 presents the main properties of a typical embedded system [KAD 07, ZUR 06].
At the input stage we generally find analog sensors coupled to analog/digital converters. The digital sensors are interfaced directly to the processor.
At the output stage we generally find analog actuators coupled to digital/analog converters. The digital actuators are interfaced directly to the processor.
At the heart of the system we find the calculator, which uses the embedded processor and its various associated input/output devices. It generally relies on one or more FPGA (field programming gate array) programmable logical circuits, or even one or more application specific integrated circuits (ASICs) playing the role of coprocessor(s) in order to accelerate the operation of the embedded processor.
We, therefore, have a control system with feedback between the outputs and inputs. We control the actuators according to the information received from the sensors and the control laws implanted in the calculator.
An important factor affects this scheme: the role of the external environment. In contrast to a PC, an embedded system must operate in more hostile surroundings. It must deal with several aggressive factors:
– variations in temperature;
– vibrations, shocks;
– variations in input power;
– radiofrequency interference;
– corrosion;
– water, fire;
– ionizing radiation;
– etc.
It is not possible to monitor the environment in which the embedded system operates. Therefore, it is necessary to take account of this effect during the design phase. We must, for example, take account of the changes in the electrical properties of the components as a function of temperature, ionizing radiation (hardening), etc.
1.4. The significance of Moore’s Law
The omnipresence of embedded systems in our lives is linked to the digital revolution that occurred in the 1970s with the advent of processors. The ever faster, more powerful, and cheaper processors enabled this revolution and also the boom in the embedded systems market.
This is confirmed by the empirical law proposed by Gordon Moore, cofounder of Intel, which stipulates that for a given surface area of silicon, the number of transistors integrated on it doubles every 2 years. Figure 1.3 shows this evolution in integration for processors in the Intel family.
The choice of processor family and version are, therefore, important in the design stage of an embedded system. There is also a choice to be made between a microprocessor, microcontroller, or digital signal processor (DSP) version.
Preferentially we use the microcontroll...