👉 Yavatmal Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
EE8691 – EMBEDDED SYSTEMS.pptx
1. C L A S S : E E E
S E M / Y E A R : 6 T H / I I I
F A C U L T Y I N - C H A R G E : M S . R O C K F E L L E R
EE8691 – EMBEDDED SYSTEMS
2. UNIT - 1
1.1 Embedded system
1.2 Build Process for Embedded System
1.3 Processor Embedded In to a System
1.4 Structural Units in Embedded System
1.5 Design Process
1.6 Processor Selection for an Embedded system
1.7Memory Devices
1.8 Processor and Memory organization
1.9 Direct Memory Access (DMA)
1.10 Memory Management methods
1.11Timer and Counting devices
1.12 Watchdog Timer
1.13 Real time Clock
1.14 In-circuit Emulator
1.15 ROM emulators, On-chip debugging - Applications
3. 1.1 An Embedded System
Microprocessor – more powerful and more important
component of all computing device
Discussion – Basic microprocessor function and how its
involved in embedded system.
Embedded System - Any device that includes
programmable computer but it is not itself intended to be
a general purpose computer.
1.1.1 System – A system is a way of working, organizing
or doing one or many tasks according to a fixed plan,
program or set of rules.
It is also arrangement of many components and work
together according to the plan or program.
4. 1.1 An Embedded System
Examples for system:
1.Time – display system
2. Automatic clothes washing system
3. Telephone answering machine system
4. Elevator controller system etc
Example 1: Watch
Time-display system
It has hardware parts, needles and battery with dial,
chassis and strap.
Continuously update the time for every second.
5. 1.1 An Embedded System
Example 2 : Washing Machine
Automatic cloths washing system
Hardware parts: status display panel, switch and dial
for user defined programming, a motor to rotate or
spin its power supply and control unit, inner water
level sensor, a solenoid valve for letting water in and
draining water out.
7. 1.1 An Embedded System
1.1.2 Embedded System
A computer is a system which has collection of
components used to execute a task according to a
program or commands given to it. It has following
component,
1. Microprocessor
2. A large memory comprising the following kind
Input units like keyboard, mouse, digitizer etc..,
Output units like video, monitor, printer etc..,
Networking units like Ethernet card, front end processor-
based driver etc.
I/O units like a modem, fax cum modem etc..,
9. 1.1 An Embedded System
RTOS – Real time Operating system
Supervises the application software and provide a mechanism
to the processor run a process as per the scheduling and do
the context-switch between the various process
Defines the way the system works
Organizes the access resources in a sequence of the series of
task of the system.
It schedules their working and executin by following a plan to
control the latencies and to meet the deadlines.
Latency – waiting period between running codes of a task.
RTOS sets rules during execution of the application software
and a small scale embedded system may not need an RTOS.
10. 1.1 An Embedded System
RTOS – Real time Operating system
An Embedded system has software designed to keep
in view of three constraints.
1. Available system memory
2. Available processor speed
11. 1.1 An Embedded System
1.1.3 Classification of Embedded System
Embedded system can be classified into three tyoes
1. Small-scale embedded system
2. Medium-scale embedded system
3.Sophesticated embedded system
12. 1.1 An Embedded System
1.1.3 Classification of Embedded System
1. Small-scale Embedded System
These systems are designed with single 8 bit r 16 bit
microcontroller and it has little hardware and software
complexities.
The main programming tool for developing these kinds
of system are an editor, assembler and cross assembler,
specific to the microcontroller or processor used
C language is mainly used for developing these systems
The software used in those system must be fit within the
memory available and keep in view the need to limit
power dissipation when system is running continuously.
13. 1.1 An Embedded System
1.1.3 Classification of Embedded System
2. Medium – scale Embedded System
Designed with a single 16 or 32 bit microcontrollers r
DSPs or RISC
The system have bith hardware and software
complexities for complex software design the following
programming tools are used
RTOS
Source code engineering tool
Simulator
Debugger
Integrated Development Environment (IDE)
14. 1.1 An Embedded System
1.1.3 Classification of Embedded System
3. Sophisticated Embedded System
It has more hardware and software complexities and may
need scalable processors or configurable processors and
programmable logic arrays
They are used for cutting edge applications that need
Hardware and software co-design and integration in the
final system, however they are constrained by the
processing speeds available in their hardware units.
Certain software functions are implemented in the
hardware to obtain additional speeds by saving time.
Development ttols may not be readily available.
15. 1.1 An Embedded System
1.1.4 Skills required for an Embedded Designer
Develop using available tools within given
specification, cost and time frame.
Small-scale embedded designer – Understanding of
microcontroller with basic knowledge of computer
architecture
Medium scale embedded designer – C programming,
RTOS programming.
Sophisticated embedded system designer – team is
need to co-design and solve high level complexities
of hardware ans software design.
16. 1.2 Build Process for Embedded System
Building Embedded System can be focused into two
technical perspective such as
1. Software perspective
2. Hardware perspective
17. 1.2 Build Process for Embedded System
1.2.1 Software Perspective
The following steps occur when the system starts
1. Processor begins executing at the Reset Vector.
The Initial Program Loader (IPL) locates the OS
image and transfers control to the startup program
in the image.
2.Startup program configures the system and
transfer control to microkernel and process manger
18. 1.2 Build Process for Embedded System
1.2.1 Software Perspective
Role of Initial Program Loader (IPL)
First step – Load OS image – done by a program called IPL
IPL’s initial task – minimally configure the hardware to create
an environment that will allow the startup program and
consequently the microkernel to run.
The task includes the follwing steps
Start execution from the Reset Vector.
Configure the memory controller
Configure Clocks
Set up a stack to allow the IPL Library perform OS verification
and setup.
19. 1.2 Build Process for Embedded System
1.2.1 Software Perspective
Role of Initial Program Loader (IPL)
Types of IPL
1. Warm-start IPL (involved by ROM)
2. Cold-start IPL (CPU and hardware)
Role of startup program
Second step – performed by software to configure the processor and
hardware, detect system resource and start the OS.
This is done by startup program.
Startup’s Responsibilities
Copy and decompress the image
Configure Hardware
Determine system configuration
Start the kernel.
20. 1.2 Build Process for Embedded System
1.2.2 Hardware Perspective
Components from the system
Processor
Source of initialization and configuration info
Storage media
Input devices
Choice of processor
ARM
MIPS
Power PC
SH – 4
X86
21. 1.2 Build Process for Embedded System
1.2.2 Hardware Perspective
Source of initialization and Configuration
When processor starts or restarts, t must be able to execute
instructions.
This is accomplished by having some kind of non volatile
storage media placed at the processor’s reset vector.
Choice of file system
Additional decision to make regarding the system storage
capabilities
None
Read-only
Read/write non persistent
Read/write persistent
22. Purpose of Embedded System
Each Embedded Systems is designed to serve the
purpose of any one or a combination of the following
tasks.
Data Collection/Storage/Representation
Data Communication o Data (Signal) Processing
Monitoring
Control
Application Specific User Interface
23. Purpose of Embedded System
Data Collection/Storage/Representation
Performs acquisition of data from the external world.
The collected data can be either analog or digital
Data collection is usually done for storage, analysis,
manipulation and transmission
The collected data may be stored directly in the system or may
be transmitted to some other systems or it may be processed
by the system or it may be deleted instantly after giving a
meaningful representation
24. Purpose of Embedded System
Data Communication
Embedded Data communication systems are deployed in
applications ranging from complex satellite communication
systems to simple home networking systems
Embedded Data communication systems are dedicated for
data communication
The data communication can happen through a wired interface
(like Ethernet, RS-232C/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
25. Purpose of Embedded System
Data (Signal) Processing
• Embedded systems with Signal processing functionalities are
employed in applications demanding signal processing like
Speech coding, synthesis, audio video codec, transmission
applications etc
• Computational intensive systems
• Employs Digital Signal Processors (DSPs)
26. Purpose of Embedded System
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
27. Purpose of Embedded System
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
29. Design Process of Embedded Systems
At each level of abstraction, we must:
– analyze the design to determine characteristics of
the current state of the design;
– refine the design to add detail.
30. Design Process of Embedded Systems
Requirements
Plain language description of what the user wants and
expects to get.
May be developed in several ways:
– talking directly to customers;
– talking to marketing representatives;
– providing prototypes to users for comment.
31. Design Process of Embedded Systems
Requirements
Functional requirements:
– output as a function of input.
Non-functional requirements:
– time required to compute output;
– size, weight, etc.;
– power consumption;
– reliability; – etc.
32. Design Process of Embedded Systems
Specification
A more precise description of the system:
– should not imply a particular architecture;
– provides input to the architecture design
process.
May include functional and non-functional elements.
May be executable or may be in mathematical form
for proofs.
33. Design Process of Embedded Systems
Architecture Design
What major components go satisfying the
specification?
Hardware components:
– CPUs, peripherals, etc.
Software components:
– major programs and their operations.
Must take into account functional and nonfunctional
specifications.
34. Design Process of Embedded Systems
Architecture Design (Example)
GPS moving map
35. Design Process of Embedded Systems
Design of hardware and software components
Must spend time architecting the system before you
start coding.
Some components are ready-made, some can be
modified from existing designs, others must be
designed from scratch.
36. Design Process of Embedded Systems
System Integration
Put together the components.
– Many bugs appear only at this stage.
Have a plan for integrating components to uncover
bugs quickly, test as much functionality as early as
possible.
38. Memory
1. Memory is an important component in an embedded system as it
stores all and any form of data depending upon its design
architecture.
2. For anyone to learn and have a deeper knowledge of the embedded
systems, it's important that one should first understand what the
memory of their hardware can actually offer or how one can design
the hardware for their application .
3. In data centers, they deal with Petabytes of memory. In personal
computers, they deal with mega->terabytes size of memory, But
when it comes to embedded systems ,it's usually from kiloBytes to
megaBytes of memory.
4. So, It is important that we understand,utilise and optimise this
small amount of memory efficiently in embedded systems.
39. Types of
Memory
M
LE
ore
M
m I
O
psu
R
mY
RAM - Volatile
memory
SRAM
DRAM
SDRAM
Register
PROM
EPROM
EEPROM
Flash
ROM - NonVolatile
memory
Volatile memory :
Loses data once the
power is turned off.
Non- volatile memory :
Retains data on losing
power.
40. Transformation of ROM
ROM is a non-volatile memory, meaning the data stored in ROM stays even after the power is
turned off, having said so ROM also has endurance issues that data cannot be written over and
over again, it has got limited number of write erase cycles before failure.
ROM and PROM are programmed only once by the manufacturer and remains
unchanged. EPROM are programmable multiple times and can be erased by
exposing the memory to UV (ultra-violet)light.
The next in the evolution comes the EEPROM and FLash which are electrically
erasable and programmable ROM but Flash comes with an endurance issue (10,000 -
1,00,000+ write erase cycles)
41. RAM (Random access memory):
RAM is a volatile memory (Ram requires constant electrical power to
store Data and if the power is turned off then the data is erased.) and as
the name suggests allows access to any part of the memory given the
address of that location.
1. In order for Data or program to run on a computer. First, It needs to be loaded into RAM.
2. So, RAM basically stores the data of your current running programs. For eg, if you have
opened your MS office document ,the MS word program will be copied to RAM and that’s
when we get the loading symbol in the front when the program gets copied in the background.
3. Once the program is loaded in the RAM, the CPU can now run the program and access the
data. The data that you keep feeding to your document will be saved to your RAM before you
SAVE it with the command File->Save As to your respective drive folder of ROM memory.
4. So, RAM is a very convenient type of memory to hold data that keeps changing continuously.
5. More space in RAM allows the user to use more applications simultaneously and efficiently.
RAM
42. Types Of RAM :
DRAM , SRAM, SDRAM
1. A DRAM uses a transistor - capacitor circuit to
hold a bit of data. Charged state is 1 bit and
discharged state is 0 bit.
2. While using capacitor, there may be leakage of
current in capacitor due to the little amount of
current that may be drawn by the adjacent
transistor or just due to the inner behaviour of the
capacitor itself.
3. So, the circuit needs to be refreshed with voltage
continuously and will not work without power.
4. The data transfer is slow compared to SRAM and
the cost is comparatively low.
SDRAM is a
synchronous DRAM
where the instructions are
synchronised with the
clock speed of the
microprocessor.
43. SRAM on the other hand
works much faster than
DRAM as it doesn’t have
any capacitor in its
circuit and 2 cross
coupled transistors i.e 4
transistors for storing
the charge and 2
transistors for access
control. SRAM is much
costlier and works very
fast.
44. Register memory
Registers are small memory that are present inside
the processor itself. They contain the data of operands
and instructions of a program that CPU is currently
processing.
Since registers are inside the processor, the time
required to fetch data is very fast, but it cannot hold
large data like RAM or ROM. It can hold only in bit
levels.
INTEL 8085 has popular 8-bit registers. ARM
architecture has 32 bit registers. Registers also hold the
peripheral address in microcontroller.
45. So far, In the ppt we have learnt about the
volatile and non volatile memories of a
computer. To make the understanding much
better let us site an Analogy.
The core memory of a computer , ie the
ROM or HDD can be imagined to a library
, where numerous books on various topics
are stacked up neatly each one labelled.
The matrix of books arranged is the ROM.
The labels on each book can be imagined as
memory addresses of each byte.
Memory Analogy
46. And now consider yourself to be the CPU.
Your task is to look for data to prepare for a
science quiz. So, you have collected all the
related books and placed them on the table
top, which is the RAM. Now, More the table
space, more books can be accommodated.
This helps in fetching more data and saves
time in going back to the shelf searching for
the book and again coming back to the table.
This is analogous to having more RAM size,
when the program from the ROM is copied
entirely to the RAM , the processor need not
go back and forth to fetch data and
instruction from the ROM as everything is
copied to RAM and the execution is much
faster.
47. When you start the process, you will start
reading the index of the book , memorize the
page number and go to the particular page
looking for information.
This is similar to saving the page number data
to the register memory and performing the next
task.
When you want to search the meaning of a
particular word. You memorize the word in
your head and take another book from the table
top to know the meaning of it.
This is similar to saving the address data in
register memory and looking for the data in that
address in RAM.
Once the work is complete, all the books on the
table will go back to the shelf and this is similar
to RAM data dissolving once the power is out.
And once you come out your memory will
eventually forget the trivial data of page number
and others. But some important data, like word-
meaning might stay in your head for a long time
then sync that to cache memory of the CPU.