BCSE305L - Embedded Systems: School of Computer Science and Engineering
BCSE305L - Embedded Systems: School of Computer Science and Engineering
Complex Algorithms:
• Operations are performed by microprocessor
• The microprocessor controls an automobile engine with
complicated filtering functions (Controls the fuel utilization and
pollution control)
User Interface:
• Microprocessors are used to control complex user interface.
• It includes multiple menus and many options.
• Global Positioning Systems are example of good user interface.
Dr.K.Ragavan, SCOPE 2
Embedded computing operations must often be performed to
meet deadlines:
Real Time: (Deadline)
• System have to perform real time applications.
• If the data is not ready at a particular time the system breaks.
• In some cases failure to meet deadline is dangerous process.
• For example, missed deadlines in printers can result in
scrambled pages
Multirate: (Real time operations on same time)
• We may simultaneously control some operations at slow rate and
some at high rate.
• Multimedia applications are prime examples of multirate
behavior.
• The audio and video of multimedia system are run different rate
but they should be synchronized.
• Failure to meet a deadline on either the audio or video portions
spoils the perception of the entire presentation.
Dr.K.Ragavan, SCOPE 3
Costs of various sorts are also very important:
Manufacturing Cost: Cost based on
• Microprocessor used
• The amount of memory required
• Type of I/O Device
Dr.K.Ragavan, SCOPE 6
Performance in embedded computing:
Embedded system designers, in contrast, have a very clear performance
goal in mind their program must meet its deadline. At the heart of
embedded computing is real-time computing, which is the science and
art of programming to deadlines.
The program receives its input data; the deadline is the time at which
a computation must be finished.
Platform: The platform includes the bus and I/O devices. The
platform components that surround the CPU are responsible for
feeding the CPU and can dramatically affect its performance.
Program: Programs are very large and the CPU sees only a small
window of the program at a time. We must consider the structure of
the entire program to determine its overall behaviour.
Dr.K.Ragavan, SCOPE
7
Task: We generally run several programs simultaneously on a
CPU, creating a multitasking system. The tasks interact with
each other in ways that have profound implications for
performance.
Dr.K.Ragavan, SCOPE 8
Types of Embedded System
similar to general computing
PDA, video games, STP box, ATM
Since the functionalities is subset of PC functionalities
i/o based
no sensing of external environment and no control of actuators
more like general purpose
respond to users input
Control systems
sensing and actuating - is a specific job
feed back control of RT systems
vehicle engines - fuel injection control
flight control
nuclear reactors
Dr.K.Ragavan, SCOPE 9
Types of Embedded System
signal processing
core job is processing of signals
radar
sonar
DVD players
Dr.K.Ragavan, SCOPE 10
Challenges in Embedded Computing System
Design:
• How much hardware do we need ?
• How to meet deadlines ?
• How to minimize power consumption ?
• How to upgrade ?
• Does it really work ?
– Is the specification correct?
– Does the implementation meet the specification?
– How do we test for real-time characteristics?
– How do we test on real data?
• How do we work on the system?
– Observability, Controllability?
– What is our development platform?
Dr.K.Ragavan, SCOPE 11
Challenges in Embedded Computing System Design
Hardware: (Memory, Microprceossor, Peripheral Device)
• The power consumption, Performance deadline and
manufacturing cost are based on hardware unit.
– Minimizing hardware-fail to meet deadline
– Maximizing hardware – too much expensive
Deadlines:
• To speed up the hardware so that the program run faster.
– that makes the system more expensive
Power consumption:
• Battery powered and non battery powered applications
• In non battery applications, excessive power consumption can
increase heat dissipation.
• Careful design is required to slow down the power consumption.
Design for upgradeability
• Adding features for different applications
Dr.K.Ragavan, SCOPE 12
Reliability
• 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
Security
• Security is a key concern for modern embedded system design
• Attacks on embedded systems can not only gain access to
personal data but also cause the physical systems controlled by
those embedded computers to perform dangerous acts.
Dr.K.Ragavan, SCOPE 13
Reasons for considering ES difficult
Complex Testing:
– Cant test the different parts of the ES
– Should run the whole system
Dr.K.Ragavan, SCOPE 14
Embedded System Design
Process
Design methodologies
It is a procedure for designing a system.
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.
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.
Dr.K.Ragavan, SCOPE 16
Embedded System Design Process
Top-down design:
we will begin with the most abstract
description of the system and
conclude with concrete details.
Bottom-up design:
we start with components to build a
system.
Dr.K.Ragavan, SCOPE 17
Dr.K.Ragavan, SCOPE 18
Major Goals of the Design:
Manufacturing Cost.
Performance Speed (throughput, latency, deadline).
Power Consumption.
Dr.K.Ragavan, SCOPE 19
Requirements
• Non-functional requirements:
– Performance - time required to compute output
– Cost
• Manufacturing cost( components and assembly)
• Nonrecurring engineering cost (NRE) (personal,
tooling and other cost of designing the system)
– Size, Weight - Both varies based on application
– Power consumption - Battery powered system
– Reliability
Dr.K.Ragavan, SCOPE 21
Requirement Form
• A 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 us consider the entries in the form:
Name:
Purpose:
Inputs:
Outputs:
Functions:
Performance:
Manufacturing cost:
Power:
Physical size and weight:
Dr.K.Ragavan, SCOPE 22
Dr.K.Ragavan, SCOPE 23
Specification
• 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 customer’s
requirements and does so in a way that can be clearly
followed during design.
Dr.K.Ragavan, SCOPE
24
Architecture design
• Architecture is the plan for the overall structure of the system
that will be used later to design the components that make up the
architecture.
Dr.K.Ragavan, SCOPE
26
Example: GPS moving map system
GPS moving map requirements
Name: GPS moving map
Purpose: consumer-grade
moving map for driving
Inputs: power button, two
control buttons I-78
Outputs: back-lit LCD 400 X 600
Scotch Road
Functions: 5-receiver GPS; three
resolutions; displays
current lat/lon
Performance: updates screen within
0.25 sec of movement
Manufacturing cost: $100 cost-of-goods-
sold
Power: 100 mW lat: 40 13 lon: 32 19
Physical no more than 2: X 6:,
size/weight: 12 oz.
Dr.K.Ragavan, SCOPE 27
GPS Specification
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.
Dr.K.Ragavan, SCOPE 28
GPS moving map block diagram
Figure shows a sample system architecture in the
form of a block diagram that shows major
operations and data flows among them.
Dr.K.Ragavan, SCOPE 29
GPS moving map Hardware architecture
The hardware block diagram clearly shows that we
have one central CPU surrounded by memory and I/O
devices.
In particular, we have chosen to use two memories: a
frame buffer for the pixels to be displayed and a
separate program/data memory for general use by the
CPU.
Dr.K.Ragavan, SCOPE 30
GPS moving map Software architecture
The software block diagram fairly closely follows
the system block diagram, but we have added a
timer to control when we read the buttons on the
user interface and render data onto the screen
Dr.K.Ragavan, SCOPE 31
System integration
• System integration is Putting together the components.