0% found this document useful (0 votes)
10 views95 pages

BCSE305L - Embedded Systems: Module 1 - Introduction

The document outlines the BCSE305L Embedded Systems course, detailing its objectives and outcomes, which include identifying design challenges, summarizing special-purpose computing systems, and evaluating embedded system components. It discusses the differences between embedded systems and general-purpose computers, emphasizing the unique characteristics and design challenges of embedded systems, such as real-time operation and power constraints. Additionally, it covers the design process, requirements, and optimization metrics necessary for developing effective embedded systems.

Uploaded by

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

BCSE305L - Embedded Systems: Module 1 - Introduction

The document outlines the BCSE305L Embedded Systems course, detailing its objectives and outcomes, which include identifying design challenges, summarizing special-purpose computing systems, and evaluating embedded system components. It discusses the differences between embedded systems and general-purpose computers, emphasizing the unique characteristics and design challenges of embedded systems, such as real-time operation and power constraints. Additionally, it covers the design process, requirements, and optimization metrics necessary for developing effective embedded systems.

Uploaded by

anasmita.2023
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

BCSE305L - Embedded Systems

Module 1 - Introduction
Syllabus
Course Objective
COURSE OUTCOMES
1. Identify the challenges in designing an embedded system using various microcontrollers
and interfaces.

2. To summaries the functionality of any special purpose computing system, and to


propose smart solutions to engineering challenges at the prototype level.

3. To examine the working principle and interface of typical embedded system


components,
create programme models, apply various optimization approaches including
simulation
environment and demonstration using debugging tools.

4. To evaluate the working principle of serial communication protocols and their proper
use, as well as to analyze the benefits and drawbacks of real-time scheduling
algorithms and to recommend acceptable solutions for specific challenges
Challenges in Designing an Embedded System Summarize Functionality of Special-Purpose
Using Various Microcontrollers and Interfaces Computing Systems & Smart Prototype Solutions

1. Choosing the correct microcontroller (ARM, AVR, PIC, Special-Purpose Computing Systems
ESP32, etc.). 1. Digital camera – image capture + compression.
2. Ensuring enough RAM, flash, clock speed, and 2. Pacemaker – heart rhythm monitoring.
peripherals.
Smart Prototype Solutions
3. Battery life limitations in IoT devices.
3. Smart Home Gas Leakage Detector
4. Need for sleep modes and low-power design.
4. Intelligent Traffic Density Controller
5. Pin conflicts and incompatible voltage levels.

Embedded System Components: Working, Interface, Serial Communication Protocols — Evaluation + Real-
Program Models, Optimization & Debugging Time Scheduling Algorithms

1. Typical Components : Sensors (temperature, pressure, Serial Communication Protocols


proximity) , Actuators (motors, relays, LEDs), 1. UART (Asynchronous) - Simple, long-distance
Communication modules (Wi-Fi, BLE), Timers, ADCs,
DACs, Memory 2. SPI (Synchronous) - High speed

2. Working, Interface, Program Models 3. I2C - Multi-device, fewer wires

3. Code size optimization, Memory optimization, Power Real-Time Scheduling Algorithms


optimization
4. Round Robin (RR) , Priority-Based Preemptive Scheduling
4. Debugging Tools: Logic Analyzer
Module 1 - Introduction

 Overview of Embedded Systems

 Design challenges

 Embedded processor technology

 Hardware Design

 Micro-controller architecture -8051, PIC, and ARM


Module 1 – Overview of Embedded
Systems
General-Purpose Computers
A general-purpose computer is a computing system designed to perform a
wide variety of tasks rather than being limited to one specific function. It can
be used for diverse applications such as word processing, browsing,
programming, gaming, and data analysis. Its flexibility comes from its
ability to be reprogrammed for many purposes.

• Examples of GPC ???


Characteristics of General-Purpose Computers
•Versatile Functionality
Can perform multiple tasks such as browsing, gaming, programming, designing, etc.
•Reprogrammable
Users can install and run different software applications depending on their needs.
•High Storage Capacity
Able to store large amounts of data, files, and programs.
•Large Memory and High Processing Power
Equipped with strong CPUs, RAM, and storage to support multitasking and heavy
applications.
•User-Friendly Interface
Provides graphical user interfaces (GUI) for easy interaction.
•Connectivity Options
Supports Wi-Fi, Bluetooth, USB, Ethernet, and other interfaces for communication.
•Supports Operating Systems
Works with OS like Windows, Linux, macOS, Android, etc.
•Expandable and Upgradable
Hardware components like RAM, storage, and graphics can be upgraded.
GENERAL-PURPOSE
COMPUTERS
• Able to run a variety of
software.

• Contain relatively high- performance


hardware components (fast
processors, data & program storage).

• Require an operating system


(OS).
GENERAL-PURPOSE • Several implement data memory
COMPUTERS and program storage.
• Designed for heavy user
interaction. • Possesses a distributed architecture (full
functionality of the computer is spread
• Uses a variety of peripherals across multiple IC chips).
(displays, keyboards, mice, internet
connections, wireless
communication capability).

• Expensive ($100s - $1000s).

• Use a group of integrated


circuits or chips (ICs).
• One implements the central
processing unit (CPU).
What is a System?
Definition
A way of working, organizing or performing one or many
tasks according to a fixed set of rules, program or plan.

• Example
– Time display system – A watch
– Automatic cloth washing system – A washing machine
Definition of Embedded Systems
“An embedded system is a system that has software embedded into
computer-hardware, which makes a system dedicated for an application(s)
or specific part of an application or product or part of a larger system.”

• Examples of ES ???

Miele dishwashers uses 8b Motorola


68HC05 processors and can be
reprogrammed with a laptop to adjust
temperatures and cycle times
Embedded System - Definitions

An embedded system is an application that contains at least one programmable computer


(typically in the form of a microcontroller, a microprocessor or digital signal processor chip) is
used by individuals who are, in the main, unaware that the system is computer- based
• From Embedded C Programming perspective

by
[Link]
“An embedded system is a system that has software embedded into computer-hardware, which
makes a system dedicated for an application (s) or specific part of an application or product or
part of a larger system.”
• s/w usually embeds into a ROM or flash
• Independent system or part of a large system
Embedded System – Definitions
• “An embedded system is one that has a dedicated purpose software
embedded in a computer hardware.”
By
Raj Kamal
• Any device that includes programmable computer but not self intend to be a
general purpose computer
by
Wayne Wolf
• Electronic system contains microcontroller or microprocessor but not
general purpose computers computer is hidden or embedded in the
Embedded System – Definitions

• Combination of Software and Hardware in which the software controls the


entire hardware for a dedicated application
Raj Kamal

• A general-purpose definition of embedded systems is that they are devices


used to control, monitor or assist the operation of equipment, machinery or
plant. “Embedded” reflects the fact that they are an integral part of the system.
In many cases, their “embeddedness” may be such that their presence is far
from obvious to the casual observer.
Institute of Electrical Engineers (IEE)
Examples
The Mars Rover is designed to explore the surface of Mars and collect scientific data to
help us understand the planet. Its main purposes include:
1. Study the Martian Surface
Analyze rocks, soil, and dust to understand Mars’ geology and history.
2. Search for Signs of Past Life
Look for chemical or biological evidence that life might have existed on Mars
long ago.
3. Analyze Climate and Weather
Measure temperature, air pressure, radiation, and atmospheric composition.
4. Test Water Presence
Find traces of past or present water in soil and rock formations.
5. Capture Images and Create Maps
NASA Mars Rover uses an Take high-resolution photos to map terrain, craters, mountains, and valleys.
Intel 80C85 8-bit 6. Test New Technology for Future Missions
microprocessor Demonstrate robotic mobility, autonomous navigation, and landing
technologies for future human missions.
7. Perform Real-Time Robotics Tasks
Move, avoid obstacles, drill into rocks, collect samples, and communicate
with Earth.
Palm Vx Handheld uses Motorolla Philips sonicare plus toothbrush –
Dragonball EZ 32-b Zilog Z8 8b microprocessor
microprocessor

The microprocessor controls the high-frequency


The DragonBall EZ serves as the motor vibrations,ensuring consistent brushing
main CPU, executing the Palm performance.
operating system and all user It manages built-in timing functions such as:
applications such as calendar, • 2-minute brushing timer
notes, to-do lists, and contacts. • 30-second quadrant alerts
(QuadPacer)
Sony’s Aibo Robotic Dog uses ERS-110 an MIPS 64b
RISC processor

Vendo V-MAX 720 vending machine uses the The processor handles the complex image processing
Motorola M68HC11 8b microprocessor required to:
 stock monitored remotely  detect the orange football
 identify goalposts
 transactions through credit or smart
 track ball movement
card  recognize obstacles and field boundaries
 security monitor from remote AIBO used a head-mounted camera, and the MIPS CPU
processed images in real-time.
Garmin Streetpiolot GPS receiver
Rio MP3 Player uses 32b RISC uses a 16b processor Hunter 44550 programmable
processor thermostat uses a 4b processor
 any transport system can get
 compressed form of audio its global location Temperature Monitoring and
is mp3  automated navigation system Control
 sophisticated up to be used make use GPS The processor reads temperature
for audio processing  communication with satellite sensor values and decides when
and output about vehicle to turn heating or cooling
position and map display ON/OFF to maintain the set
temperature.
Major components of Embedded
system
• Hardware

• Software

• RTOS (May contain Real Time Operating Systems

which are used as a task scheduler.)


Embedded System Vs Desktop System

• Desktop / Laptop
• General purpose computer
• Used for playing games, word processing, accounting, SDT etc.,

• Embedded System
• Single Purpose and
• fixed embedded software for specific job

• Typical Examples
• A/C, VCD/DVD Player, Printer, Fax m/c, Mobile phone etc
• Customized embedded hw + fixed embedded sw (firmware) +
specific processor
• to meet the specific requirement
Soft Real-Time Systems
vs
Hard Real-Time Systems

• Soft real-time is when a system continues to function even if it’s


unable to execute within an allotted time. If the system has missed its
deadline, it will not result in critical consequences. The system
can continue to function, though with undesirable lower quality of
output.

• Hard real-time is when a system will cease to function if a


deadline is missed, which can result in catastrophic
consequences.
Embedded System Design Process
Top-down vs. bottom-
up
Top-down design:
start from most abstract
description; work to most
detailed.
Bottom-up design:
work from small components to
big system.
Real design uses both
techniques.
Stepwise
refinement
At each level of abstraction, we must:
analyze the design to determine characteristics of
the current state of the design;
refine the design to add detail.
Requirements
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.
Functional vs. non-functional
requirements
Functional requirements:
output as a function of
input.
Non-functional
requirements: time
required to compute output;
size, weight, etc.;
power
consumption;
reliability;
etc.
Requirements form

name
purpose
inputs
outputs
functions
performan
ce
manufacturing
cost power
physical
size/weight
GPS moving map requirements
form
name GPS moving map
purpos consumer-grade
e moving map for
driving power
inputs button, two control
buttons
outputs back-lit LCD 400 X
function 600
s 5-receiver GPS;
three resolutions;
displays current
performance lat/lon updates
screen within
manufacturing 0.25 sec of
movement
cost power $100 cost-of-
goods- sold
physical 100 mW
size/weight
no more than 2:
Specificati
on
A more precise description of the
system: should not imply a particular
architecture; provides input to the
architecture design process.
May include functional and non-
functional elements.
May be executable or may be in mathematical
form for proofs.
GPS
specification
Should include:
What is received from
GPS; map data;
user interface;
operations required to
satisfy user requests;
background operations
needed to keep the
system running.
Architecture
design
What major components go satisfying the
specification? Hardware components:
CPUs, peripherals, etc.
Software
components:
major programs and
their operations.
Must take into account functional and non-
functional specifications.
Designing hardware and software
components
Must spend time architecting the system before
you start coding.
Some components are ready-made, some can be
modified from existing designs, others must be
designed from scratch.
System integration

Put together the components.


Many bugs appear only at this stage.
Have a plan for integrating components to
uncover bugs quickly, test as much functionality
as early as possible.
Block Diagram
Characteristics of embedded systems-
Marilyn wolf
Sophisticated functionality.
Real-time operation with time
constraints Low manufacturing
cost.
Low power
Designed to tight deadlines by
small teams.
Characteristics of embedded systems-Frank G
Vahid
Single Functioned
Time constraints
Tightly Constraint
Real Time &
Reactive Complex
Algorithms User
Interface Multirate
Manufacturing
Cost Power
What does “performance”
mean?

In general-purpose computing, performance often


means average-case, may not be well-defined.
In real-time systems, performance means
meeting deadlines.
Missing the deadline by even a little is
bad. Finishing ahead of the deadline
may not help.
Characterizing
performance
We need to analyze the system at several
levels of abstraction to understand
performance:
CPU.
Platfor
m.
Progra
m. Task.
Multipro
cessor.
Design Challenges in
Embedded system
Design challenge – optimizing design metrics
• Obvious design goal:
– Construct an implementation with desired functionality
• Key design challenge:
– Design metric is a measurable feature of a system’s implementation
– Simultaneously optimize numerous design metrics
Design challenge – optimizing design
• metrics
Common metrics
– NRE cost (Non-Recurring Engineering cost):
The one-time monetary cost of designing the system. Once the system is
designed, any no of units can be manufactured without incurring any additional
design cost.
– Unit cost:
• the monetary cost of manufacturing each copy of the system, excluding NRE cost
– Size:
• The physical space required by the system.
• Software - Bytes
• Hardware – gates and transistors
– Performance:
• The execution time or throughput of the system
Design challenge – optimizing design
• metrics
Common metrics
(continued)
– The amount of power consumed by the
system
Power:
– Flexibility:
• The ability to change the functionality of the system without incurring
heavy NRE cost
– Time-to-prototype:
• The time needed to build a working version of the system

– Time-to-market:
• The time required to develop a system to the point that it can be
released and sold to customers
– Maintainability:
• The ability to modify the system after its initial release.

– Correctness, safety
Why is Design of Embedded
Systems Difficult?
• High Complexity
• Strong time and power constraints
• Low cost
• Short time to market
• Safety critical systems
• In order to achieve all these requirements,
systems have to be highly optimized.
• Both hardware and software aspects have to be
considered simultaneously!
Challenges in embedded system
design
How much hardware do we need?
How big is the CPU? Memory?
How do we meet our deadlines?
Faster hardware or cleverer software?
How do we minimize power?
Turn off unnecessary logic? Reduce memory
accesses?
Challenges,
etc.
Does it really work?
Is the specification correct?
Does the implementation meet the
spec? 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?
How much hardware do we
needof?µP ,Memory, Peripheral
• Selection
etc.. ES have to meet
1 Performance deadlines
. Minimum manufacturing
2 cost
• Little hardware – fails to meet
.

deadlines
• More hardware - Makes it
expensive
How do we meet deadlines ?
• Speed up the hardware results in faster
execution
• Speed may be limited by Memory system
How do we minimize power consumption?

• Excessive power consumption increases


heat dissipation
How does the nature of ES make their design
more difficult?
• Limited Observation
• Complex Testing
• Limited Development
Environment
Embedded Processor
Technology
Embedded processor technology
• General-purpose processors -- software
• Single-purpose processors – hardware
• Application-specific processors
Embedded processor technology
General-purpose processors -- software
• The designer of a general-purpose processor builds a device suitable
for a variety of applications, to maximize the number of devices
sold
• One feature of such a processor is a program memory
• Another feature is a general datapath – the datapath must be general
enough to handle a variety of computations, so typically has a large
register file and one or more general-purpose arithmetic-logic units
(ALUs)
Embedded processor technology
General-purpose processors -- software

• Design time and NRE cost are low, because the designer must only write a program, but need
not do any digital design.
• Flexibility is high, because changing functionality requires only changing the program.
• Unit cost may be relatively low in small quantities, since the processor manufacturer sells large
quantities to other customers and hence distributes the NRE cost over many units.
• Performance may be fast for computation-intensive applications, if using a fast processor, due to
advanced architecture features and leading edge IC technology.

Design-metric drawbacks.
• Unit cost may be too high for large quantities.
• Performance may be slow for certain applications. Size and power may be
large due to unnecessary processor hardware.
Embedded processor technology
Single-purpose processors -- hardware

• Single-purpose processors -- hardware A single-purpose processor is a


digital circuit designed to execute exactly one program. For example,
consider the digital camera
• All of the components other than the microcontroller are single-
purpose processors. The JPEG codec, for example, executes a single
program that compresses and decompresses video frames. An
embedded system designer creates a single-purpose processor
Embedded processor technology
Single-purpose processors -- hardware

• Performance may be fast,


• size and power may be small, and
• unit-cost may be low for large quantities, while design time and
NRE costs may be high,
• flexibility is low,
• unit cost may be high for small quantities, and performance may not
match general-purpose processors for some applications.
Embedded processor technology
Application-specific processors

• An application-specific instruction-set processor (or ASIP) can


serve as a compromise between the above processor options.
• An ASIP is designed for a particular class of applications with
common characteristics, such as digital-signal processing,
telecommunications, embedded control, etc.
• The designer of such a processor can optimize the datapath for the
application class, perhaps adding special functional units for
common operations, and eliminating other infrequently used
units
Embedded processor technology
Application-specific processors

• Embedded system can provide the benefit of flexibility


while still achieving good performance, power and size.
• However, such processors can require large NRE cost
to build the processor itself, and to build a compiler, if
these items don’t already exist
Types of computers

Stored Program Concept:


The stored program concept means that the instructions of a program are stored in the same
memory as the data, and the processor fetches these instructions one by one and executes them.

This allows the same hardware to run different programs simply by loading new instructions into
memory.

Fixed Program Concept:


In the fixed program concept, the processor’s functionality is hardwired into the hardware. The
instructions are not stored in memory; instead, the circuit itself decides the operation. The
behavior cannot be changed without physically modifying the hardware.
Fixed-program systems were common in very early computers and are still used in certain specialized
embedded systems.
Modified Harvard Architecture
Modified Harvard Architecture is a variant of the traditional Harvard
architecture that incorporates some flexibility from Von Neumann
architecture while retaining the core benefits of Harvard’s separation of
instruction and data paths.
Instruction Memory and Data Memory are still physically separate,
allowing for parallel fetching of instructions and data, which improves
performance.

Often uses caching strategies for both instructions and data, further
improving speed. The instruction cache (I-Cache) and data cache (D-
Cache) might be designed with specific access paths or may be made
more flexible to optimize memory usage.

It may allow some dynamic reconfiguration of memory paths for


certain applications, thus improving system versatility. For example,
RISC & CISC ARCHITECTURE
• The important aspect of computer architecture is that the design of
instruction set for the processor.
• Depending on the type of instructions we can divide computers into two
types.
• Reduced Instruction Set Computer (RISC)
• Complex Instruction Set Computer (CISC)
CISC (Complex Instruction Set Computing)
Key Points:

● Definition: CISC processors have a large set of instructions, with many


addressing modes, capable of performing complex operations in a single
instruction.
● Characteristics:
○ Complex instruction set: Can execute multiple operations with a
single instruction.
○ Variable-length instructions: Instructions can have different lengths.
○ Examples: Intel x86, VAX, Motorola 68k.
● Advantages:
○ Reduces the need for multiple instructions to perform a task.
○ Efficient use of memory due to more complex instructions.
● Disadvantages:
○ Slower execution: Complex instruction decoding can slow down
performance.
○ More complicated hardware for instruction decoding.
RISC (Reduced Instruction Set Computing)
Key Points:

● Definition: RISC processors use a small, simple set of instructions, each typically
taking one clock cycle to execute. The focus is on fast execution and simplicity.
● Characteristics:
○ Small instruction set: Typically only the most common instructions.
○ Fixed-length instructions: Easier to decode and execute.
○ Examples: ARM Cortex, MIPS, SPARC.
● Advantages:
○ Faster execution due to simple instructions and fewer cycles per instruction.
○ Simpler hardware due to the small instruction set.
○ Pipelining is more effective.
● Disadvantages:
○ Larger code size: More instructions may be needed to perform a task.
○ Complexity in software (since more instructions are required to perform a task).
CISC Example for 8051 - Adding two numbers

ORG 0H ; Set the origin (starting address)


MOV A, 30H ; Load the value at memory location 30H into the
accumulator (A)
ADD 31H ; Add the value at memory location 31H to the accumulator
(A)
MOV 32H, A ; Store the result into memory location 32H
HLT ; Halt the program
END

RISC Example for Register-to-Register Operations

LOAD R1, 30H ; Load the value at memory location 30H into Register R1
LOAD R2, 31H ; Load the value at memory location 31H into Register R2
ADD R3, R1, R2 ; Add the contents of R1 and R2 and store the result in R3
STORE R3, 32H ; Store the result from R3 into memory location 32H

You might also like