You are on page 1of 31

What are Embedded Systems?

 Any CPU based system other than general purpose


computers are referred as embedded Systems.

 Embedded Systems are specific purpose computers, which


performs a well defined single Application task.

 A software system that is completely encapsulated by the


hardware that it controls

 An "embedded system" is any computer system or


computing device that performs a dedicated function or is
designed for use with a specific embedded software
application.
Why Embedded Systems?

 There are Environments where the general


purpose computers system are not really getting
into the act
For example:
AC has a temperature control sub-system It is not viable to use a
PC’s there for achieving task
Requirements of Embedded Systems

 Compactness
 Cost Effectiveness
 Reliability
 Low Power Consumption
 Efficient Use of Processing Power
 Efficient Use of Memory
 Appropriate Execution Time
Challenges in Embedded Computing
system Design
 How much hardware do we need?
 How do we meet deadlines?
 How do we minimize power consumption?
 How do we design for upgradeability?
 How do we meet reliability and accuracy?
 Does it really work?
 How do test the design?
Architecture of Embedded Systems

Memory

Processing
I/P system O/P system
unit

Control Unit

CPU or
Microprocessor
Categories of Embedded Systems

 Stand alone Embedded Systems

 Real-time Embedded Systems

 Networked Applicances

 Mobile Devices …………..


Types of Real Time Systems?

 HARD RTS
Systems where failure to meet response time
constraints leads to system failure

 SOFT RTS
Performance is degraded but not destroyed by
failure to meet response-time constraints

 FIRM RTS
Systems with hard deadlines where some low
probability of missing a deadline can be tolerated
Application Embedded Systems

 Telecommunication
 Wireless Communication
 Defence
 Consumer Electronics
 Control System and Industrial Automation
 Biomedical System
 Field Instrumentation
 Hand held Computers
 Networked Information Appliances……..
Embedded Devices
Voice-over IP Gateways
Devices Thin Clients
Set-Top Boxes

Digital Audio
Receivers and Players

Mobile
Handhelds Medical Devices
Industrial
Automation
Smart Displays
Embedded System Design Process
 The process of embedded system design is
known as Design Methodology of Embedded
Systems.
 The design methodology
 Keep track of design process and optimizing
performance
 Allows to develop computer-aided design tools.
 allows communication between the members of
design team, hence leading to good coordination
between members
Embedded System Design Process
Bottom-up
Requirements approach

Top-
Down Specifications Detailed description of what we want
approach

Architecture System architecture in terms of


large components

Components Software modules any specialized h/w

Sys. integration
Embedded System Design Process
 The various steps of implementation
process includes
 Analyze the design at each step to determine
how we can meet the specification
 Refine the design to add details
 Verify the design to ensure that it still meets all
system goals such as cost, speed and so on.
1. Requirements
 Collection of informal descriptions from
the customers is called Requirements.
 Refining requirements into specifications
that contains enough information to
begin designing the system architecture.
 Requirements are of two types:
 Functional requirements
 Non-functional requirements
 Typical non-functional requirements include:
 Performance
 Cost (NRE and manufacturing cost)
 Physical size and weight
 Power consumption
 Simple requirements form
 Name
 Purpose (brief one or two-line description of what
the system is supposed to do)
 Inputs
 Outputs
 Functions
 Performance
 Manufacturing cost
 Power
 Physical size and weight
2. Specifications
 The specification is more precise-it serves as
the contract between the customer and the
contracts.
 Specifications are essential to create working
systems with a minimum designing effort.
 The specifications should be understandable
enough so that someone can verify that it
meets system requirements and overall
expectations of the customer.
 The unclear or incomplete specifications may
lead to wrong functionality of the design or
the resulting system be inelegant and bug-
ridden.
3. Architecture Design
 Describes how the system implements the
functionality.
 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.
 Architectural descriptions must be designed
to satisfy both functional and non-
functional requirements.
Display

GPS Search
Renderer
receiver engine

User
database interface

Block diagram for the moving map GSM system

Frame
CPU Database
buffer Renderer
search pixels
display
GPS
Memory Rx
Panel User Timer
position
i/o interface

Hardware architecture Software architecture


Designing hardware and software
components
 The architecture description tells us what
components we need, the component
design builds those components.
 The components include both hardware
modules (CPU, memory, PCBs, Boards and
so on) and software modules (database,
data compressing, encrypting software etc).
 Both Standard and customized components
may be used to meet the required
specifications such as cost, speed, power
consumption etc.
System Integration
 In this phase of design process, all the built
components are put together to make a
working system.
 Bugs are typically found during system
integration and good planning can help us
to find the bugs quickly.
 Determining why things don’t work
correctly and how they can be fixed is
always a challenge in embedded system
design.
Embedded System Development Environment

Host

Target
Board
Comparing GPC and Embedded System

General Purpose Computer (GPC) Embedded System

Application Application
Operating System Integrated
Device Driver With
Firmware OS,DD&FW
Hardware Hardware
Formalism for System Design
 UML is a visual language used to capture all
the above said design tasks.
 UML is useful because it encourages design
by successive refinement and progressively
adding details to the design, rather
rethinking the design at each new level of
abstraction.
 UML is an object oriented modeling language
 Encourages the design to be described as a
number of interacting objects.
 Used to model the outside world (real pieces of
software and hardware such as people or other
machines) that interacts with our system
Structural description
 The structural description of an object
includes a set of attributes that define its
internal state. d1: Display Object name: class name
A class defines the attributes
Attributes
that an object may have Pixels: array[ ] of pixels
Elements
and operations that menu-_items
determine how the objects
Fig: an object in UML notation
may interact with the
Display
outside world. class name
Pixels
All objects derived from Elements Attributes
menu-_items
the same class have
the same characteristics, mouse_click () Operations
although their attributes draw_box ()
may have different valuesFig: A class in UML notation
Software implementation of classes and objects using C++
 Class Display
{
pixels: pixeltype[IMAX,JMAX] /*2-D array*/
Public:
Display() { } /* a constructor that creats a class instance*/
pixeltype pixel(int i, int j)
{
Return pixels[I,j];
}
Void set_pixel(pixeltype val, int i, int j}
{
Pixel[i,j] = val;
}
};
Display d1; /* an object d1 of class Display*/

apixel=d1.pixel(0,0); /* get the value of pixel


[0,0]*/

object.method() says we are running the method


on a particular object,

UML allows us to define derived classes, base classes


and multiple inheritance.
Behavioral Description
 One way to specify the behavior of an operation is a
state machine as shown in figure where state
transitions are triggered by the occurrence of events
like pressing buttons, clicking mouse etc.

a b
 UML defines the following basic three types of events
 Signal: its an synchronous occurrence. Ex:
mouse_click
 Call event: calls a procedure.
 Time-out event: causes the machine to leave a state
after a certain amount of time.
mouse_click(x,y,button)
a b

signal event

draw_box(10,5,3,2,blue)
c d

call event

tm(time_value)
e e
time-out event
A State machine specifications for an operation of
the display in UML

Start state

Mouse_click(x,y,button)/ Region=menu/ Call_menu()


Find_region(region) Which_menu(i)
Stop state
Region Got menu Called
found item Menu item

Highlight(objid)
Region=drawing/
Find_object(objid) Found Object
object highlighted
A sequence diagram in UML

Object m:mouse d1:display u:menu

Mouse_click(x,y,button)
Which_menu()
Time

Find_region()
Call_menu(i)

Focus of
control

Lifeline
What are Real Time Systems?

 A real time system is one whose logical correctness is based on both


the correctness of the outputs and their timeliness

 “A real time system is one in which the correctness of the computations


not only depends upon the logical correctness of the computation but
also upon the time at which the result is produced. If the timing
constraints of the system are not met, system failure is said to have
occurred.”

“ A LATE ANSWER IS EQUAL TO A


WRONG ANSWER ”
Types of Real Time Systems?

 HARD RTS
Systems where failure to meet response time
constraints leads to system failure

 SOFT RTS
Performance is degraded but not destroyed by
failure to meet response-time constraints

 FIRM RTS
Systems with hard deadlines where some low
probability of missing a deadline can be tolerated

You might also like