Professional Documents
Culture Documents
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
Networked Applicances
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
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
Frame
CPU Database
buffer Renderer
search pixels
display
GPS
Memory Rx
Panel User Timer
position
i/o interface
Host
Target
Board
Comparing GPC and 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*/
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
Highlight(objid)
Region=drawing/
Find_object(objid) Found Object
object highlighted
A sequence diagram in UML
Mouse_click(x,y,button)
Which_menu()
Time
Find_region()
Call_menu(i)
Focus of
control
Lifeline
What are 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