Embedded Systems - Unit 1

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

EMBEDDED SYSTEMS

UNIT-1
EMBEDDED
ARCHITECTURE
TOPICS COVERED
 Embedded Computers
 Characteristics of Embedded Computing Applications
 Challenges in Embedded System Design
 Embedded System Design Process –
Requirements,
Specification,
Architectural Design,
 Designing Hardware and Software Components,
System Integration.
EMBEDDED COMPUTERS
Computers have been embedded into applications
since the earliest days of computing.
Eg : Whirlwind
A computer designed at MIT in the late 1940s and
early 1950s.
Support real-time operation
It has a mechanism for controlling an aircraft
simulator.
Extremely large physically when compared to
today’s computers (e.g., it contained over 4,000
vacuum tubes)
Computers were proposed to control chemical
processes in the late 1940s
A microprocessor is a single-chip CPU.
The first microprocessor, the Intel 4004,was
designed for an embedded application
Eg: Calculator.

The calculator is not a general-purpose computer it


provides basic arithmetic functions.
 Integrated circuit design are expensive and time
consuming process, the ability to reuse the
hardware design by changing the software was a
key breakthrough.
Microprocessors are classified based on their word size.
An 8-bit microcontroller is designed for low-cost
applications and includes on-board memory and I/O devices.

A 16-bit microcontroller is often used for applications that


require either longer word lengths or off-chip I/O and
memory.

32-bit RISC microprocessor offers very high performance


for computation-intensive applications.
• Microprocessor types

 Microwave oven -has one microprocessor to control oven


operation.
 Advanced thermostat systems- change the temperature
level at various times during the day.
 Modern camera –has powerful features that can be added
under microprocessor control.
 Digital television -uses embedded processors
Characteristics of Embedded Computing
Applications

1.Complex algorithms: The operations performed by


the microprocessor may be very complex.

Eg: The microprocessor that controls an automobile


engine must performs filtering functions to optimize
the performance of the car while minimizing
pollution and fuel utilization.
2.User interface: Microprocessors are frequently
used to control complex user interfaces that may
include multiple menus and many options.
• Eg: Global Positioning System (GPS)
3.Real time: Many embedded computing systems have to
perform in real time.
• If the data is not ready by a certain deadline, the system
breaks.
• Missing deadlines in printers can result in scrambled pages.
4. Multirate: Several real-time activities run at the same
time. Simultaneously control some operations that run at
slow rates and others that run at high rates.
Eg: Multimedia applications
• The audio and video portions of a stream should be
synchronized. If failed entire presentation is spoiled.
5.Manufacturing cost: The total cost of building the system is
very important.
Manufacturing cost is determined by factors such as

 Type of microprocessor used


 The amount of memory required
 The types of I/O devices.
6.Power and energy: Power consumption directly
affects the cost of the hardware.
Energy consumption
• Affects battery life
• Heat consumption in desktop
Challenges in Embedded Computing
System Design

1. How much hardware do we need?


 Apart from the type of microprocessor used, care should
be taken to select the amount of memory, the peripheral
devices etc.
 Both performance deadlines and manufacturing cost
constraints should be met .
 Too little hardware -system fails to meet its deadlines
 Too much hardware-it becomes too expensive.
• 2. How do we meet deadlines?

 The brute force way of meeting a deadline is to speed up


the hardware so that the program runs faster.

 It makes the system more expensive.

 Increasing the CPU clock rate may not make enough


difference to execution time, since the program’s speed
may be limited by the memory system.

• 3.How do we minimize power consumption?

 In battery-powered applications, power consumption is


extremely important.

 In non battery applications, excessive power consumption


can increase heat dissipation.

 One way to make a digital system consume less power is to


make it run more slowly, but slowing down the system can
obviously lead to
.

• 4.How do we design for upgradability?

 The hardware platform may be used over several product


generations , or for several different versions of a product
in the same generation, with few or no changes.

• 5. Does it really work?

 Reliability is always important when selling products—


customers rightly expect that products they buy will work.

 Reliability is especially important in some applications,


such as safety-critical systems.
• 5.1 Complex testing: Exercising an
• embedded system is generally more
difficult than typing in some data.

5.2 Limited observability and controllability: Embedded


computing systems usually do not come with keyboards
and screens. This makes it more difficult to see what is
going on and to affect the system’s operation.

5.3 Restricted development environments: The development


environments for embedded systems are often much more
limited than those available for PCs and workstations.
THE EMBEDDED SYSTEM DESIGN PROCESS
• A design methodology is important for three reasons.

 First, it allows us to keep a scorecard on a design


Eg: Optimizing performance.
 Second, it allows us to develop computer-aided design
tools.
 Third, a design methodology makes it much easier for
members of a design team to communicate
Steps in Embedded design
Major goals of the design:

Manufacturing cost
Performance (both overall speed and deadlines)
 Power consumption.
Tasks to be performed at every
step in the design process.

 We must analyze the design at


each step to determine how we
can meet the specifications.

 We must then refine the design to add detail.

 We must verify the design to ensure that it still meets all


system goals, such as cost, speed, and so on.
Requirements

 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.
 Two phases:
 First, we gather an informal description from the
customers known as requirements.
Second we refine the requirements into a specification that
contains enough information to begin designing the system
architecture.
• Requirements may be
functional or nonfunctional.

• Nonfunctional requirements include:

 Performance: The speed of the system is often a major


consideration both for the usability of the system and for its
ultimate cost.
• Cost: The target cost or purchase
price for the system is almost always
a consideration.

 Cost typically has two major components:

 Manufacturing cost includes the cost of components and


assembly.
 Nonrecurring engineering (NRE) costs include the
personnel and other costs of designing the system.
 Physical size and weight: The physical
aspects of the final system can vary
greatly depending upon the application.

 Power consumption: Power can be


specified in the requirements stage in terms of battery life.
Sample requirements form
that can be filled out at the
start of the project.

We can use the form as a


checklist in considering the basic
characteristics of the system.

• Let’s consider the entries in the form:


a)Name:

This is simple but helpful.

Giving a name to the project not only simplifies talking


about it to other people but can also crystallize the
purpose of the machine.
B)Purpose:

 This should be a brief one or two-line description of what


the system is supposed to do.

 If you can’t describe the essence of your system in one or


two lines, chances are that you don’t understand it well
enough.
c)Inputs and outputs:
These two entries are more complex .

The inputs and outputs to the system consists:

 Types of data: Analog electronic signals? Digital data?


Mechanical inputs?

 Data characteristics: Periodically arriving data, such as


digital audio samples? Occasional user inputs? How many
bits per data element?

 Types of I/O devices: Buttons? Analog/digital converters?


Video displays?
d) Functions:

 Detailed description of what the system does.

Start working from the inputs to the outputs.

 When the system receives an input, what does it


do? How do user interface inputs affect these
functions? How do different functions interact?
e)Performance:

 Many embedded computing systems spend at least


some time controlling physical devices or processing data
coming from the physical world.

 The computations must be performed within a certain


time frame.

 Performance requirements must be identified early to


ensure that the system works properly.
f)Manufacturing cost:
 This includes primarily the cost of
the hardware components.

g)Power:

 Most important decision is whether the machine will be


battery powered or plugged into the wall.

 Battery-powered machines must be much more careful


about how they spend energy.
h)Physical size and weight:

 A desktop machine has much more flexibility in the


components used than a lapel mounted voice recorder.
SPECIFICATION

 The specification is more precise.


 It serves as the contract between the customer and the
architects.
 Specification must be carefully written so that it accurately
reflects the customer’s requirements.
 The specification should be easily understandable.
 System requirements and overall expectations of the
customer should be met.
• A specification of the GPS system would include several
components:

 Data received from the GPS satellite constellation.


 Map data
 User interface.
 Operations that must be performed to satisfy customer
requests.
 Background actions required to keep the system running,
such as operating the GPS receiver
ARCHITECTURE DESIGN

The architecture is a plan for the overall structure of


the system .

It will be used in later phase to design the


components that make up the architecture.

The creation of the architecture is the first phase.


• Below is the sample system architecture for moving map in
the form of a block diagram that shows major operations
and data flows among them
 After designing an initial architecture we
should refine the system block diagram into
two block diagrams:

 One for hardware


 Another for software.

 The hardware block diagram clearly shows that we have


one central CPU surrounded by memory and I/O devices.
Two memories are used:

 Frame buffer- for the pixels to be displayed.


 Separate program/data memory -for general use by the
CPU.
• The software block diagram closely
follows the system block diagram, with
additional features
• Timer to control when we read the buttons on the user
interface and render data onto the screen.
• We must meet cost, speed, power, and other nonfunctional
constraints.
Designing Hardware and Software Components
The architectural description tells us what components we
need.
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 and memory chips are standard components.


In the moving map, the GPS receiver is a good example of a
specialized predesigned, standard component.
Standard software modules.

Eg: Topographic database.

Standard routines are used to access the topographic


database.
 It is highly compressed to save storage.
 Saves design time.
Faster implementation for specialized functions such as the
data decompression phase.
SYSTEM INTEGRATION
 Interconnecting all the components and check whether
system is working properly.
Bugs are typically found during system integration.
Good planning can help us find the bugs quickly.
System is built into phases and compiled seperately,
which makes to identify bugs more easily.
Identify simple bugs at earlier stages so that the more
complex or obscure bugs that can be
identified by system a hard workout.
 System integration is difficult because it usually uncovers
problems.

 Careful attention to inserting appropriate debugging


facilities during design can help ease system integration
problems.

 The nature of embedded computing means that this phase


will always be a challenge.

You might also like