0% found this document useful (0 votes)
7 views32 pages

BCSE305L - Embedded Systems: School of Computer Science and Engineering

The document presents an overview of embedded systems, highlighting their characteristics, performance requirements, and design challenges. It discusses the importance of real-time computing, cost considerations, and the role of microprocessors in embedded system design. Additionally, it outlines the design process, including requirements gathering, architecture design, and system integration.

Uploaded by

get4rounik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views32 pages

BCSE305L - Embedded Systems: School of Computer Science and Engineering

The document presents an overview of embedded systems, highlighting their characteristics, performance requirements, and design challenges. It discusses the importance of real-time computing, cost considerations, and the role of microprocessors in embedded system design. Additionally, it outlines the design process, including requirements gathering, architecture design, and system integration.

Uploaded by

get4rounik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

School of Computer Science and Engineering

BCSE305L – Embedded Systems


Module ~ I – Introduction
Characteristics, Performance and Design Challenges in
Embedded Systems
Presentation by
Dr.K.Ragavan
Assistant Professor Senior Grade I
Department of IOT
School of Computer Science and Engineering
VIT University, Vellore
Characteristics of Embedded Computing Applications
Embedded computing is in many ways much more demanding than the
sort of programs that you may have written for PCs or workstations.
Functionality is important in both general-purpose computing and
embedded computing, but embedded applications must meet many
other constraints as well.

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

Power and energy:


• Power consumption directly affects the cost of the
hardware, because a larger power supply may be
necessary.
• Energy consumption affects battery life, which is
important in many applications, as well as heat
consumption, which can be important even in desktop
applications.
Dr.K.Ragavan, SCOPE 4
Why Use Microprocessors?
• There are many ways to design a digital system:
– custom logic,
– field-programmable gate arrays (FPGAs), and so on.
Why use microprocessors?
• Microprocessors use much more logic to implement a
function than does custom logic
• Flexible – Easy to design families of products
• Efficient to implement digital system
• It execute programs efficiently
• Programmability
• Real time
• Low power and low cost
Dr.K.Ragavan, SCOPE 5
Reason to Select Microprocessor for system
Design
• It execute program efficiently.
• It make the CPU to run fast
• It can be extended to provide new features.
• It is efficient to implement digital system.
• It is easier to design different products with different
features.
• It can be used for many algorithm.
• Low power and low cost
• To implement several functions on a single processor
with less cost.

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.

 CPU: The CPU clearly influences the behaviour of the program,


particularly when the CPU is a pipelined processor with a cache.

 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.

 Multiprocessor: Many embedded systems have more than


one processor they may include multiple programmable
CPUs as well as accelerators. The interaction between these
processors adds yet more complexity to the analysis of overall
system 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

 communication and networking


 cellular phones,
 internet appliances
 web enabled vending machines

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

Limited observability and controllability:


– Don’t have a keywords and screens.

Restricted Development Environment:


– To debug the program, look inside the embedded
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.

At each Step in the design, we add detail:


 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.
 And we must verify the design to ensure that it still meets
all system goals, such as cost, speed, and so on.

Dr.K.Ragavan, SCOPE 19
Requirements

 Before we design a system, we must know what


we are designing.
 Plain language description of what the user
wants and expects to get.
 May be developed in several ways:
– talking directly to customers.
– talking to marketing representatives.
– providing prototypes to users for comment.
Dr.K.Ragavan, SCOPE 20
Requirements
• Functional requirements:
– output as a function of input.

• 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.

• The specification should be understandable enough so


that someone can verify that it meets system requirements
and overall expectations of the customer.

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.

• Architecture design must give an idea about

– What major components need for satisfying the specification?

– What hardware components need? like CPUs, peripherals, etc.

– What Software components need?

– Must take into account functional and non-functional


specifications.
Dr.K.Ragavan, SCOPE
25
Designing hardware and software
components
• The component design effort builds those components to satisfy
architecture and specification.

• The components will in general include both hardware - FPGAs,


boards and software modules.

• Some components are ready-made, some can be modified from


existing designs, others must be designed from scratch (that is
new design).

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.

– Many bugs appear only at this stage.

• Bugs are typically found during system integration, and good


planning can help us find the bugs quickly.

• System integration is difficult because it usually uncovers


problems. It is often hard to observe in the system, to determine
exactly what is wrong - the debugging facilities for embedded
systems are usually much more limited than what you.

• Inserting appropriate debugging facilities during design can


help ease system integration problems would find on desktop
systems. Dr.K.Ragavan, SCOPE
32

You might also like