Вы находитесь на странице: 1из 49

EMBEDDED

SYSTEMS BASICS
EMBEDDED SYSTEMS AS IT IS
WHAT IS AN EMBEDDED SYSTEM?

 An Embedded system is computing system


other than a desktop computers- Frank
Vahid/Tony
 An embedded system is the one that has
computer hardware with software embedded in
it as one of its most important component
 It is any device that includes a programmable
computer but is not itself intended to be a
general purpose computer-Wayne Wolf
2
WHAT IS AN EMBEDDED SYSTEM?....

 Embedded System are electronics systems


that contain a Microprocessor Micro
Controller, but we don’t think of them as
computer. The computer is hidden in the
system- Todd D.Mortan
 An embedded system is a System whose
principle function is not computational,
but which is controlled by computer
embedded with in it. – Tim Wilmshurst
3
WHAT IS AN EMBEDDED SYSTEM? …

Some of the main characteristics:


– Dedicated (not general purpose)
– Contains a programmable component
– Interacts (continuously) with the environment

4
EXAMPLES IN YOUR DAILY LIFE

• …wake up …

• …Optional…

• …have breakfast …

5
EXAMPLES IN YOUR DAILY LIFE
CONT….

• …get into your car …

• A latest model car can have as many as 65+


processors for Engine control, Transmission
Control, A/C control, Cruise control, ABS, Audio,
etc
• More than 30% of the cost of a car is now in
electronics
• 90% of all innovations will be based on
6
electronic systems
EXAMPLES IN YOUR DAILY LIFE
CONT….

• …on our way to office…

7
EXAMPLES IN YOUR DAILY LIFE
CONT….

• …in our office…

8
EXAMPLES IN YOUR DAILY LIFE
CONT….

• …back at home…

9
MORE EXAMPLES

Mission critical controls


● Nuclear plant control, aircraft navigation ,military
equipment
• Medical equipment
• Communication
• Toy, etc

10
11
12
13
14
APPLICATIONS OF EMBEDDED SYSTEMS
CHARACTERISTICS OF ES
• Embedded systems are very different from general-purpose computers.
• Common characteristics of embedded systems include:
• Single function: An embedded system usually executes only one program
repeatedly. In contrast, a desktop system executes a variety of programs.
• Interacts with the real world: Embedded systems are usually connected to
real-world devices and interact with them through sensors and actuators.
• Tightly constrained: Embedded systems have limited resources available in
terms of memory, CPU and peripheral input/output (I/O) devices to complete
a given job in the desired time.These systems have power constraints also.
• Reactive and real-time: Most embedded systems are required to process
the data in real time.
– Hard Real-time
– Soft Real-time
• Reliability: Embedded systems need to be highly reliable as the implications of
failure are much more severe than of desktop systems.
• Others: Embedded systems are mostly not standalone devices and are
embedded within a larger system. These are supported by a wide array of
processors and processor architectures.
TIME CONSTRAINTS
 Embedded systems have to perform in real-time:
 The real-time systems have to meet time deadlines and have to
respond within the deadline.
Hard Real-time: failure to meet deadlines causes major hazards
and catastrophes.
Eg: Patient care and monitoring systems
Soft Real-time: failure to meet deadlines does not cause any big
damage.
Eg: Blood Glucose monitor, Digital BP apparatus

18
MAJOR COMPONENTS OF EMBEDDED
SYSTEM
 Hardware
 Software
– RTOS
– Application Software

19
LAYERS OF EMBEDDED SYSTEM
Classification of embedded
System
 Small scale Embedded System
 Medium scale embedded system

 Sophisticated Embedded System

21
SMALL SCALE EMBEDDED SYSTEM

 Processor - 8 or 16 bit micro controller


 Hardware complexity – Little

 Software complexity – Little

 Power – Battery operated

 Programming tools – Editor, assembler, cross


compiler , C programming

22
MEDIUM SCALE EMBEDDED SYSTEM
 Processor - 16 or 32 bit micro controller , DSP ,RISC

 Hardware complexity – More


 Software complexity – More

 Programming tools – RTOS ,Source code Engineering Tools,


Simulator, Debugger, IDE, Assembler

 ASIC – readily available ASSP and IP for various functions


(TCP/IP Protocol Stacking and network connection functions

23
SOPHISTICATED EMBEDDED SYSTEM
 Processor - Scalable processors, configuration processors,
programmable logic arrays
 Hardware complexity – High

 Software complexity – High

 Software functions are implemented in hardware to speed up

 Programming tools – May not be available


● Compilers or retargetable compilers need to be developed

24
COMPARISON
Parameter Small scale Medium scale Sophisticated
Processor 8 or 16 bit 16 or 32 bit Scalable processors,
micro micro controller , configuration
controller DSP, RISC processors,
programmable logic
arrays
Hardware Little More High
complexity
Software Little More High
complexity
Programming Editor, RTOS ,Source code May not be available
tools assembler, Engineering Tools,
cross compiler Simulator, Debugger,
,C IDE, Assembler
programming
25
TYPES OF EMBEDDED SYSTEMS

26
TYPES OF EMBEDDED SYSTEMS

27
DESIGN LIFECYCLE OF AN EMBEDDED
SYSTEM
• The first step in designing an ES is the finalisation of product specifications
including functional and non-functional requirements.
• Functional requirements dictate hardware components including the
hardware requirements to process input and output signals, external
interfaces and I/O devices.
• Non-functional requirements include the size, cost and power consumption.
The product specifications are finalized after detailed interactions with the
customer.
• After partitioning, hardware and software designs are carried out. The
hardware team decides the processor and the other peripheral components to
be used depending on the desired functionality, processing speed and memory
addressing capability. The software team decides the development platform to
be used for software development and carries out the design.
• The development platform consists of the hardware board, the operating
system, programming language and the development tools.
• The common programming languages used for development of embedded
systems include C/C++, VC++ and Java. Python, Arduino, Labview and MATLAB
are also being used currently. The development tools include the editor,
compiler, linker, ICE, IDE and so on.
• Hardware-software integration is done by combining the hardware
prototype, application software, driver code and operating system software.
• Extensive product testing is done to ensure that it meets all the requirements.
COST TO FIX THE ERRORS AND THE
WATERFALL MODEL
Time to Market design metric
 Introducing an embedded system to the market place
early can make a big difference in the system
profitability ,since market window for products are
becoming very short ,with such windows are often
measured in months

1
Reve
nues

Market window

2
Time In Months
 Market window reveals during which time
a product would have highest sales
 Missing this window , which means that
the product begins being sold further to
the right on the time scale can mean
significant loss in sales
 Each day of delay results in million
dollars loss
 Average time to market constraint – 8
Months 3
Assume Peak
Revenue at time W

Market
Market
rise
Fall

On time Delayed 2W
W 4
entry Entry
 Revenue on time entry = area of bigger triangle
 Revenue on delayed entry = area of smaller
triangle
 % Revenue Loss =

( (Ontime – delayed)/Ontime)*100

Peak Revenue =
nue loss for the following products shown in the graph.
Rs.100

Revenue = Rs.60

2 8 5
months months 16
months
NRE & Unit Cost Metrics
 Assume Three technologies are available
for developing a product
Tech NRE Cost Unit cost
– A 2000 100
– B 30,000 30
– C 100000 2
Total cost = NRE Cost + Unit cost*# of units
Per product cost = (NRE cost/#of Units) + Unit cost

6
Total cost Vs # of Units
produced
A

T
o
t B
B
a
l
C C
o
s
t

400 # of units 2400


Technology Optimum volume
A Low volume (1 – 400)
B Medium(400 – 2400)
C High Volume(Above 2400)

8
An Example Embedded System

Digital camera

9
Block Diagram

10
 CCD
– Charge couple device
– Contains an array of light senitive photocells that capture Image
 A2D
– Analog images to digital

 D2A
– Digital images to analog

11
 CCP Preprocessor
Commands CCD to read Image
 JPEG Codec
Compress and decompress the image using JPEG Compression standard
 Pixel Coprocessor
For rapid Display of an image
 Memory Controller
Controls access to memory chip found in camera

12
 DMA controller
Enables direct memory access by other devices while the Microcontroller is
performing other functions
 UART

Communication with PC’s serial PORT


 ISA Bus Interface

Enables with faster connection with PC’s ISA Bus

13
 LCD Control & Display Control
Controls the display on the camera LCD Display
 Multiplier/Accumulator

Performs a particular frequently executed compution faster than the µc could

14
Hardware Accelerators
In computing, hardware acceleration is the use of computer hardware specially made to perform some
functions more efficiently than is possible in software running on a general-purpose CPU. Any
transformation of data or routine that can be computed, can be calculated purely in software running
on a generic CPU, purely in custom-made hardware, or in some mix of both. An operation can be
computed faster in application-specific hardware designed or programmed to compute the operation
than specified in software and performed on a general-purpose computer processor. The
implementation of computing tasks in hardware to decrease latency and increase throughput is
known as hardware acceleration.

Hardware acceleration is advantageous for performance, and practical when the functions are fixed
so updates are not as needed as in software solutions.

Computational equivalence of hardware and software

Custom hardware offers higher performance per watt for the same functions that can be specified in
software. Hardware description languages (HDLs) such as Verilog and VHDL can model the same
semantics as software and synthesize the design into a netlist that can be programmed to an FPGA or
composed into logic gates of an application-specific integrated circuit.

Applications

Hardware acceleration is suitable for any computation-intensive algorithm which is executed


frequently in a task or program. Depending upon the granularity, hardware acceleration can vary from
a small functional unit, to a large functional block (like motion estimation in MPEG-2).

Вам также может понравиться