IES - UNIT - 1 - Notes
IES - UNIT - 1 - Notes
Page 1
Difference between Computer and Embedded System
1. Computer:
A computer is a combination of hardware and software resources which integrate
together and provides various functionalities to the user.
2. Embedded Device:
An embedded device is a part of an integrated system which is formed as an combination
of computer hardware and software for a specific function and which can operate without
human interaction.
A computer needs Human Interaction Embedded device does not need Human
2. Human Interaction to perform tasks. Interaction to perform tasks.
The user has to pay more for a The user incurs lesser cost for an embedded
6. Cost to user computer. system.
Computers can be reprogrammed to for Embedded Devices are made only for a specific
8. Purpose a new purpose. set of purposes.
Page 2
S. No. Category Computer Embedded device
Computers are more complex devices Embedded Devices are less complex devices
10. Complexity than Embedded Devices. than Computers.
Need of another Computers may be installed in other Embedded Devices only exist inside other
11. device devices but are self-sufficient to exist. Systems.
Contain a General Purpose Operating May or may not contain an operating system
16. GPOS Requirement System (GPOS). for functioning.
Page 3
History of Embedded Systems
Embedded systems were in existence even before the IT revolution. 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
recognized modem embedded system is the Apollo Guidance Computer (AGC) developed by the
MIT Instrumentation Laboratory for the lunar expedition. They ran the inertial guidance systems of
both the Command Module (CM) and the Lunar Excursion Module (LEM). 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. The Lunar Module featured in total 18 engines. There were
16 reaction control thrusters, a descent engine and an ascent engine. The descent engine was
„designed to‟ provide thrust to the lunar module out of the lunar orbit and land it safely on the moon.
MIT‟s original design was based on 4K words of fixed memory (Read Only Memory) and 256 words
of erasable memory (Random Access Memory). By June 1963, the figures reached 10K of fixed and
IK of erasable memory. The final configuration was 36K words of fixed memory and 2K words of
erasable memory. The clock frequency of the first microchip proto model used in AGC was 1.024
MHz and it was derived from a 2.048 MHz crystal clock. The computing unit of AGC consisted of
approximately 11 instructions and 16 bit word logic. Around 5000 ICs (3-input NOR gates, RTL
logic) supplied by Fairchild Semiconductor were used in this design. The user interface unit of AGC
is known as DSKY (display/keyboard). DSKY looked like a calculator type keypad with an array of
numerals. It was used for inputting the commands to the module numerically.
The first mass-produced embedded system was the guidance computer for the Minuteman-I
missile in 1961. It was the „Autonetics D-l7 guidance computer, built using discrete transistor logic
and a hard-disk for main memory. The first integrated circuit was produced in September 1958 but
computers using them didn‟t begin to appear until 1963. Some of their early uses were in embedded
systems, notably used by NASA for the Apollo Guidance Computer and by the US military in the
Minuteman-II intercontinental ballistic missile.
Page 4
Classification of Embedded Systems
Embedded Systems are classified as:
Based on Generation
Based on Complexity & Performance Requirements
Based on deterministic behavior
Based on Triggering
Third Generation: Embedded Systems built around high performance 16/32 bit
Microprocessors/controllers, Application Specific Instruction set processors like Digital
Signal Processors (DSPs), and Application Specific Integrated Circuits (ASICs).The
instruction set is complex and powerful.
EX: Robotics, industrial process control, networks etc.
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.
EX: Smart phone devices, Mobile Internet Devices (MIDs) etc.
Page 5
3. Embedded Systems - Classification Based on deterministic behavior: It is applicable for
Real Time systems. The application/task execution behavior for an embedded system can be
either deterministic or non-deterministic:
These are classified in to two types
1. Soft Real time Systems: Missing a deadline may not be critical and can be
tolerated to a certain degree.
2. Hard Real time systems: Missing a program/task execution time deadline can
have catastrophic consequences (financial, human loss of life, etc.).
Page 6
Major Application Areas of Embedded Systems
Embedded Systems play a vital role in our day-to-day life, starting from home to Computer/IT
industry. The application and the products in the embedded systems are countless. A few of the
important domains and products are listed as follows:
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.
Entertainment, Gaming and Toys: Play stations, Set-top box, Music Systems, FM
Radio, Graphic Cards, and Electronic Toys.
Page 7
Purpose of Embedded Systems
Each Embedded Systems is designed to serve the purpose of any one or a combination of the
following tasks.
i. Data Collection/Storage/Representation
ii. Data Communication
iii. Data (Signal) Processing
iv. Monitoring
v. Control
vi. Application Specific User Interface
Data Collection/Storage/Representation:
Data Communication:
Page 8
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.
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.
Measuring instruments like Digital CRO, Digital Multi meter, Logic Analyzer etc used in
Control & Instrumentation applications are also examples of embedded systems for
monitoring purpose.
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.
Sensors are connected to the input port for capturing the changes in environmental
variable or measuring variable.
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.
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.
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.
Page 9
Characteristics of Embedded systems:
Embedded systems possess certain specific characteristics and these are unique to each
embedded system.
1. Application and domain specific
2. Reactive and Real Time
3. Operates in harsh environments
4. Distributed
5. Small Size and weight
6. Power concerns
7. Single-functioned
8. Complex functionality
9. Tightly-constrained
10. Safety-critical
4. Distributed:
It means that embedded systems may be a part of a larger system.
Many numbers of such distributed embedded systems form a single large embedded
control unit.
Page 10
Example – Automatic vending machine. It 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.
6. Power Concerns:
Power management is another important factor that needs to be considered in
designing embedded systems.
Embedded Systems should be designed in such a way as to minimize the heat
dissipation by the system.
7. Single-functioned:
Dedicated to perform a single function.
8. Complex functionality:
We have to run sophisticated algorithms or multiple algorithms in some applications.
9. Tightly-constrained:-
Low cost, low power, small, fast, etc.
10. Safety-critical:-
Must not endanger human life and the environment.
Page 11
Quality Attributes of Embedded System:
Quality attributes are the non-functional requirements that need to be documented properly in
any system design. Quality attributes that need to be addressed in any embedded system can be
classified as:
The operational quality attributes represent the relevant quality attributes related to the embedded
system when it is in the operational mode or online mode.
1. Response:-
It is the measure of quickness of the system. It tells how fast the system is tracking the changes
in input variables. Most of the Embedded Systems demands fast response which should be
almost real time.
Ex – Flight control application.
2. Throughput:-
It deals with the efficiency of a system. It can be defined as the rate of production or operation of
a defined process over a stated period of time. The rates can be expressed in terms of products,
batches produced or any other meaningful measurements.
Ex – In case of card reader throughput means how many transactions the reader can perform in a
minute or in an hour or in a day. Throughput is generally measured in terms of “Benchmark”. A
Benchmark is a reference point by which something can be measured.
3. Reliability:-
It is a measure of how much we can rely upon the proper functioning of the system.
Mean Time between Failure (MTBF) and Mean Time To Repair (MTTR) are the terms
used in determining system reliability.
MTBF gives the frequency of failures in hours/weeks/months.
MTTR specifies how long the system is allowed to be out of order following a failure.
For embedded system with critical application need, it should be of the order of minutes.
4. Maintainability:-
It 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 checkup.
Reliability and maintainability are complementary to each other.
A more reliable system means a system with less corrective maintainability requirements
and vice versa.
Maintainability can be broadly classified into two categories
i. Scheduled or Periodic maintenance (Preventive maintenance)
ii. Corrective maintenance to unexpected failures
Maintainability is simply an indication of the product‟s availability for use, the ideal value for
availability for use is expressed as AoU = MTBF/(MTBF + MTTR)
Page 12
5. Security:-
Security of data and application can be determined by the three major measures of information
security -- Confidentiality, Integrity and Availability.
Confidentiality deals with protection of data and application from unauthorized
disclosure.
Integrity deals with the protection of data and application from unauthorized
modification.
Availability deals with protection of data and application from unauthorized users.
6. Safety:-
Safety deals with the possible damages that can happen to the operator, public and the
environment due to the breakdown of an Embedded System. The breakdown of an embedded
system may occur due to a hardware failure or a firmware failure. Safety analysis is a must in
product engineering to evaluate the anticipated damages and determine the best course of action
to bring down the consequences of damage to an acceptable level.
2. Evolvability :-
It is a term which is closely related to Biology.
It is referred as the non-heritable variation.
For an embedded system evolvability refers to the ease with which the embedded product
can be modified to take advantage of new firmware or hardware technologies.
3. Portability:-
It is the measure of system independence.
An embedded product is said to be portable if the product is capable of functioning in
various environments, target processors and embedded operating systems.
Page 13
“Porting” represents the migration of embedded firmware written for one target processor
to a different target processor.