You are on page 1of 26

Introduction

to

Embedded Systems
SYLLABUS
UNIT NO. CONTENTS REFERENCE WEIGTHAGE
SOURCES

INTRODUCTION OF EMBEDDED
SYSTEM

DESIGN CHALLENGES

OPTIMIZING DESIGN METRICS


I
TIME TO MARKET

NRE AND UNIT COST DESIGN


METRIC

APPLICATION OF EMBEDDED
SYSTEMS

RECENT TRENDS IN EMBEDDED


SYSTEMS
UNIT NO. CONTENTS REFERENCE WEIGTHAGE
SOURCES
EMBEDDED SYSTEM
ARCHITECTURE

HARDWARE ACHITECTURE

SOFTWARE ARCHITECTURE

PROCESSOR SELECTION FOR


EMBEDDED SYSTEM
II
MEMORY ARCHITECTURE

I/O DEVICES

INTERRUPT SERVICE MECHANISM

CONTEXT SWITCHING

DEVICE DRIVERS
UNIT NO. CONTENTS REFERENCE WEIGTHAGE
SOURCES
ARM PROCESSOR ARCHITECTURE
AND PROGRAMMING:

RISC AND CISC

ARM ORGANIZATION

ARM PROGRAMMERS MODEL


III
OPERATING MODES

EXCEPTION HANDLING

NOMENCLATURE, CORE
EXTENTIONS

INTRODUCTION TO ARM
INSTRUCTION SET

ARM ASSEMBLY LANGUAGE


PROGRAMMING
UNIT NO. CONTENTS REFERENCE WEIGTHAGE
SOURCES

PROTOCOLS:

BLUETOOTH

IEEE 802.11 AND IEEE 802.16

IV GPRS

MODBUS CAN

I2C

USB
UNIT NO. CONTENTS REFERENCE WEIGTHAGE
SOURCES
REAL TIME OPERATING CONCEPTS:

ARCHITECTURE OF THE KERNEL

TASK SCHEDULER, ISR

SEMAPHORES

V MAILBOX

MESSAGE QUEUES

PIPES

EVENTS

TIMERS

MEMORY MANAGEMENT
INTRODUCTION OF EMBEDDED SYSTEM
“An Embedded System can be defined as a computing device that does a specific focused job”.

Basic architecture:

Application Software

Hardware Operating System

Operating System
Hardware
Application Software

Some Examples:
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
“The goal of every designer should be to develop a quality product”.

A quality of product is “Its for all”


meeting all the customers So all
requirements features

Functional Performance Reliability


requirements requirements requirements

Examples: Examples: Examples:


1. Touch screen 1. Fast response 1. Workable at cold
2. Bluetooth 2. Battery backup ,warm and
connectivity 3. Multiple processing underwater also.
3. Wi-Fi enabled capability 2. Good Ruggedness
4. Shock Sensor 4. Easy to use 3. Easy to replace or
5. Calling facility repair or servicing
6. Calendar facility availability
7. Scheduler
8. Time and Alarm
9. Accelerometer
10.Gyroscope sensor ….
Basic development process stages:

Requirements
Embedded System
Engineering development projects can
be divided into two
categories :
Design 1. Product development
involving 2. Turnkey project
Hardware- execution
Software
Partitioning 1.Product development:
Product development
based on marketing
department’s input
Hardware Software which also requires a
Design Design detailed study of
features of the existing
competing products , in
order to launch your
Hardware- own product.
Software
Integration 2. Turnkey project
and Testing execution:
Developing an
embedded system
based on the
Operation and requirements given by
Maintenance the client.
key project execution:
: To develop a handheld data terminal for use by field personal.
h projects need to convert this problem definition into a detailed
irement document
Validated System
Problem Requirements Engineering Process Requirement
definition Specification
Document
Requirements Requirements Requirements
Analysis Specification Validation

Requirements Analysis
Document System
E.g.: preparation Requirement
1.Inputs to the system
2.Outputs to the system Specification
SRS
3.Processing done by the
system along with timing
restrictions
4.Input supply voltage Details of all non-functional Requirements:
5.Communication interfaces Details of
Reliability: (MTBF: Mean Time Between Failures)
to be provided all
Delivery Time :(Time to market: using readily
functional
6.Size of embedded system available devices & technology)
requiremen
7. Operating environment Implementation requirements: User defined H/W
ts
(such as temperature and & / S/W
humidity Standard: Sticking to international standards
Safety : Following FCC for radio power emission,
8.Standards to be followed. Electromagnetic interference (EMI) regulation etc…
Security: Data to be encrypted, user name
Requirements Validation

1. To ensure that the requirements specifications document


captures all the requirements of the user.
2. Also to ensure that the required embedded system can be “To remember that to
designed and developed. be crystal clear in our
(This requires discussion with hardware and software engineers approach assuming
to ascertain that whether all specifications could be met.) that the client knows
3. If there are any changes that need to be made in hardware or each and every thing”.
software as according to the needs of the client or the user, the
same need to be discussed with the client and take approval “A client is not at all
from the client as such also. dumb”.
4. This validation ensures that there is no communication gap
between the client and the development team.
DESIGN METRICS

1. Non-Recurring Engineering cost (NRE cost): The one-time monetary cost of designing
the system.
2. Unit cost: The monetary cost of manufacturing each copy of the system, excluding NRE
cost.
3. Size: The physical space required by the system, often measured in bytes for software and
gates or transistors for hardware.
4. Performance: The execution time or throughput of the system.
5. Power: The amount of power consumed by the system.
6. Flexibility: The ability to change the functionality of the system without incurring heavy
NRE cost. Software is typically considered very flexible.
7. Time-to-prototype: The time needed to build a working version of the system.
8. Time-to-market: The time required to develop a system to the point that it can be released
and sold to customers.
9. Maintainability: The ability to modify the system after its initial release.
10. Correctness: The correctness of system’s functionalities which may be verified during
designing of the system and inserting test circuitry to check that manufacturing was correct.
11. Safety: The system at any point does not cause any harm to the environment.

OPTIMIZING DESIGN METRICS


“A designer should be able to develop a system with required functionality but to develop a
system with simultaneously optimized numerous design metrics is in itself is a design challenge”.

E.g.: If size is then performance may suffer


Power

So, expertise with both software and


Performance Size
hardware is needed to optimize design metrics.

A designer must be comfortable with various


technologies in order to choose the best for a
NRE cost given application and constraints.

Improving one may worsen others


Time-to-market: a demanding design metric
Time required to develop a product to the point it can be
sold to customers
Market window
Period during which the product would have highest
sales
Average time-to-market constraint is about 8 months
Revenues ($)

Delays can be costly

Time (months)

Peak revenue • Simplified revenue model


– Product life = 2W, peak at W
Peak revenue from
delayed entry – Time of market entry defines a
On-time triangle, representing market
Revenues ($)

Market rise Market fall penetration


– Triangle area equals revenue
Delayed
• Loss
– The difference between the on-
W 2W
time and delayed triangle areas
D
On-time Delayed Time
entry entry
• Area = 1/2 * base * height
– On-time = 1/2 * 2W * W

– Delayed = 1/2 * (W-D+W)*(W-D)

• Percentage revenue loss = (D(3W-D)/2W2)*100%

Lets take an example

Lifetime Lifetime

2W = 52 weeks, delay D = 4 weeks 2W=52 weeks, delay D= 10 weeks

Percentage revenue loss Percentage revenue loss

= (4*(3*26 –4)/2*26^2) = (10*(3*26 –10)/2*26^2)

= 22% = 50%

So, delays are costly!


NRE and unit cost metrics

• Costs:
– Unit cost: the monetary cost of manufacturing each copy of the system,
excluding NRE cost
– NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of
designing the system
– total cost = NRE cost + unit cost x No. of units
– per-product cost = total cost / No. of units
= (NRE cost / No. of units) + unit cost

• Example
– NRE=Rs.20,000 , unit=Rs.1,000
– For 10 units
– total cost = Rs.20000 + 10xRs.1000 = Rs. 30,000
– per-product cost = Rs.30,000/10 = Rs.3000

Amortizing NRE cost over the units results in an additional Rs.2,000 per unit
NRE and unit cost metrics
• The larger the volume, the lower the per product cost,
(since the NRE cost can be distributed over more products.)
– Technology A: NRE=$2,000, unit=$100
– Technology B: NRE=$30,000, unit=$30
– Technology C: NRE=$100,000, unit=$2

$200,000 $200
A A
B B
$160,000 $160
C C
total c ost (x1000)

per product cost


$120,000 $120

$80,000 $80

$40,000 $40

$0 $0
0 800 1600 2400 0 800 1600 2400
Number of units (volume) Number of units (volume)

• But, must also consider time-to-market


The Performance design metric
• Widely-used measure of system:
– Clock frequency, instructions per second – not good measures
– Digital camera example – a user cares about how fast it processes
images, not clock speed or instructions per second
• Latency (response time)
– Time between task start and end
– e.g., Camera’s A and B process images in 0.25 seconds
• Throughput
– Tasks per second, e.g. Camera A processes 4 images per second
– Throughput can be more than latency seems to imply due to
concurrency, e.g. Camera B may process 8 images per second (by
capturing a new image while previous image is being stored).
• Speedup of B over S = B’s performance / A’s performance
– Throughput speedup = 8/4 = 2

Recent Trends:

Related to ICs: IC transistor capacity has doubled roughly every 18 months for the

past several decades.

According to Moore’s law, he predicted that semiconductor transistor density would

double every 18 to 24 months.

Improved combination of compilation/synthesis, libraries/IP ,,test/verification,

standards, languages and frameworks has improved designer productivity over the

past several decades.


Recent Trends:
As according to market’s requirement the processor technology is
continuously changing .

1. Processor Power: there are now various powerful 8-bit, 16-bit, 32-bit and 64-bit

microcontrollers and microprocessors available to cater to the different market

segments.

2. Memory: The cost of memory chips is reducing as a result embedded system can be

made functionally more important by incorporating additional features such as

networking protocols and even graphical user interface.

3. Operating System : A variety of operating systems are available which can be ported

onto the embedded system. Advantage of an operating system is that the software

development will be very fast and maintaining the code is very easy.
4.Communication interfaces an networking capability: By availability of low cost

chips, Embedded System can be provided networking capability through

communication interface such as Ethernet, 802.11 Wireless LAN, and Infrared.

5. Programming Languages: Due to availability of cross compliers the development

is done in high level languages such as C,C++ Java, Python and so on.

6. Development tools: MATLAB, SIMULINK can be used to model an embedded

system as well as to generate cost ,substantially reducing the development time.

7. Programmable Hardware: PLDs, FPGA are available now.


Hardware Architecture

Functional Commun-
Sensors LCD LEDs
Keypad ication
Interface

ADC
ROM
CPU

DAC RAM

Power
Supply Clock Chip Watchdog Timer & Debug
Unit Circuitry Select Reset Circuitry Port
Central Processing Unit
1. General Purpose Processors (GPP)
2. Digital Signal Processor (DSP)

Internal Architecture of a Processor

General Purpose
ALU
Registers

Memory Address Address


Stack Pointer
Register Bus
Control
Instruction Memory Data Data
Pointer Register Bus
Unit
Control &
Instruction Decoder
Status Bus
Interaction between CPU and memory

Address Bus

CPU Data Bus Memory


Control & Status Bus

Von Neuman Architecture

Address Bus
Memory
CPU Data Bus (Instruction &
Data)
Harvard Architecture
Program Memory Data Memory
Address Bus Address Bus

Program Data Memory


Memory CPU (Only Data)

Program Memory Data Memory


Data Bus Data Bus

Super-Harvard Architecture
Program Memory
Data Memory
Address Bus
Address Bus

Program
Memory
(Instruction & CPU Data Memory
Secondary
Data) Instruction
Cache Data Memory
Program Memory
Data Bus Data Bus

You might also like