1.0 Introduction To Emedded Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

UNIT 1: Introduction to Embedded Systems

Definition of Embedded System, Embedded System Vs General Computing


Systems, Classification.
Major application areas. Purposes/ specific features, Recent Trends

CHAPTER 1: INTRODUCTION TO EMBEDDED SYSTEMS


DEFINITION OF EMBEDDED SYSTEM

An Electronic/Electro mechanical system which is designed to perform a specific task


and is a combination of both hardware and firmware (Software) is called an embedded system
(ES). An embedded system is a dedicated system which performs the desired function upon
power up, repeatedly.

E.g. Electronic Toys, Mobile Handsets, Washing Machines, Air Conditioners,


Automotive Control Units, Set Top Box, DVD Player etc.

Embedded Systems are:

i. Unique in character and behavior.


ii. With specialized hardware and software.

ARCHITECTURE OF EMBEDDED SYSTEMS WITH BLOCK DIAGRAM

The architecture of an embedded system can be understood with the help of block
diagram show in figure below. ES is a combination of hardware and software where software is
usually known as firmware that is embedded into the hardware.

Fig. Basic block diagram of an embedded system.

Timer/ Interrupt
Counter Controller

Power Program Data Application


Supply Memory Processor Memory Circuits

Parallel Serial
Port Ports

Page 1 of 10
Embedded System Software:
The software of an embedded system is written to execute a particular function. It is
normally written in a high-level setup and then compiled down to offer code that can be stuck
within a non-volatile memory in the hardware. Embedded system software is intended to keep in
view of the following three limits:
 Convenience of system memory.
 Convenience of processor’s speed.
 When the embedded system runs constantly, there is a necessity to limit power
dissipation for actions like run, stop and wake up.
Embedded System Hardware:
An embedded system uses a hardware platform to perform the operation. Hardware of the
embedded system is assembled with a microprocessor/microcontroller. It has the elements such
as input/output interfaces, memory, user interface and the display unit. Generally, an embedded
system comprises of the following:
 Power Supply.
 Memory.
 Processor.
 Timers.
 Output/Output circuits.
 Serial communication ports
 SASC (System application specific circuits)
Processor: The processor is the heart of embedded system. The selection of processor is based
on the following consideration

 Instruction set.
 Maximum bits of operation on single arithmetic and logical operation.
 Speed.
 Algorithms processing and capability.
 Types of processor (microprocessor, microcontroller, digital signal processor, application
specific processor, general purpose processor).

Power source: Internal power supply is must. ES require from power up to power down to start
time task. Also it can run continuously that is stay “On’ system consumes total power hence
efficient real time programming by using proper ‘wait’ and ‘stop’ instruction or disable some
unit which are not in use can save or limit power consumption.
Clock / oscillator Circuits: The clock circuit is used for CPU, system timers, and CPU machine
cycles clock controls the time for executing an instruction. Clock oscillator may be internal or
external .It should be highly stable.

Page 2 of 10
Real time clock (RTC): It require maintaining scheduling various tasks and for real time
programming RTC also use for driving timers, counters needs in the system.
Resets circuit and power on reset: Reset process starts executing various instructions from the
starting address. The address is set by the processor in the program counter. The reset step resent
and runs the program in the following way:

 System program that execute from beginning.


 System boot up program.
 System initialization program.

Memory: A system embeds either in the internal flash or ROM, PROM or in an external flash or
ROM or PROM of the microcontroller. ROM is used for permanent storage of programs and
RAM is used to store the data generated during the execution of a program. ROM has limited
capacity of storage and hence secondary memories are used for the storage of information or
data.
EMBEDDED SYSTEMS VS GENERAL COMPUTING SYSTEMS

General Purpose Computing System Embedded System

A system which is a combination of generic A system which is a combination of special


hardware and General Purpose Operating purpose hardware and embedded OS for
System (OS) for executing a variety of executing a specific set of applications.
applications.

Contain a General Purpose Operating May or may not contain an operating


System (GPOS). system for functioning.

Applications are alterable (programmable) The firmware of the embedded system is


by user (It is possible for the end user to re- pre-programmed and it is non-alterable by
install the Operating System, and add or end-user.
remove user (applications).

Performance is the key deciding factor on Application specific requirements (like


the selection of the system. Always “Faster performance, power requirements, memory
is Better” usage etc.) are the key deciding factors

Less/not at all tailored towards reduced Highly tailored to take advantage of the
operating power requirements, options for power saving modes supported by
different levels of power management. hardware and Operating System.

Response requirements are not time critical. For certain category of embedded systems
like mission critical systems, the response
time requirement is highly critical.

Page 3 of 10
Need not be deterministic in execution Execution behavior is deterministic for
behavior. certain type of embedded systems like “Hard
Real Time” systems.

HISTORY OF EMBEDDED SYSTEMS

First Recognized Modern Embedded System: Apollo Guidance Computer (AGC) developed by
Charles Stark Draper at the MIT Instrumentation Laboratory.

Its features are:

1. It has two modules


i. Command module (CM).
ii. Lunar Excursion module (LEM).
2. RAM size 256, 1K, 2K words.
3. ROM size 4K, 10K, 36K words.
4. Clock frequency is 1.024MHz.
5. 5000, 3-input RTL NOR gates are used.
6. User interface is DSKY (display/Keyboard).
7. First Mass Produced Embedded System: Autonetics D-17 Guidance computer for
Minuteman-I missile.

CLASSIFICATION

Embedded systems are classified on the following basis:

1. Based on Generation.
2. Based on Complexity & Performance Requirements.
3. Based on deterministic behavior.
4. Based on Triggering.

1. Embedded Systems - Classification based on Generation

First Generation: The early embedded systems built around 8-bit microprocessors like 8085
and Z80 and 4-bit microcontrollers.

E.g. Stepper motor control units, Digital Telephone Keypads etc.

Page 4 of 10
Second Generation: Embedded Systems built around 16-bit microprocessors and 8 or 16-bit
microcontrollers, following the first generation embedded systems.

E.g. SCADA, Data Acquisition Systems etc.

Third Generation: Embedded Systems built around high performance 16/32 bit
Microprocessors/controllers, Application Specific Instruction set processors like Digital
Signal Processors (DSPs), and Application Specific Integrated Circuits (ASICs). The
instruction set is complex and powerful.

E.g. Robotics, industrial process control, networking etc.

Fourth Generation: Embedded Systems built around System on Chips (SoC’s),


Reconfigurable processors and multi-core processors. It brings high performance, tight
integration and miniaturization into the embedded device market.

E.g. Smart phone devices, MIDs etc.

2. Embedded Systems - Classification based on Complexity & Performance

Small Scale: The embedded systems built around low performance and low cost 8 or 16 bit
microprocessors/ microcontrollers. It is suitable for simple applications and where
performance is not time critical. It may or may not contain OS.

Medium Scale: Embedded Systems built around medium performance, low cost 16 or 32 bit
microprocessors / microcontrollers or DSPs. These are slightly complex in hardware and
firmware. It may contain GPOS/RTOS.

Large Scale/Complex: Embedded Systems built around high performance 32 or 64 bit RISC
processors/controllers, RSoC or multi-core processors and PLD. It requires complex
hardware and software. These system may contain multiple processors/controllers and co-
units/hardware accelerators for offloading the processing requirements from the main
processor. It contains RTOS for scheduling, prioritization and management.

3. Embedded Systems - Classification Based on deterministic behavior:


It is applicable for Real Time systems. The application/task execution behavior for an
embedded system can be either deterministic or non-deterministic. These are classified into two
types:
i. Soft Real time Systems: Missing a deadline may not be critical and can be tolerated to a
certain degree.

ii. Hard Real time systems: Missing a program/task execution time deadline can have
catastrophic consequences (financial, human loss of life, etc.).

Page 5 of 10
4. Embedded Systems - Classification Based on Triggering:
These are classified into two types:
i. Event Triggered : Activities within the system (e.g., task run-times) are dynamic and
depend upon occurrence of different events.
ii. Time triggered: Activities within the system follow a statically computed schedule (i.e.,
they are allocated time slots during which they can take place) and thus by nature are
predictable.

MAJOR APPLICATION AREAS

1. Consumer Electronics: Camcorders, Cameras etc.


2. Household Appliances: Television, DVD players, washing machine, Fridge, Microwave
Oven etc.
3. Home Automation and Security Systems: Air conditioners, sprinklers, Intruder detection
alarms, Closed Circuit Television Cameras, Fire alarms etc.
4. Automotive Industry: Anti-lock breaking systems (ABS), Engine Control, Ignition
Systems, Automatic Navigation Systems etc.
5. Telecom: Cellular Telephones, Telephone switches, Handset Multimedia Applications
etc.
6. Computer Peripherals: Printers, Scanners, Fax machines etc.
7. Computer Networking Systems: Network Routers, Switches, Hubs, Firewalls etc.
8. Health Care: Different Kinds of Scanners, EEG, ECG Machines etc.
9. Measurement & Instrumentation: Digital multi meters, Digital CROs, Logic Analyzers
PLC systems etc.
10. Banking & Retail: Automatic Teller Machines (ATM) and Currency counters, Point of
Sales (POS).
11. Card Readers: Barcode, Smart Card Readers, Hand held Devices etc.

CHARACTERISTICS (FEATURES) OF EMBEDDED SYSTEMS

Embedded systems possess certain specific characteristics and these are unique to each
embedded system. The characteristics of embedded systems are:

1. Application and domain specific


2. Reactive and Real Time
3. Operates in harsh environments
4. Distributed
5. Small Size and weight
6. Power concerns
7. Single-functioned
8. Complex functionality
9. Tightly-constrained
10. Safety-critical
Page 6 of 10
1. Application and Domain Specific:
 Each E.S has certain functions to perform and they are developed in such a manner to do
the intended functions only.
 They cannot be used for any other purpose.
E.g. – The embedded control units of the microwave oven cannot be replaced with AC’S
embedded control unit because the embedded control units of microwave oven and AC
are specifically designed to perform certain specific tasks.
2. Reactive and Real Time:
 E.S are in constant interaction with the real world through sensors and user-defined input
devices which are connected to the input port of the system.
 Any changes in the real world are captured by the sensors or input devices in real time
and the control algorithm running inside the unit reacts in a designed manner to bring the
controlled output variables to the desired level.
 E.S produce changes in output in response to the changes in the input, so they are
referred as reactive systems.
 Real Time system operation means the timing behavior of the system should be
deterministic ie the system should respond to requests in a known amount of time.
E.g. – E.S which are mission critical like flight control systems, Antilock Brake Systems
(ABS) etc are Real Time systems.
3. Operates in Harsh Environment :
 The design of E.S should take care of the operating conditions of the area where the
system is going to implement.
E.g. – If the system needs to be deployed in a high temperature zone, then all the
components used in the system should be of high temperature grade.
 Also proper shock absorption techniques should be provided to systems which are going
to be commissioned in places subject to high shock.
4. Distributed:
 It means that embedded systems may be a part of a larger system.
 Many numbers of such distributed embedded systems form a single large embedded
control unit.
E.g. – Automatic vending machine. It contains a card reader, a vending unit etc. Each of
them are independent embedded units but they work together to perform the overall
vending function.
5. Small Size and Weight:
 Product aesthetics (size, weight, shape, style, etc.) is an important factor in choosing a
product.
 It is convenient to handle a compact device than a bulky product.

Page 7 of 10
6. Power Concerns:
 Power management is another important factor that needs to be considered in designing
embedded systems.
 E.S should be designed in such a way as to minimize the heat dissipation by the system.
7. Single-functioned:
 Dedicated to perform a single function.
8. Complex functionality:
 We have to run sophisticated algorithms or multiple algorithms in some applications.
9. Tightly-constrained:
 Low cost, low power, small, fast, etc.
10. Safety-critical:
 Must not endanger human life and the environment.
EMBEDDED SYSTEM DESIGN FLOW/PROCESS

This section provides an overview of the embedded system design process aimed at two
objectives. First, it will give us an introduction to the various steps in embedded system design
before we delve into them in more detail. Second, it will allow us to consider the design
methodology itself. A design methodology is important for three reasons. First, it allows us to
keep a scorecard on a design to ensure that we have done everything we need to do, such as
optimizing performance or performing functional tests. Second, it allows us to develop
computer-aided design tools. Developing a single program that takes in a concept for an
embedded system and emits a completed design would be a daunting task, but by first breaking
the process into manageable steps, we can work on automating (or at least semi automating) the
steps one at a time. Third, a design methodology makes it much easier for members of a design
team to communicate.

The below Figure summarizes the major steps in the embedded system design process. In
this top–down view, we start with the system requirements.

Page 8 of 10
Requirements

Specification

Bottom-Up Design
Top-Down Design
Architecture

Components

System Integration

Fig. Embedded system process flow.

Requirements:
Clearly, before we design a system, we must know what we are designing. The initial
stages of the design process capture this information for use in creating the architecture and
components. We generally proceed in two phases: First, we gather an informal description from
the customers known as requirements, and we refine the requirements into a specification that
contains enough information to begin designing the system architecture.

Requirements may be functional or nonfunctional. We must of course capture the basic


functions of the embedded system, but functional description is often not sufficient. Typical
nonfunctional requirements include:

a. Performance
b. Cost
c. Physical size and weight
d. Power consumption
e. Name
f. Purpose
g. Inputs and outputs
h. Functions
i. Manufacturing cost
j. Power
k. Physical size and weight

Specification:
The specification is more precise—it serves as the contract between the customer and the
architects. As such, the specification must be carefully written so that it accurately reflects the

Page 9 of 10
customer’s requirements and does so in a way that can be clearly followed during design. The
specification should be understandable enough so that someone can verify that it meets system
requirements and overall expectations of the customer.

Architecture Design:
The specification does not say how the system does things, only what the system does.
Describing how the system implements those functions is the purpose of the architecture. The
architecture is a plan for the overall structure of the system that will be used later to design the
components that make up the architecture. The creation of the architecture is the first phase of
what many designers think of as design.

Components:
The architectural description tells us what components we need. The component design
effort builds those components in conformance to the architecture and specification. The
components will in general include both hardware—FPGAs, boards, and so on—and software
modules. Some of the components will be ready-made. The CPU, for example, will be a standard
component in almost all cases, as will memory chips and many other components.

System Integration:
Only after the components are built do we have the satisfaction of putting them together and
seeing a working system. Of course, this phase usually consists of a lot more than just plugging
everything together and standing back. Bugs are typically found during system integration, and
good planning can help us find the bugs quickly. By building up the system in phases and
running properly chosen tests, we can often find bugs more easily. If we debug only a few
modules at a time, we are more likely to uncover the simple bugs and able to easily recognize
them. Only by fixing the simple bugs early will we be able to uncover the more complex or
obscure bugs that can be identified only by giving the system a hard workout.

Page 10 of 10

You might also like