0% found this document useful (0 votes)
19 views

Es Lecture Notes

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

Es Lecture Notes

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Embedded Systems Design

EMBEDDED SYSTEMS DESIGN


LECTURE NOTES
SYLLABUS:
Unit-I
Introduction to Embedded Systems:
Definition of Embedded System, Embedded Systems Vs General Computing Systems,
History of Embedded Systems, Classification, Major Application Areas, Purpose of Embedded
Systems, Characteristics and Quality Attributes of Embedded Systems.
UNIT-II
Typical Embedded System:
Core of the Embedded System: General Purpose and Domain Specific Processors,
ASICs, PLDs, Commercial Off-The-Shelf Components (COTS), Memory: ROM, RAM,
Memory according to the type of Interface, Memory Shadowing, Memory selection for
Embedded Systems, Sensors and Actuators, Communication Interface: Onboard and External
Communication Interfaces.
UNIT-III
Embedded Firmware:
Reset Circuit, Brown-out Protection Circuit, Oscillator Unit, Real Time Clock, Watchdog
Timer, Embedded Firmware Design Approaches and Development Languages.
UNIT-IV
RTOS Based Embedded System Design:
Operating System Basics, Types of Operating Systems, Tasks, Process and Threads,
Multiprocessing and Multitasking, Task Scheduling.
UNIT- V
Task Communication:
Shared Memory, Message Passing, Remote Procedure Call and Sockets, Task
Synchronization: Task Communication Synchronization Issues, Task Synchronization
Techniques, Device Drivers, How to Choose an RTOS.
TEXT BOOKS:
1. Introduction to Embedded Systems - Shibu K.V, Mc Graw Hill.
REFERENCE BOOKS:
1. Embedded Systems - Raj Kamal, TMH.
2. Embedded System Design - Frank Vahid, Tony Givargis, John Wiley.
3. Embedded Systems – Lyla, Pearson, 2013
4. An Embedded Software Primer - David E. Simon, Pearson Education.

Dept. of ECE, TKRCET Page 1


Embedded Systems Design

UNIT - I
EMBEDDED SYSTEM: AN INTRODUCTION
OBJECTIVES
 To understand what is an Embedded System and then define it
 Look at embedded systems from a historical point of view
 Classify embedded systems
 Look at certain applications & purposes of embedded systems
 Understand the characteristics of Embedded system
 Understand the attributes related to quality of embedded system
INTRODUCTION
This chapter introduces the reader to the world of embedded systems. Everything that we
look around us today is electronic. The days are gone where almost everything was manual. Now
even the food that we eat is cooked with the assistance of a microchip (oven) and the ease at
which we wash our clothes is due to the washing machine. This world of electronic items is
made up of embedded system. In this chapter we will understand the basics of embedded system
right from its definition.
DEFINITION OF AN EMBEDDED SYSTEM
An embedded system is a combination of 3 things:
a. Hardware
b. Software
c. Mechanical Components
and it is supposed to do one specific task only.
Example 1: Washing Machine
A washing machine from an embedded systems point of view has:
a. Hardware: Buttons, Display & buzzer, electronic circuitry.
b. Software: It has a chip on the circuit that holds the software which drives controls &
monitors the various operations possible.
c. Mechanical Components: the internals of a washing machine which actually wash the
clothes control the input and output of water, the chassis itself.
Example 2: Air Conditioner
An Air Conditioner from an embedded systems point of view has:

Dept. of ECE, TKRCET Page 2


Embedded Systems Design

a. Hardware: Remote, Display & buzzer, Infrared Sensors, electronic circuitry.


b. Software: It has a chip on the circuit that holds the software which drives controls &
monitors the various operations possible. The software monitors the external
temperature through the sensors and then releases the coolant or suppresses it.
c. Mechanical Components: the internals of an air conditioner the motor, the chassis,
the outlet, etc
An embedded system is designed to do a specific job only. Example: a washing machine
can only wash clothes, an air conditioner can control the temperature in the room in which it is
placed. The hardware & mechanical components will consist of all the physically visible things
that are used for input, output, etc. An embedded system will always have a chip (either
microprocessor or microcontroller) that has the code or software which drives the system.
HISTORY OF EMBEDDED SYSTEM
 The first recognised embedded system is the Apollo Guidance Computer (AGC)
developed by MIT lab.
 AGC was designed on 4K words of ROM & 256 words of RAM.
 The clock frequency of first microchip used in AGC was 1.024 MHz.
 The computing unit of AGC consist of 11 instructions and 16 bit word logic.
 It used 5000 ICs.
 The UI of AGC is known DSKY (display/keyboard) which resembles a calculator
type keypad with array of numerals.
 The first mass-produced embedded system was guidance computer for the Minuteman-I
missile in 1961.
 In the year 1971 Intel introduced the world's first microprocessor chip called the 4004, as
designed for use in business calculators. It was produced by the Japanese company
Busicom.
EMBEDDED SYSTEM & GENERAL PURPOSE COMPUTER
The Embedded System and the General purpose computer are at two extremes. The
embedded system is designed to perform a specific task whereas as per definition the general
purpose computer is meant for general use. It can be used for playing games, watching movies,
creating software, work on documents or spreadsheets etc.

Dept. of ECE, TKRCET Page 3


Embedded Systems Design

Following are certain specific points of difference between embedded systems and
general purpose computers:

CLASSIFICATION OF EMBEDDED SYSTEM


The classification of embedded system is based on following criteria's:
 On generation
 On complexity & performance
 On deterministic behaviour
 On triggering
On Generation:
1. First generation (1G):
 Built around 8bit microprocessor & microcontroller.
 Simple in hardware circuit & firmware developed.
 Examples: Digital telephone keypads.
2. Second generation (2G):
 Built around 16-bit µp & 8-bit µc.

Dept. of ECE, TKRCET Page 4


Embedded Systems Design

 They are more complex & powerful than 1G µp & µc.


 Examples: SCADA systems
3. Third generation (3G):
 Built around 32-bit µp & 16-bit µc.
 Concepts like Digital Signal Processors (DSPs), Application Specific Integrated
Circuits (ASICs) evolved.
 Examples: Robotics, Media, etc.
4. Fourth generation (4G):
 Built around 64-bit µp & 32-bit µc.
 The concept of System on Chips (SoC), Multicore Processors evolved.
 Highly complex & very powerful.
 Examples: Smart Phones.
On Complexity & Performance:
1. Small-scale:
 Simple in application need.
 Performance not time-critical.
 Built around low performance & low cost 8 or 16 bit µp/µc.
 Example: an electronic toy.
2. Medium-scale:
 Slightly complex in hardware & firmware requirement.
 Built around medium performance & low cost 16 or 32 bit µp/µc.
 Usually contain operating system.
 Examples: Industrial machines.
3. Large-scale:
 Highly complex hardware & firmware.
 Built around 32 or 64 bit RISC µp/µc or PLDs or Multicore Processors.
 Response is time-critical.
 Examples: Mission critical applications.
On Deterministic Behaviour
 This classification is applicable for “Real Time” systems.

Dept. of ECE, TKRCET Page 5


Embedded Systems Design

 The task execution behavior for an embedded system may be deterministic or


non-deterministic. Based on execution behavior Real Time embedded systems are
divided into Hard and Soft.
On Triggering
 Embedded systems which are “Reactive” in nature can be based on triggering.
 Reactive systems can be:
o Event triggered
o Time triggered
APPLICATION OF EMBEDDED SYSTEM
The application areas and the products in the embedded domain are countless.
1. Consumer Electronics: Camcorders, Cameras.
2. Household appliances: Washing machine, Refrigerator.
3. Automotive industry: Anti-lock breaking system (ABS), engine control.
4. Home automation & security systems: Air conditioners, sprinklers, fire alarms.
5. Telecom: Cellular phones, telephone switches.
6. Computer peripherals: Printers, scanners.
7. Computer networking systems: Network routers and switches.
8. Healthcare: EEG, ECG machines.
9. Banking & Retail: Automatic teller machines, point of sales.
10. Card Readers: Barcode, smart card readers.
PURPOSE OF EMBEDDED SYSTEM
1. Data Collection/Storage/Representation
 Embedded system designed for the purpose of data collection performs acquisition of
data from the external world.
 Data collection is usually done for storage, analysis, manipulation and transmission.
 Data can be analog or digital.
 Embedded systems with analog data capturing techniques collect data directly in the
form of analog signal whereas an embedded system with digital data collection
mechanism converts the analog signal to the digital signal using analog to digital
converters.
 If the data is digital it can be directly captured by digital embedded system.

Dept. of ECE, TKRCET Page 6


Embedded Systems Design

 A digital camera is a typical example of an embedded System with data


collection/storage/representation of data.
 Images are captured and the captured image may be stored within the memory of the
camera. The captured image can also be presented to the user through a graphic LCD
unit.
2. Data communication
 Embedded data communication systems are deployed in applications from complex
satellite communication to simple home networking systems.
 The transmission of data is achieved either by a wire-line medium or by a wire-less
medium.
 Data can either be transmitted by analog means or by digital means.
 Wireless modules-Bluetooth, Wi-Fi.
 Wire-line modules-USB, TCP/IP.
 Network hubs, routers, switches are examples of dedicated data transmission embedded
systems.
3. Data signal processing
 Embedded systems with signal processing functionalities are employed in applications
demanding signal processing like speech coding, audio video codec, transmission
applications etc.
 A digital hearing aid is a typical example of an embedded system employing data
processing.
 Digital hearing aid improves the hearing capacity of hearing impaired person
4. Monitoring
 All embedded products coming under the medical domain are with monitoring
functions.
 Electro cardiogram machine is intended to do the monitoring of the heartbeat of a
patient but it cannot impose control over the heartbeat.
 Other examples with monitoring function are digital CRO, digital multi-meters, and
logic analyzers.
5. Control
 A system with control functionality contains both sensors and actuators.

Dept. of ECE, TKRCET Page 7


Embedded Systems Design

 Sensors are connected to the input port for capturing the changes in environmental
variable and the actuators connected to the output port are controlled according to the
changes in the input variable.
 Air conditioner system used to control the room temperature to a specified limit is a
typical example for CONTROL purpose.
6. Application specific user interface
 Buttons, switches, keypad, lights, bells, display units etc are application specific user
interfaces.
 Mobile phone is an example of application specific user interface.
 In mobile phone the user interface is provided through the keypad, system speaker,
vibration alert etc.
CHARACTERISTICS & QUALITY ATTRIBUTES OF EMBEDDED SYSTEMS
The characteristics of embedded system are different from those of a general purpose
computer and so are its Quality metrics. This chapter gives a brief introduction on the
characteristics of an embedded system and the attributes that are associated with its quality.
CHARACTERISTICS OF EMBEDDED SYSTEM
Following are some of the characteristics of an embedded system that make it different
from a general purpose computer:
1. Application and Domain specific
 An embedded system is designed for a specific purpose only. It will not do any other
task.
o Ex. A washing machine can only wash, it cannot cook
 Certain embedded systems are specific to a domain
o Ex. A hearing aid is an application that belongs to the domain of signal
processing.
2. Reactive and Real time
 Certain Embedded systems are designed to react to the events that occur in the nearby
environment. These events also occur real-time.
o Ex. An air conditioner adjusts its mechanical parts as soon as it gets a signal from
its sensors to increase or decrease the temperature when the user operates it using
a remote control.

Dept. of ECE, TKRCET Page 8


Embedded Systems Design

 An embedded system uses Sensors to take inputs and has actuators to bring out the
required functionality.
3. Operation in harsh environment
 Certain embedded systems are designed to operate in harsh environments like very high
temperature of the deserts or very low temperature of the mountains or extreme rains.
 These embedded systems have to be capable of sustaining the environmental conditions it
is designed to operate in.
4. Distributed
 Certain embedded systems are part of a larger system and thus form components of a
distributed system.
 These components are independent of each other but have to work together for the larger
system to function properly.
o Ex. A car has many embedded systems controlled to its dash board. Each one is
an independent embedded system yet the entire car can be said to function
properly only if all the systems work together.
5. Small size and weight
 An embedded system that is compact in size and has light weight will be desirable or
more popular than one that is bulky and heavy.
o Ex. Currently available cell phones. The cell phones that have the maximum
features are popular but also their size and weight is an important characteristic.
 For convenience users prefer mobile phones than phablets. (phone + tablet pc)
6. Power concerns
 It is desirable that the power utilization and heat dissipation of any embedded system be
low.
 If more heat is dissipated then additional units like heat sinks or cooling fans need to be
added to the circuit.
 If more power is required then a battery of higher power or more batteries need to be
accommodated in the embedded system.
QUALITY ATTRIBUTES OF EMBEDDED SYSTEM
These are the attributes that together form the deciding factor about the quality of an
embedded system.

Dept. of ECE, TKRCET Page 9


Embedded Systems Design

There are two types of quality attributes are:-


1. Operational Quality Attributes.
 These are attributes related to operation or functioning of an embedded system. The way
an embedded system operates affects its overall quality.

2. Non-Operational Quality Attributes.


 These are attributes not related to operation or functioning of an embedded system. The
way an embedded system operates affects its overall quality.
 These are the attributes that are associated with the embedded system before it can be put
in operation.
Operational Attributes
a) Response
 Response is a measure of quickness of the system.
 It gives you an idea about how fast your system is tracking the input variables.
 Most of the embedded system demand fast response which should be real-time.
b) Throughput
 Throughput deals with the efficiency of system.
 It can be defined as rate of production or process of a defined process over a stated period
of time.
 In case of card reader like the ones used in buses, throughput means how much
transaction the reader can perform in a minute or hour or day.
c) Reliability
 Reliability is a measure of how much percentage you rely upon the proper functioning of
the system.
 Mean Time between failures and Mean Time to Repair are terms used in defining system
reliability.
 Mean Time between failures can be defined as the average time the system is functioning
before a failure occurs.
 Mean time to repair can be defined as the average time the system has spent in repairs.
d) Maintainability

Dept. of ECE, TKRCET Page 10


Embedded Systems Design

 Maintainability deals with support and maintenance to the end user or a client in case of
technical issues and product failures or on the basis of a routine system check-up
 It can be classified into two types :-
1. Scheduled or Periodic Maintenance
 This is the maintenance that is required regularly after a periodic time interval.
Example: Periodic Cleaning of Air Conditioners, Refilling of printer cartridges.
2. Maintenance to unexpected failure
 This involves the maintenance due to a sudden breakdown in the functioning of the
system.
Example: Air conditioner not powering on, Printer not taking paper in spite of a full
paper stack
e) Security
 Confidentiality, Integrity and Availability are three corner stones of information
security. Confidentiality deals with protection data from unauthorized disclosure.
 Integrity gives protection from unauthorized modification. Availability gives protection
from unauthorized use.
 Certain Embedded systems have to make sure they conform to the security measures.
Ex. An Electronic Safety Deposit Locker can be used only with a pin number like a
password.
f) Safety
 Safety deals with the possible damage that can happen to the operating person and
environment due to the breakdown of an embedded system or due to the emission of
hazardous materials from the embedded products.
 A safety analysis is a must in product engineering to evaluate the anticipated damage and
determine the best course of action to bring down the consequence of damages to an
acceptable level.
Non Operational Attributes
a) Testability and Debug-ability
 It deals with how easily one can test his/her design, application and by which mean
he/she can test it.
 In hardware testing the peripherals and total hardware function in designed manner

Dept. of ECE, TKRCET Page 11


Embedded Systems Design

 Firmware testing is functioning in expected way


 Debug-ability is means of debugging the product as such for figuring out the probable
sources that create unexpected behavior in the total system
b) Evolvability
 For embedded system, the qualitative attribute “Evolvability” refer to ease with which
the embedded product can be modified to take advantage of new firmware or hardware
technology.
c) Portability
 Portability is measured of “system Independence”.
 An embedded product can be called portable if it is capable of performing its operation as
it is intended to do in various environments irrespective of different processor and or
controller and embedded operating systems.
d) Time to prototype and market
 Time to Market is the time elapsed between the conceptualization of a product and time
at which the product is ready for selling or use
 Product prototyping help in reducing time to market.
 Prototyping is an informal kind of rapid product development in which important feature
of the under consider are develop.
 In order to shorten the time to prototype, make use of all possible option like use of
reuse, off the self component etc.
e) Per unit and total cost
 Cost is an important factor which needs to be carefully monitored.
 Proper market study and cost benefit analysis should be carried out before taking decision
on per unit cost of the embedded product.
 When the product is introduced in the market, for the initial period the sales and revenue
will be low
 There won’t be much competition when the product sales and revenue increase.
 During the maturing phase, the growth will be steady and revenue reaches highest point
and at retirement time there will be a drop in sales volume.
REVIEW QUESTIONS
1. Define Embedded System with the help of Microwave Owen as an example.

Dept. of ECE, TKRCET Page 12


Embedded Systems Design

2. Differentiate between general purpose computers & embedded systems.


3. Give a classification of embedded systems.
4. List some applications of embedded systems.
5. Explain the various possible purposes of using and embedded system.
6. Explain the characteristics of an embedded system.
7. Explain the Operational Quality Attributes of an embedded system
8. Explain the non quality attributes of an embedded system.

Dept. of ECE, TKRCET Page 13


Embedded Systems Design

UNIT - II
ELEMENTS OF EMBEDDED SYSTEMS
OBJECTIVES
 Define and describe the elements of an embedded system
 Understand how embedded system works with the help of two case studies:
o Washing Machine
o Microwave Owen
 Understand the different types of core i.e processor
 Understand difference between microprocessor & microcontroller
 Understand the classification of processors based on Bus Architecture, Instruction set
Architecture and Endianness.
 Have an overview of processors from most simple and cheap to most expensive and
complex, powerful
 Understand what are sensors and actuators, communication interfaces
INTRODUCTION
The previous chapter was an introduction to the world of embedded systems and
helped us define what an embedded system is. This chapter introduces us to the elements
of an embedded system and explains how embedded system works with the help of two
case studies.
ELEMENTS OF EMBEDDED SYSTEMS
As defined earlier, an embedded system is a combination of 3 things:
 Hardware
 Software
 Mechanical Components
And it is supposed to do one specific task only.
Diagrammatically an embedded system can be represented as follows:

Dept. of ECE, TKRCET Page 14


Embedded Systems Design

Fig. 2.1: Elements of an Embedded System


 Embedded systems are basically designed to regulate a physical variable (such
Microwave Oven) or to manipulate the state of some devices by sending some signals to
the actuators or devices connected to the output port system (such as temperature in Air
Conditioner), in response to the input signal provided by the end users or sensors which
are connected to the input ports.
 Hence the embedded systems can be viewed as a reactive system.
Examples of common user interface input devices are keyboards, push button,
switches, etc.
 The memory of the system is responsible for holding the code (control algorithm and
other important configuration details).
 An embedded system without code (i.e. the control algorithm) implemented memory has
all the peripherals but is not capable of making decisions depending on the situational as
well as real world changes.
 Memory for implementing the code may be present on the processor or may be
implemented as a separate chip interfacing the processor In a controller based embedded
system, the controller may contain internal memory for storing code.
 Such controllers are called Micro-controllers with on-chip ROM, eg. Atmel AT89C51.
CASE STUDIES (EXAMPLES)
Here are some case studies on some commonly used embedded systems that will
help to better understand the concept.
Washing Machine
Let us see the important parts of the washing machine; this will also help us
understand the working of the washing machine:
1) Water inlet control valve: Near the water inlet point of the washing there is water inlet
control valve. When you load the clothes in washing machine, this valve gets opened
automatically and it closes automatically depending on the total quantity of the water required.
The water control valve is actually the solenoid valve.
2) Water pump: The water pump circulates water through the washing machine. It works in
two directions, re-circulating the water during wash cycle and draining the water during the spin
cycle.

Dept. of ECE, TKRCET Page 15


Embedded Systems Design

3) Tub: There are two types of tubs in the washing washing machine: inner and outer. The
clothes are loaded in the inner tub, where the clothes are washed, rinsed and dried. The inner tub
has small holes for draining the water. The external tub covers theinner tub and supports it
during various cycles of clothes washing.
4) Agitator or rotating disc: The agitator is located inside the tub of the washing machine. It is
the important part of the washing machine that actually performs the cleaning operation of the
clothes. During the wash cycle the agitator rotates continuously and produces strong rotating
currents within the water due to which the clothes also rotate inside the tub. The rotation of the
clothes within water containing the detergent enables the removal of the dirt particles from the
fabric of the clothes. Thus the agitator produces most important function of rubbing the clothes
with each other as well as with water.
In some washing machines, instead of the long agitator, there is a disc that contains blades on its
upper side. The rotation of the disc and the blades produce strong currents within the water and
the rubbing of clothes that helps in removing the dirt from clothes.
5) Motor of the washing machine: The motor is coupled to the agitator or the disc and
produces it rotator motion. These are multispeed motors, whose speed can be changed as per the
requirement. In the fully automatic washing machine the speed of the motor i.e. the agitator
changes automatically as per the load on the washing machine.

Dept. of ECE, TKRCET Page 16


Embedded Systems Design

Fig. 2.2: Parts of a Washing Machine


6) Timer: The timer helps setting the wash time for the clothes manually. In the automatic mode
the time is set automatically depending upon the number of clothes inside the washing machine.
7) Printed circuit board (PCB): The PCB comprises of the various electronic components and
circuits, which are programmed to perform in unique ways depending on the load conditions (the
condition and the amount of clothes loaded in the washing machine). They are sort of artificial
intelligence devices that sense the various external conditions and take the decisions accordingly.
These are also called as fuzzy logic systems. Thus the PCB will calculate the total weight of the
clothes, and find out the quantity of water and detergent required, and the total time required for
washing the clothes. Then they will decide the time required for washing and rinsing. The entire
processing is done on a kind of processor which may be a microprocessor or microcontroller.
8) Drain pipe: The drain pipe enables removing the dirty water from the washing
that has been used for the washing purpose.
Microwave Owen
Let us see the important parts of the microwave oven; this will also help us
understand the working of the washing machine:

Fig. 2.3: Parts of a Microwave Oven


A microwave oven consists of:
 A high voltage transformer, which passes energy to the magnetron
 A cavity magnetron,
 A Control circuit with a microcontroller,

Dept. of ECE, TKRCET Page 17


Embedded Systems Design

 A waveguide, and
 A cooking chamber
1. A Transformer transfers electrical energy through a circuit by magnetic coupling without
using motion between parts. These are used for supplying power to the magnetron.
2. Cavity magnetron is a microwave antenna placed in a vacuum tube and oscillated in an
electromagnetic field in order to produce high GHz microwaves. Magnetrons are used in
microwave ovens and radar systems.
3. A control circuit with a microcontroller is integrated on a circuit board. The microcontroller
controls the waveguide and the entire unit so the microwaves are emitted at a constant rate.
4. A Waveguide is any linear structure that guides electromagnetic waves for the
purpose of transmitting power or signals. Generally constructed of a hollow metal pipe.
Placing a waveguide into a vacuum causes radio waves to scatter.
5. A Cooking Chamber is a microwave safe container the prevents microwaves
from escaping. The door has a microwave proof mesh with holes that are just small
enough that microwaves can't pass through but lightwaves can. The cooking chamber
itself is a Faraday cage enclosure which prevents the microwaves from escaping into the
environment. The oven door is usually a glass panel for easy viewing, but has a layer of
conductive mesh to maintain the shielding.
CORE THE OF EMBEDDED SYSTEM
Embedded systems are domain and application specific and are built around a
central core. The core of the embedded system falls into any of the following categories:
 General purpose and Domain Specific Processors
o Microprocessors and Microcontrollers
o Digital Signal Processors
 Application Specific Integrated Circuits. (ASIC)
 Programmable logic devices(PLD’s)
 Commercial off-the-shelf components (COTs)
GENERAL PURPOSE AND DOMAIN SPECIFIC PROCESSOR
 Almost 80% of the embedded systems are processor/ controller based.
 The processor may be microprocessor or a microcontroller or digital signal processor,
depending on the domain and application.

Dept. of ECE, TKRCET Page 18


Embedded Systems Design

MICROPROCESSORS
 A microprocessor is a silicon chip representing a central processing unit.
 A microprocessor is a dependent unit and it requires the combination of other hardware
like memory, timer unit, and interrupt controller, etc. for proper functioning.
 Developers of microprocessors.
o Intel – Intel 4004 – November 1971(4-bit). o Intel – Intel 4040.
o Intel – Intel 8008 – April 1972.
o Intel – Intel 8080 – April 1974(8-bit). o Motorola – Motorola 6800.
o Intel – Intel 8085 – 1976.
o Zilog - Z80 – July 1976.
Architectures used for processor design are Harvard or Von-Neumann.

RISC and CISC are the two common Instruction Set Architectures (ISA)
available for processor design.

Dept. of ECE, TKRCET Page 19


Embedded Systems Design

Endiannes
 Endianness specifies the order which the data is stored in the memory by
processor operations in a multi byte system.
 Based on Endiannes processors can be of two types:
o Little Endian Processors
o Big Endian Processors

Dept. of ECE, TKRCET Page 20


Embedded Systems Design

1. Little-endian means lower order data byte is stored in memory at the lowest
address and the higher order data byte at the highest address. For e.g, 4 byte long
integer Byte3, Byte2, Byte1, Byte0 will be store in the memory as follows:

2. Big-endian means the higher order data byte is stored in memory at the
lowest and the lower order data byte at the highest address. For e.g. a 4 byte integer
Byte3, Byte2, Byte1, Byte0 will be stored in the memory as follows:

Microcontrollers
 A microcontroller is a highly integrated chip that contains 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.
 Texas Instrument’s TMS 1000 Is considered as the world’s first microcontroller.
 Some embedded system application require only 8 bit controllers whereas some
requiring superior performance and computational needs demand 16/32 bit controllers.
 The instruction set of a microcontroller can be RISC or CISC.

Dept. of ECE, TKRCET Page 21


Embedded Systems Design

 Microcontrollers are designed for either general purpose application requirement or


domain specific application requirement.
Digital Signal Processors
 DSP are powerful special purpose 8/16/32 bit microprocessor designed to meet the
computational demands and power constraints of today’s embedded audio, video and
communication applications.
 DSP are 2 to 3 times faster than general purpose microprocessors in signal processing
applications. This is because of the architectural difference between DSP and general
purpose microprocessors.
 DSPs implement algorithms in hardware which speeds up the execution whereas general
purpose processor implement the algorithm in software and the speed of execution
depends primarily on the clock for the processors.
 DSP includes following key units:
o Program memory: It is a memory for storing the program required by DSP to
process the data.
o Data memory: It is a working memory for storing temporary variables and
data/signal to be processed.
o 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.
o I/O unit: It acts as an interface between the outside world and DSP. It is responsible
for capturing signals to be processed and delivering the processed signals.
Examples: Audio video signal processing, telecommunication and multimedia applications, SOP
(Sum of Products) calculation, convolution, FFT (Fast Fourier Transform), DFT (Discrete
Fourier Transform), etc are some of the operation performed by DSP.
Application Specific Integrated Circuits. (ASIC)
 ASIC is a microchip design to perform a specific and unique applications. Because of
using single chip for integrates several functions there by reduces the system
development cost.

Dept. of ECE, TKRCET Page 22


Embedded Systems Design

 Most of the ASICs are proprietary (which having some trade name) products, it is
referred as Application Specific Standard Products (ASSP).
 As a single chip ASIC consumes a very small area in the total system. Thereby helps in
the design of smaller system with high capabilities or functionalities.
 The developers of such chips may not be interested in revealing the internal detail of it .
Programmable Logic Devices (PLD’s)
 A PLD is an electronic component. It used to build digital circuits which are
reconfigurable.
 A logic gate has a fixed function but a PLD does not have a defined function at the time
of manufacture. PLDs offer customers a wide range of logic capacity, features, speed,
voltage characteristics.
 PLDs can be reconfigured to perform any number of functions at any time.
 A variety of tools are available for the designers of PLDs which are inexpensive and help
to develop, simulate and test the designs.
 PLDs having following two major types.
o CPLD (Complex Programmable Logic Device): CPLDs offer much smaller
amount of logic up to 1000 gates.
o FPGA (Field Programmable Gate Array): It offers highest amount of
performance as well as highest logic density, the most features.
Advantages of PLDs:-
1. PLDs offer customer much more flexibility during the design cycle.
2. PLDs do not require long lead times for prototypes or production parts because PLDs are
already on a distributors shelf and ready for shipment.
3. PLDs can be reprogrammed even after a piece of equipment is shipped to a customer
Commercial off-the-shelf components (COTs)
 A Commercial off the Shelf product is one which is used 'as-is'.
 The COTS components itself may be develop around a general purpose or domain
specific processor or an ASICs or a PLDs.
 The major advantage of using COTS is that they are readily available in the market, are
chip and a developer can cut down his/her development time to a great extent

Dept. of ECE, TKRCET Page 23


Embedded Systems Design

 The major drawback of using COTS components in embedded design is that the
manufacturer of the COTS component may withdraw the product or discontinue the
production of the COTS at any time if rapid change in technology occurs.
Advantages of COTS:
1. Ready to use
2. Easy to integrate
3. Reduces development time
Disadvantages of COTS:
1. No operational or manufacturing standard (all proprietary)
2. Vendor or manufacturer may discontinue production of a particular COTS product
SENSORS & ACTUATORS
Sensor
 A Sensor is used for taking Input.
 It is a transducer that converts energy from one form to another for any measurement or
control purpose
Ex. A Temperature sensor
Actuator
 Actuator is used for output.
 It is a transducer that may be either mechanical or electrical which converts signals to
corresponding physical actions.
Ex. LED (Light Emitting Diode)
LED (Light Emitting Diode)
 LED is a p-n junction diode and contains a Cathode and Anode
 For functioning the anode is connected to +ve end of power supply and cathode is
connected to –ve end of power supply.
 The maximum current flowing through the LED is limited by connecting a RESISTOR in
series between the power supply and LED as shown in the figure below

Dept. of ECE, TKRCET Page 24


Embedded Systems Design

 There are two ways to interface an LED to a microprocessor/microcontroller:


o The Anode of LED is connected to the port pin and cathode to Ground: In
this approach the port pin sources the current to the LED when it is at logic high
(ie. 1).
o The Cathode of LED is connected to the port pin and Anode to Vcc : In this
approach the port pin sources the current to the LED when it is at logic high (ie.
1). Here the port pin sinks the current and the LED is turned ON when the port
pin is at Logic low (ie. 0).
COMMUNICATION INTERFACES
For any embedded system, the communication interfaces can broadly
classified into:
1. Onboard Communication Interfaces
 These are used for internal communication of the embedded system i.e: communication
between different components present on the system.
 Common examples of onboard interfaces are:
o Inter Integrated Circuit (I2C)
o Serial Peripheral Interface (SPI)
o Universal Asynchronous Receiver Transmitter (UART)
o 1-Wire Interface
o Parallel Interface
Inter Integrated Circuit (I2C)

Dept. of ECE, TKRCET Page 25


Embedded Systems Design

 It is synchronous
 Bi-directional, half duplex , two wire serial interface bus
 Developed by Phillips semiconductors in 1980
 It comprises of two buses :
o Serial clock –SCL
o Serial Data – SDA
 SCL generates synchronization clock pulses & SDA transmits data serially across devices
 I2C is a shared bus system to which many devices can be connected
 Devices connected by I2C can act as either master or slave
 The master device is responsible for controlling communication by initiating/ terminating
data transfer. Devices acting as slave wait for commands from the master and respond to
those commands.

2. External or Peripheral Communication Interfaces


 These are used for external communication of the embedded system i.e.,: communication
of different components present on the system with external or peripheral components/
devices.
 Common examples of external interfaces are:
o RS-232 C & RS-485
o Universal Serial Bus (USB)
o IEEE 1394 (Firewire)
o Infrared (IrDA) Bluetooth
o Wi-Fi
o Zigbee
o General Packet Radio Service (GPRS)

Dept. of ECE, TKRCET Page 26


Embedded Systems Design

RS-232 C & RS-485


 It is wired, asynchronous, serial, full duplex communication
 RS 232 interface was developed by EIA (Electronic Industries Associates) In early 1960s
 RS 232 is the extension to UART for external communications
 RS-232 logic levels use: +3 to +25 volts to signify a "Space" (Logic 0) and -3 to -25 volts
to signify a "Mark" (logic 1).
 RS 232 supports two different types of connectors : DB 9 and DB 25 as shown in figure
below

 RS 232 interface is a point to point communication interface and the devices involved are
called as Data Terminating Equipment (DTE) And Data Communications Terminating
Equipment (DCE)
 Embedded devices contain UART for serial transmission and generate signal levels as per
TTL/CMOS logic.
 A level translator IC (like Max 232) is used for converting the signal lines from UART to
RS 232 signal lines for communication. The vice versa is performed on the receiving
side.
 Converter chips contain converters for both transmitters and receivers
 RS 232 is used only for point to point connections
 It is susceptible to noise and hence is limited to short distances only
 RS 422 is another serial interface from EIA.
 It supports multipoint connections with 1 transmitter and 10 receivers.
 It supports data rates up to 100Kbps and distance up to 400 ft
 RS 485 is enhanced version of RS 422 and supports up to 32 transmitters and 32
receivers
REVIEW QUESTIONS
1. What is an embedded system? What are the working elements of an embedded
system?

Dept. of ECE, TKRCET Page 27


Embedded Systems Design

2. What do you mean by core of the embedded system? What is its significance? What
are the possible options that can be used as a core?
3. Distinguish between Microprocessor & Microcontroller.
4. Explain the different types of processors according to their system bus
architecture.
5. Explain the different types of processors according to Instruction set
Architecture.
6. Explain the different types of processors according to Endianness.
7. Write short note on :
a. DSP
b. PLD
c. ASIC
d. COTS
8. Explain Communication Interfaces with respect to embedded system
9. Explain the following with example:
a. Onboard communication interface
b. Peripheral communication interface
10. Find out information and write case studies on the following communication interfaces:
Infrared, Wi-Fi, Zigbee and UART.

Dept. of ECE, TKRCET Page 28


Embedded Systems Design

EMBEDDED SYSTEMS: MEMORY


There are different types of memories available to be used in computers as well as
embedded system.
This chapter guides the reader through the different types of memories that are available
and can be used and tries to explain their differences in simple words.
TYPES OF MEMORY
There are three main types of memories, they are
RAM (Random Access Memory)
 It is read write memory.
 Data at any memory location can be read or written.
 It is volatile memory, i.e. retains the contents as long as electricity is supplied.
 Data access to RAM is very fast
ROM (Read Only Memory)
 It is read only memory.
 Data at any memory location can be only read.
 It is non-volatile memory, i.e. the contents are retained even after electricity is switched
off and available after it is switched on.
 Data access to ROM is slow compared to RAM
HYBRID
 It is combination of RAM as well as ROM
 It has certain features of RAM and some of ROM
 Like RAM the contents to hybrid memory can be read and written
 Like ROM the contents of hybrid memory are non volatile
The following figure gives a classification of different types of memory

Fig.: Types of Memory

Dept. of ECE, TKRCET Page 29


Embedded Systems Design

TYPES OF RAM
There are two important memory devices in the RAM family.
 SRAM (Static RAM)
 DRAM (Dynamic RAM)
SRAM (Static RAM)
 It retains the content as long as the power is applied to the chip.
 If the power is turned off then its contents will be lost forever.
DRAM (Dynamic RAM)
 DRAM has extremely short Data lifetime (usually less than a quarter of second). This is
true even when power is applied constantly.
 A DRAM controller is used to make DRAM behave more like SRAM.
 The DRAM controller periodically refreshes the data stored in the DRAM. By refreshing
the data several times a second, the DRAM controller keeps the contents of memory alive
for a long time.
TYPES OF ROM
There are three types of ROM described as follows:
Masked ROM
 These are hardwired memory devices found on system.
 It contains pre-programmed set of instruction and data and it cannot be modified or
appended in any way. (It is just like an Audio CD that contains songs pre-written on it
and does not allow to write any other data)
 The main advantage of masked ROM is low cost of production.
PROM (PROGRAMMABLE ROM )
 This memory device comes in an un- programmed state i.e. at the time of purchased it is
in an un -programmed state and it allows the user to write his/her own program or code
into this ROM.
 In the un-programmed state the data is entirely made up of 1’s.
 PROMs are also known as one-time-programmable (OTP) device because any data can
be written on it only once. If the data on the chip has some error and needs to be
modified this memory chip has to be discarded and the modified data has to be written to
another new PROM.

Dept. of ECE, TKRCET Page 30


Embedded Systems Design

EPROM (ERASABLE-AND-PROGRAMABLE ROM)


 It is same as PROM and is programmed in same manner as a PROM.
 It can be erased and reprogrammed repeatedly as the name suggests.
 The erase operation in case of an EPROM is performed by exposing the chip to a
source of ultraviolet light.
 The reprogramming ability makes EPROM as essential part of software development
and testing process.
TYPES OF HYBRID MEMORY
There are three types of Hybrid memory devices:
EEPROMs
 EEPROMs stand for Electrically Erasable and Programmable ROM.
 It is same as EPROM, but the erase operation is performed electrically.
 Any byte in EEPROM can be erased and rewritten as desired
Flash
 Flash memory is the most recent advancement in memory technology.
 Flash memory devices are high density, low cost, nonvolatile, fast (to read, but not to
write), and electrically reprogrammable.
 Flash is much more popular than EEPROM and is rapidly displacing many of the ROM
devices.
 Flash devices can be erased only one sector at a time, not byte by byte.
NVRAM
 NVRAM is usually just a SRAM with battery backup.
 When power is turned on, the NVRAM operates just like any other SRAM but when
power is off, the NVRAM draws enough electrical power from the battery to retain its
content.
 NVRAM is fairly common in embedded systems.
 It is more expensive than SRAM.
DIRECT MEMORY ACCESS (DMA)
 DMA is a technique for transferring blocks of data directly between two hardware
devices.

Dept. of ECE, TKRCET Page 31


Embedded Systems Design

 In the absence of DMA the processor must read the data from one device and write it to
the other one byte or word at a time.
 DMA Absence Disadvantage: If the amount of data to be transferred is large or frequency
of transfer is high the rest of the software might never get a chance to run.
 DMA Presence Advantage: The DMA Controller performs entire transfer with little help
from the Processor.
Working of DMA
 The Processor provides the DMA Controller with source and destination address & total
number of bytes of the block of data which needs transfer.
 After copying each byte each address is incremented & remaining bytes are reduced by
one.
 When number of bytes reaches zeros the block transfer ends & DMA Controller sends an
Interrupt to Processor.

Fig.: Direct Memory Access


REVIEW QUESTIONS
1. What are the different types of Memory?
2. What are the different types of RAM?

Dept. of ECE, TKRCET Page 32


Embedded Systems Design

3. What are the different types of ROM?


4. What are the different types of Hybrid Memory?
PERIPHERALS
OBJECTIVES
 Concept of testing non –volatile memory devices using Checksum and CRC
 Control and Status Registers
 Device Driver
 Watch Dog Timer
WATCHDOG TIMER
 It is hardware equipment.
 It is special purpose hardware that protects the system from software hangs.
 Watchdog timer always counts down from some large number to zero
 This process takes a few seconds to reset, in the meantime, it is possible for embedded
software to “kick” the watchdog timer, to reset its counter to the original large number.
 If the timer expires i.e. counter reaches zero, the watchdog timer will assume that the
system has entered a state of software hang, then resets the embedded processor and
restarts the software
 It is a common way to recover from unexpected software hangs
 The figure below diagrammatically represents the working of the watchdog timer

Fig.: Watchdog Timer

Dept. of ECE, TKRCET Page 33


Embedded Systems Design

EMBEDDED OPERATING SYSTEM


OBJECTIVES
 The basics of embedded Operating system with respect to
o Tasks
o Task States
 Scheduler with respect to:
o Scheduling Points
o Ready List
o Idle task
 Concept of Context Switch and Task Synchronization
 Real Time Characteristic of embedded operating system.
INTRODUCTION
This chapter introduces the readers to the embedded operating system. Any operating
system has a set of programs which are implemented through a set of tasks. Every embedded
system may not require an operating system. The requirement and complexity on an operating
system depends on the functionality to be implemented by the embedded system.
BASICS
Tasks
 Task is a piece of code or program that is separate from another task and can be executed
independently of the other tasks.
 In embedded systems, the operating system has to deal with a limited number of tasks
depending on the functionality to be implemented in the embedded system.
 Multiple tasks are not executed at the same time instead they are executed in pseudo
parallel i.e. the tasks execute in turns as the use the processor.
 From a multitasking point of view, executing multiple tasks is like a single book being
read by multiple people, at a time only one person can read it and then take turns to read
it. Different bookmarks may be used to help a reader identify where to resume reading
next time.
 An Operating System decides which task to execute in case there are multiple tasks to be
executed. The operating system maintains information about every task and information
about the state of each task.

Dept. of ECE, TKRCET Page 34


Embedded Systems Design

 The information about a task is recorded in a data structure called the task context. When
a task is executing, it uses the processor and the registers available for all sorts of
processing. When a task leaves the processor for another task to execute before it has
finished its own, it should resume at a later time from where it stopped and not from the
first instruction. This requires the information about the task with respect to the registers
of the processor to be stored somewhere. This information is recorded in the task context.
 A C++ version of a Task that holds all information needed by operating system is as
follows:
class Task
{ public:
Task(void (*function)(), Priority p, int stackSize);
TaskId id;
Context context;
TaskState state;
Priority priority;
int * pStack; Task * pNext;
void (*entryPoint)();
private:
static TaskId nextId; };
Task States
 In an operation system there are always multiple tasks. At a time only one task can be
executed. This means that there are other tasks which are waiting their turn to be
executed.
 Depending upon execution or not a task may be classified into the following three states:
o Running state - Only one task can actually be using the processor at a given time
that task is said to be the “running” task and its state is “running state”. No other
task can be in that same state at the same time
o Ready state - Tasks that are are not currently using the processor but are ready to
run are in the “ready” state. There may be a queue of tasks in the ready state.

Dept. of ECE, TKRCET Page 35


Embedded Systems Design

o Waiting state - Tasks that are neither in running nor ready state but that are
waiting for some event external to themselves to occur before that can go for
execution on are in the “waiting” state.

Fig.: Task States


 A transition of state between the ready and running state occurs whenever the operating
system selects a new task to run.
 The task that was previously in running state becomes ready and the new task is
promoted to running state.
 A task will leave running state only if it needs to wait for some event external to itself to
occur before continuing.
 A task's state can be defined as follows:
enum TaskState { Ready, Running, Waiting };
SCHEDULER
 The heart and soul of any operating system is its scheduler.
 This is the piece of the operating system that decides which of the ready tasks has the
right to use the processor at a given time.
 It simple checks to see if the running task is the highest priority ready task.
 Some of the more common scheduling algorithms:
First-In-First-Out
 First-in-first-out (FIFO) scheduling describes an operating system which is not a
multitasking operating system.
 Each task runs until it is finished, and only after that is the next task started on a first
come first served basis.
Shortest Job First
Shortest job first scheduling uses algorithms that will select always select a task that will require
the least amount of processor time to complete.

Dept. of ECE, TKRCET Page 36


Embedded Systems Design

Round Robin
 Round robin scheduling uses algorithms that allow every task to execute for a fixed
amount to time.
 A running task is interrupted an put to a waiting state if its execution time expires.
Scheduling Points
 The scheduling points are the set of operating system events that result in an invocation
of the scheduler.
 There are three such events: task creation and task deletion. During each of these
events a method is called to select the next task to be run.
 A third scheduling point called the clock tick is a periodic event that is triggered by a
timer interrupt. When a timer expires, all of the tasks that are waiting for it to complete
are changed from the waiting state to the ready state.
Ready List
 The scheduler uses a data structure called the ready list to track the tasks that are in the
ready state.
 The ready list is implemented as an ordinary linked list, ordered by priority.
 So the head of this list is always the highest priority task that is ready to run.
Idle task
 If there are no tasks in the ready state when the scheduler is called, the idle task will be
executed.
 The idle task looks the same in every operating system.
 The idle task is always considered to be in the ready state.
CONTEXT SWITCH
 The actual process of changing from one task to another is called Context Switch.
 Since contexts are processor-specific, so is the code that implements the context
switches, hence, it must always be written in assembly language.
TASK SYNCHRONIZATION
 All the tasks in the multitasking operating systems work together to solve a larger
problem and to synchronize their activities, they occasionally communicate with one
another.

Dept. of ECE, TKRCET Page 37


Embedded Systems Design

 For example, in the printer sharing device the printer task doesn’t have any work to do
until new data is supplied to it by one of the computer tasks.
 So the printer and the computer tasks must communicate with one another to coordinate
their access to common data buffers.
 One way to do this is to use a data structure called a mutex.
 Mutexes are mechanisms provided by many operating systems to assist with task
synchronization.
 A mutex is a multitasking-aware binary flag. It is because the processes of setting and
clearing the binary flag are atomic (i.e. these operations cannot be interrupted).
 When this binary flag is set, the shared data buffer is assumed to be in use by one of the
tasks. All other tasks must wait until that flag is cleared before reading or writing any of
the data within that buffer.
 The atomicity of the mutex set and clear operations is enforced by the operating system,
which disables interrupts before reading or modifying the state of the binary flag.
REAL TIME CHARACTERISTIC
An Operating system is called “Real-Time Operating System” (RTOS) only if it has
following characteristics:
i. Deterministic
An OS is said to be deterministic if the worst case execution time of each of the system
calls is calculable. The data sheet of an OS should publish the real-time behavior of its
RTOS provides average, minimum and maximum number of clock cycles required by
each system call.
ii. Interrupt Latency
Interrupt Latency is the total length of time from an interrupt signal’s arrival at the
processor to the start of the associated interrupt service routine.
iii. Context Switch
Context Switch is important because it represents overhead across your entire system.
SELECTION PROCESS
 The process of selecting the best commercial operating system that best fits the needs of
one’s project depends on various factors. Commercial operating systems form a
continuum of functionality, performance and price.

Dept. of ECE, TKRCET Page 38


Embedded Systems Design

 Operating Systems that offer only a basic scheduler and a few other system calls are
inexpensive and come with the source code that one can modify and do not require
payment of royalties.
 While on the other hand operating systems that include a lot of useful functionality
beyond just the scheduler are quite expensive and royalties due on every copy shipped in
ROM and they might also make a stronger guarantees about real-time performance.
Two important points to be considered while selecting an operating system :-
 Put your processor, real time performance and budgetary requirements first.
 Contact all of the vendors of the remaining operating systems for more detailed technical
information.
REVIEW QUESTIONS
1. Explain the embedded Operating system with respect to
i) Tasks
ii) Task States
2. Explain Scheduler with respect to:
i) Scheduling Points
ii) Ready List
iii) Idle task
3. Write a short note on Context Switch and Task Synchronization
4. Explain the Real Time Characteristic of embedded operating system.

Dept. of ECE, TKRCET Page 39

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy