UNIT - 1
UNIT - 1
Contain a General-Purpose Operating System May or may not contain an operating system
(GPOS) for functioning
Applications are alterable (programmable) by The firmware of the embedded system is
user (It is possible for the end user to re install preprogrammed and it is non-alterable by end
the Operating System, and add or remove user user
applications)
Performance is the key deciding factor on the Application specific requirements (like
selection of the system. Always “Faster is performance, power requirements, memory
Better‟ usage etc) are the key deciding factors
Less/not at all tailored towards reduced Highly tailored to take advantage of the
operating power requirements, options for power saving modes supported by hardware
different levels of power management. and Operating System
Response requirements are not time critical For certain category of embedded systems
like mission critical systems, the response
time requirement is highly critical
• In the olden days embedded systems were built around the old vacuum tube and
transistor technologies and the embedded algorithm was developed in low level
languages.
• Advances in semiconductor and Nano-Technology and IT revolution gave way to the
development of miniature embedded systems.
• The first recognised modern embedded system is the Apollo Guidance Computer
(AGC) developed by the MIT instrumentation laboratory for the LUNAR
EXPEDITION.
o They ran the inertial guidance systems of both the Command Module (CM)
and Lunar Excursion Module (LEM).
o The command module was designed to encircle the moon while the Lunar
Module and its crew were designed to go down to the moon surface and land
there safely.
o The Lunar Module featured in total 18 engines. There were 16 reaction
control thrusters, a descent engine and an ascent engine.
First Generation:
• The early embedded systems built around 8-bit microprocessors like 8085 and Z80 and
4-bit microcontrollers.
• Simple in hardware circuits with firmware developed in assembly code.
• Example are, stepper motor control units, Digital Telephone Keypads etc.
Third Generation:
Fourth Generation:
• Embedded Systems built around System on Chips (SoC’s), Re- configurable processors
and multicore processors. It brings high performance, tight integration and
miniaturization into the embedded device market.
• Example are, Smart phone devices, MIDs etc.
It is applicable for Real Time systems. The application/task execution behaviour for an
embedded system can be either deterministic or non-deterministic
Soft Real time Systems: Missing a deadline may not be critical and can be tolerated to a certain
degree
Eg: ATM & Multimedia Systems
Hard Real time systems: Missing a program/task execution time deadline can have
catastrophic consequences (financial, human loss of life, etc.)
Eg: Air Bag control systems, Anti- lock braking System
Event Triggered: Activities within the system (e.g., task run-times) are dynamic and depend
upon occurrence of different events.
Eg: Medical device monitoring
Time triggered: Activities within the system follow a statically computed schedule (i.e., they
are allocated time slots during which they can take place) and thus by nature are predictable.
Eg: Car Maintenance System
Measurement & Instrumentation: Digital multi meters, Digital CROs, Logic Analyzers PLC
systems etc.
Banking & Retail: Automatic Teller Machines (ATM) and Currency counters, Point of Sales
(POS) .
Card Readers: Barcode, Smart Card Readers, Hand held Devices etc.
Wearable Devices: Health and Fitness Trackers, Smartphone Screen Extension for notification
Data Collection/Storage/Representation
Embedded Systems designed for the purpose of data collection performs acquisition of data
from the external world.
Data Communication
Embedded Data communication systems are deployed in applications ranging from complex
satellite communication systems to simple home networking systems.
• The data communication can happen through a wired interface (like Ethernet,
RS232C/USB/IEEE1394 etc) or wireless interface (like Wi-Fi, GSM,/GPRS, Bluetooth,
ZigBee etc)
• Network hubs, Routers, switches, Modems etc are typical examples for dedicated data
transmission embedded systems
Monitoring
Embedded systems coming under this category are specifically designed for monitoring purpose
• They are used for determining the state of some variables using input sensors
• They cannot impose control over variables.
o Electro Cardiogram (ECG) machine for monitoring the heart beat of a patient is
a typical example for this. The sensors used in ECG are the different Electrodes
connected to the patient’s body.
Control
Embedded systems with control functionalities are used for imposing control over some
variables according to the changes in input variables
• Embedded system with control functionality contains both sensors and actuators
o Sensors are connected to the input port for capturing the changes in
environmental variable or measuring variable
o The actuators connected to the output port are controlled according to the
changes in input variable to put an impact on the controlling variable to bring the
controlled variable to the specified range
• Air conditioner for controlling room temperature is a typical example for embedded
system with Control functionality
o Air conditioner contains a room temperature sensing element (sensor) which may
be a thermistor and a handheld unit for setting up (feeding) the desired
temperature
o The air compressor unit acts as the actuator. The compressor is controlled
according to the current room temperature and the desired temperature set by the
end user.
Embedded systems with application - specific user interfaces like keypad, lights, bells, buttons,
switches, display units, etc.
EX: Mobile phone – In this user interface is provided through the keypad, graphic LCD module,
system speaker, vibration alert, etc.
Each embedded system is having certain function to perform and they are developed in such a
manner to do the intended functions only.
• They cannot be used for any other purpose. It is the major criterion which distinguishes
an embedded system from a general-purpose system.
• For example, we cannot replace the embedded control unit of your micro oven with air
conditioner’s embedded control unit, because the embedded control units of micro oven
and air conditioner are specifically designed to perform certain specific tasks.
Embedded systems are in constant interaction with the real world through sensor and user-
defined input devices which are connected to the input port of the system.
• Any changes happening in the real world is captured by the sensor input devices in real
time and control algorithm running inside the unit reacts in a designed manner to bring
the controlled output variables to the desired level.
• The event may be periodic or unpredicted one. If the event is unpredicted one then such
a system should be designed in a such a way that, it should be scheduled to capture the
events without missing them.
Embedded systems produce changes in the output as changes in the input. So, they are generally
referred as Reactive systems.
Real time system operation means the timing behaviour of the system should be deterministic;
meaning the system should respond to request or tasks in a known amount of time.
The environment in which the embedded system deployed may be a dusty one or a high
temperature zone or an area subject to vibrations and shock.
System placed in such areas should be capable to withstand all these adverse operating
conditions. The design should take care of the operating conditions of the area where the system
is going to implement.
Distributed
The term distributed means that embedded system may be a part of larger system. Many
numbers of such distributed embedded system form a single large embedded control unit.
An automatic vending machine is a typical example for this. The vending machine contains a
card reader, a vending unit, etc. Each of them are independent embedded units but they work
together to perform the overall Vending function.
Example: When we plan to buy a new mobile phone, we make a comparative study of
the products available in the market
Most of the applications demand small sized and low weight products.
Power concerns
Power management is another important factor that needs to consider in designing embedded
system.
• Embedded systems should be designed in such a way as to minimize the heat dissipation
by the system.
• The production of large amount of heat demands cooling requirements like cooling fans
which in turn occupies additional space and make the system bulky.
Select the design according to the low power consumption like low dropout regulator, and
controllers/processors with power consuming modes.
Quality attributes are the non – functional attributes that need to be documented properly in
any system design.
They are broadly classified into two, namely
• Operational Quality attributes
• Non- Operational Quality attributes
The operational quality attributes represent the relevant quality attributes related to the
embedded systems when it is in the operational mode or ‘online’ mode.
• Response
• Throughput
• Reliability
• Maintainability
• Security
• Safety
Response
• Response is a measure of quickness of the system. It gives an idea about how fast your
system is tracking the changes in input variables.
• Most of the embedded system demand fast response which should be almost real time.
Throughput
• Throughput deals with the efficiency of a system.
• It can be defined as the rate of production or operation of a defined process over a started
period of time.
Reliability
• Reliability is a measure of how much % you can rely upon the proper functioning of the
system or what is the % susceptibility of the system to failures.
• Mean time between failures (MTBF) and mean time to repair (MTTR) are the terms used
in defining system reliability.
o MTBF gives the frequency of failures in hours/weeks/months.
o MTTR specifies how long the system is allowed to be out of order
following a failure.
Maintainability
• Maintainability deals with support and maintenance to the end user or client in case of
technical issues and product failure or on the basis of a routine system check-up.
• Reliability and maintainability are considered as two complementary disciplines.
• A more reliable system means a system with less corrective maintainability
requirements and vice versa.
• As the reliability of the system increases the chances of failure and non-functioning also
reduces, thereby the need for maintainability is also reduced.
• Maintainability is closely related to the system availability.
• Maintainability can be broadly classified into:
o Scheduled or periodic Maintenance
o Maintenance to unexpected failures
• In any embedded system design, the ideal value for availability is expressed as
Ai = MTBF/(MTBF+MTTR)
‘confidentiality’, ‘integrity’ and ‘availability’ are the three major measures of information
security.
• Confidentiality deals with the protection of data and application from unauthorised
disclosure.
• Integrity deals with the protection of data and application from unauthorized
modification.
• Availability deals with protection data and application from authorized users.
A very good example of the security aspect in a embedded product is a Personal Digital
assistant (PDA).
Safety
Safety deals with the possible damage that can happen to the operators, public and the
environment due to the breakdown of an embedded system or due to the emission of radioactive
or hazardous material from the embedded products.
• Safety analysis is must in product engineering to evaluate the anticipated damages and
determine the best course of action to bring down the consequences of the damages to
an acceptable level.
The important quality attributes coming under this category are listed below.
Testability deals with how easily one can test his/ her design, application and by which means
he/she can test it.
Evolvability
• For an embedded system, the quality attributes refers to the ease with which the
embedded product (including firmware and hardware) can be modified to take advantage
of new firmware or hardware technologies.
Portability
Time-to-market is the time elapsed between the conceptualization of a product and the time at
which the product is ready for selling (for commercial product) or use (for noncommercial
product).
• The commercial embedded product market is highly competitive and time to market the
product is a critical factor in the success of a commercial embedded product.
• Product prototyping helps a lot in reducing time -to-market. whenever you have a
product idea, you may not be certain about the feasibility of the idea is an informal kind
of rapid development in which the important features of the product under consideration
are development in which the important is also another critical factor.
• If the prototype is developed faster, the actual estimate can be brought down
significantly.
• In order to shorten the time to prototype, make use of all possible options like the use of
off-the-shelf components, re-usable assets, etc.
Cost is a factor which is closely monitored by both end user (those who buy the product) and
product manufacturer (those who build the product).
Cost is a highly sensitive factor for commercial products.
Any failure to position the cost of a commercial product at nominal rate, may lead to the failure
of e product in the market.
• Proper market study and cost benefit analysis should be carried out before taking a
decision on the per -unit cost of the embedded products.
Embedded product has a product life cycle which starts with the design and developments phase.
• The product idea generation, prototyping, definition, actual product design and
development. Exponent are the activities carried out during this phase.
• During the design and development phase there is only investment and no returns once
the product is ready to sell, it is introduced to the market. This stage is known as the
Product Iteration stage.
• During the initial period the sales and revenues will be low. There won’t be much
competition and the products sales and revenue increases with time the growth phase,
the product grabs high market. The maturity phase, the growth and sales will be steady
and the revenue reaches at its peak.
• The Product Retirement/Decline phase starts with the drop in sales volume, market share
and revenue the/decline happen due to various reasons like competition from similar
product with enhanced features or technology changes, etc.
• At some point of the decline stage, the manufacturer announces discontinuing of the
product.
The different stages of the embedded products life cycle-revenue, unit cost and profit in each
stage-are represented in the following Product Life-cycle graph.
• From the graph, it is clear that the total revenue increases from the product introduction
stage to the product maturity stage.
• The revenue peaks at the maturity stage and starts falling in the declined/retirement
stage.
• The unit cost is very high during the Introductory stage (a typical example is cell phone
if you buy a new model of cell phone during its launch time, the price will be high and
you will get the same model with a very reduced price after three or four months of its
launching). The profit increases with increase in sales and attains a steady value and
then falls with a dip in sales.
You can see a negative value for profit during the initial period. It is because during the product
development phase there is only investment and no returns. Profit occurs only when the total
returns exceed the investment and operating cost.
A typical embedded system contains a single chip controller which acts as the master brain of
the system. Diagrammatically an embedded system can be represented as follows:
FPGA/ASIC/DSP/SoC Embedded
Microprocessor/controller
Firmware
Memory
Communication Interface
System
I/p Ports
(Sensors)
Core O/p Ports
(Actuators)
Other supporting
Integrated Circuits &
subsystems
Embedded System
Real World
Keyboards, push button, switches, etc. are Examples of common user interface input devices
and LEDs, LCDs, Piezoelectric buzzers, etc examples for common user interface output devices
for a typical embedded system. The requirement of type of user interface changes from
application to application based on domain.
The core of the system performs some predefined operations on input data with the help of
embedded firmware in the system and sends some actuating signals to the actuator connect
connected to the output port of the system.
The memory of the system is responsible for holding the code (control algorithm and other
important configuration details).
Microprocessor:
A silicon chip representing a Central Processing Unit (CPU), which is capable of performing
arithmetic as well as logical operations according to a pre-defined set of Instructions, which is
specific to the manufacturer.
• In general, the CPU contains the Arithmetic and Logic Unit (ALU), Control Unit and
Working registers.
• Microprocessor is a dependant unit and it requires the combination of other hardware
like Memory, Timer Unit, and Interrupt Controller etc for proper functioning.
Intel claims the credit for developing the first Microprocessor unit Intel 4004, a 4 bit processor
which was released in Nov 1971.
Developers of microprocessors.
➢ Intel – Intel 4004 – November 1971(4-bit) Intel – Intel 4040.
➢ Intel – Intel 8008 – April 1972.
➢ Intel – Intel 8080 – April 1974(8-bit).
➢ Motorola – Motorola 6800.
➢ Intel – Intel 8085 – 1976.
➢ Zilog - Z80 – July 1976
A highly integrated silicon chip containing a CPU, scratch pad RAM, Special and General
purpose Register Arrays, On Chip ROM/FLASH memory for program storage, Timer and
Interrupt control units and dedicated I/O ports.
• Microcontrollers can be considered as a super set of Microprocessors.
• Microcontroller can be general purpose (like Intel 8051, designed for generic
applications and domains) or application specific (Like Automotive AVR from Atmel
Corporation. Designed specifically for automotive applications)
• Since a microcontroller contains all the necessary functional blocks for independent
working, they found greater place in the embedded domain in place of microprocessors
• Microcontrollers are cheap, cost effective and are readily available in the market
• Texas Instruments TMS 1000 is considered as the world‟s first microcontroller
Microprocessor Vs Microcontroller :
Microprocessor Microcontroller
A silicon chip representing a Central A microcontroller is a highly integrated chip
Processing Unit (CPU), which is capable of that contains a CPU, scratch pad RAM,
performing arithmetic as well as logical Special and General-purpose Register Arrays,
operations according to a pre-defined set of On Chip ROM/FLASH memory for program
Instructions storage, Timer and Interrupt control units and
dedicated I/O ports
It is a dependent unit. It requires the It is a self-contained unit and it doesn’t
combination of other chips like Timers, require external Interrupt Controller, Timer,
Program and data memory chips, Interrupt UART etc. for its functioning
controllers etc. for functioning
Most of the time general purpose in design Mostly application oriented or domain
and operation specific
Targeted for high end market where Targeted for embedded market where
performance is important performance is not so critical (At present this
demarcation is invalid)
Limited power saving options compared to Includes lot of power saving features
microcontrollers
• GPPs are produced in large volumes and targeting the general market. Due to the high-
volume production, the per unit cost for a chip is low compared to ASIC or other specific
ICs.
• A typical general-purpose processor contains an Arithmetic and Logic Unit (ALU) and
Control Unit (CU).
Application Specific Instruction Set processors (ASIPs) are processors with architecture and
instruction set optimized to specific domain/application requirements like Network processing,
Automotive, Telecom, media applications, digital signal processing, control applications etc.
• ASIPs fill the architectural spectrum between General Purpose Processors and
Application Specific Integrated Circuits (ASICs).
• The need for an ASIP arises when the traditional general purpose processor are unable
to meet the increasing application needs
• Some Microcontrollers (like Automotive AVR, USB AVR from Atmel), System on
Chips, Digital Signal Processors etc are examples of Application Specific Instruction
Set Processors (ASIPs)
• ASIPs incorporate a processor and on-chip peripherals, demanded by the application
requirement, program and data memory
• Powerful special purpose 8/16/32 bit microprocessors designed specifically to meet the
computational demands and power constraints of today's embedded audio, video, and
communications applications
• Digital Signal Processors are 2 to 3 times faster than the general-purpose
microprocessors in signal processing applications
• DSPs implement algorithms in hardware which speeds up the execution whereas general
purpose processors implement the algorithm in firmware and the speed of execution
depends primarily on the clock for the processors
• DSP can be viewed as a microchip designed for performing high speed computational
operations for addition, subtraction, multiplication and division
A typical Digital Signal Processor incorporates the following key units:
• Program Memory: It is a memory for storing the program required by DSP to
process the data.
• Data Memory: It is a working memory for storing temporary variables and
data/signal to be processed.
• Computational Engine: It performs the signal processing in accordance with the
stored program memory computational engine incorporated many specialized
arithmetic units and each of them operates simultaneously to increase the execution
speed. It also includes multiple hardware shifters for shifting operands and saves
execution time.
• I/O Unit: It acts as an interface between the outside world and DSP. It is responsible
for capturing signals
Audio video signal processing, telecommunication and multimedia applications are
typical examples where DSP is employed
RISC CISC
Lesser no. of instructions Greater no. of Instructions
Instruction Pipelining and increased Generally, no instruction pipelining feature
execution speed
The terms Harvard and Von-Neumann refers to the processor architecture design.
Separate buses for Instruction and Data Single shared bus for Instruction and Data
fetching fetching
Easier to Pipeline, so high performance can be Low performance Compared to Harvard
achieved Architecture
Comparatively high cost Cheaper
No memory alignment problems Allows self modifying codes
Since data memory and program memory are Since data memory and program memory are
stored physically in different locations, no stored physically in same chip, chances for
chances for accidental corruption of program accidental corruption of program memory
memory
• Endianness specifies the order in which the data is stored in the memory by processor
operations in a multi byte system (Processors whose word size is greater than one byte).
Suppose the word length is two byte then data can be stored in memory in two different
ways
o Higher order of data byte at the higher memory and lower order of data byte at
location just below the higher memory
o Lower order of data byte at the higher memory and higher order of data byte at
location just below the higher memory
• Little-endian means the lower-order byte of the data is stored in memory at the lowest
address, and the higher-order byte at the highest address. (The little end comes first)
The RISC processor instruction set is orthogonal and it operates on registers. The memory access
related operations are performed by the special instructions load and store. If the operand is
specified as memory location, the content of it is loaded to a register using the load instruction.
The instruction store stores data from a specified register to a specified memory location.
Field Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices
(CPLDs) are the two major types of programmable logic devices
FPGA:
• FPGA is an IC designed to be configured by a designer after manufacturing. FPGAs
offer the highest amount of logic density, the most features, and the highest performance.
Logic gate is Medium to high density ranging from 1K to 500K system gates.
CPLD:
Advantages of PLDs:
• COTS products are designed in such a way to provide easy integration and
interoperability with existing system components.
• Typical examples for the COTS hardware unit are Remote Controlled Toy Car control
unit including the RF Circuitry part, High performance, high frequency microwave
electronics (2 to 200 GHz), High bandwidth analog-to-digital converters, devices and
components for operation at very high temperatures, Electro-optic IR imaging arrays,
UV/IR Detectors etc.
A COTS component in turn contains a General Purpose Processor (GPP) or Application Specific
Instruction Set Processor (ASIP) or Application Specific Integrated Chip (ASIC)/Application
Specific Standard Product (ASSP) or Programmable Logic Device (PLD)
The major advantage of using COTS is that they are readily available in the market, cheap and
a developer can cut down his/her development time to a great extent.
• There is no need to design the module yourself and write the firmware.
• Everything will be readily supplied by the COTs manufacturer.
The major problem faced by the end-user is that there are no operational and manufacturing
standards.
• The major drawback of using COTs component in embedded design is that the
manufacturer may withdraw the product or discontinue the production of the COTs at
any time if rapid change in technology.
• This problem adversely affect a commercial manufacturer of the embedded system
which makes use of the specific COTs