2. Contents
1. An embedded system,
2. Processor in the system,
3. Other Hardware units,
4. Software Embedded into a system,
5. Exemplary Embedded Systems,
6. Embedded System - on - chip (SOC) and
inVLSI circuit.
3. INTRODUCTION
What is a 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.
◦ A system is also an arrangement in which all
its units assemble and work together
according to the plan or program.
4. SYSTEM EXAMPLES
WATCH
It is a time display SYSTEM
Parts: Hardware, Needles, Battery, Dial, Chassis
and Strap
Rules
1.All needles move clockwise only
2.A thin needle rotates every second
3.A long needle rotates every minute
4.A short needle rotates every hour
5.All needles return to the original position after 12
hours
5. SYSTEM EXAMPLES
WASHING MACHINE
It is an automatic clothes washing SYSTEM
Parts: Status display panel, Switches & Dials,
Motor, Power supply & control unit, Inner water
level sensor and solenoid valve.
Rules
1.Wash by spinning
2.Rinse
3.Drying
4.Wash over by blinking
5.Each step display the process stage
6.In case interruption,execute only the remaining
6. EMBEDDED SYSTEM
Definition:
An Embedded System is one that has
computer hardware with software
embedded in it as one of its important
components.
It is a dedicated computer based system
for an application(s) or product. It may be
an independent system or a part of large
system.
7. EMBEDDED SYSTEM
Its software embeds in ROM (Read Only Memory). It
does not need secondary memories as in a computer
8. COMPONENTS OF
EMBEDDED SYSTEM
1. It has Hardware
◦ Processor,Timers, Interrupt controller, I/O
Devices, Memories, Ports, etc.
2. It has main Application Software
◦ Which may perform concurrently the series of
tasks or multiple tasks.
3. It has RealTime Operating System
(RTOS)
◦ RTOS defines the way the system work, which
supervise the application software. It sets the
rules during the execution of the application
program.A small scale embedded system may not
need an RTOS.
10. EMBEDDED SYSTEM
HARDWARE
Power Supply
◦ Has specific operation range:
1. 5.0 ± 0.25V 2. 3.3 ± 0.3V
3. 2.0 ± 0.2V 4. 1.5 ± 0.2V
Reset Circuit
◦ Processor starts the processing of instruction
from a starting address.
Oscillator Circuits
◦ To generate clock signal.
◦ CLOCK controls & synchronizes all system units
with processor.
11. EMBEDDED SYSTEM
HARDWARE
Processor
◦ HEART of Embedded system hardware.
◦ Two essential units:
1. Program Flow and data path Control Unit (CU)
—includes a fetch unit for fetching instructions from
the memory
2. Execution Unit (EU) — includes circuits for
arithmetic and logical unit (ALU), and for instructions
for a program control task, say, data transfer
instructions, halt, interrupt, or jump to another set of
instructions or call to another routine or sleep or reset
12. EMBEDDED SYSTEM
HARDWARE
Timer
◦ Configured in the system clock.
◦ REAL TIME CLOCK – RTC
Memory (Program Memory – RAM & Data
Memory – ROM)
Input Devices Interfacing / Output
Interfacing / Driver Circuits
Interrupt Controller
14. SMALL SCALE EMBEDDED SYSTEM
Single 8 bit or 16 bit Microcontroller.
Little hardware and software complexity.
They may even be battery operated.
Usually “C” is used for developing these
system.
The need to limit power dissipation when
system is running continuously.
Programming tools:
Editor, Assembler and
Cross Assembler
15. MEDIUM SCALE EMBEDDED SYSTEM
Single or few 16 or 32 bit microcontrollers or Digital
Signal Processors (DSP) or Reduced Instructions Set
Computers (RISC).
Both hardware and software complexity.
Programming tools:
RTOS,
Source code Engineering Tool,
Simulator,
Debugger and Integrated Development Environment
(IDE).
16. SOPHISTICATED EMBEDDED SYSTEM
Enormous hardware and software complexity
May need scalable processor or configurable
processor and programming logic arrays.
Constrained by the processing speed available in
their hardware units.
ProgrammingTools:
For these systems may not
be readily available at a reasonable
cost or may not be available at all.
A compiler or re-targetable compiler
might have to be developed for this.
17. PROCESSOR INTHE SYSTEM
A Processor is the HEART of the Embedded
System.
For an embedded system designer, knowledge
of microprocessor and microcontroller is a
must.
Two Essential Units: Operations
◦ Control Unit (CU), Fetch
◦ Execution Unit (EU) Execute
18. Control Unit:
◦ Includes fetch unit for fetching instructions from
memory.
Execution Unit:
◦ Includes circuits to implement data transfer & data
conversion operations
◦ Includes ALU and program control task (interrupt,
jump or halt)
Processor runs the cycles of fetch & execute.
Processor is in the form of IC chip / ASIC / Soc
PROCESSOR INTHE SYSTEM
19. VARIOUS PROCESSOR
1. General Purpose processor (GPP)
◦ Microprocessor
◦ Microcontroller
◦ Embedded Processor
◦ Digital signal Processor
◦ Media Processor
2. Application Specific System Processor (ASSP)
3. Multi Processor System using GPPs & Application
Specific Instruction Processors (ASIPs)
4. GPP core(s) or ASIP core(S) integrated into ASIC
/VLSI / FPGA
20. PROCESSOR SELECTION
System Designer should consider the
following for processor selection:
1. Instruction set.
2. Maximum bits in an operand ( 8 or 16 or
32) in a single arithmetic or logical
operation.
3. Clock frequency in MHz and processing
speed in Million Instruction Per Second
(MIPS).
4. Processor ability to solve the complex
algorithms used in meeting the deadlines
for their processing.
21. OTHER HARDWARE UNITS
1. Power Source & Managing the Power
Dissipation and Consumption.
2. Clock Oscillator Circuit & Clocking Unit (s)
3. RealTime Clock (RTC) andTimers
4. Reset Circuit, Power-up Reset and watchdog
timer Reset
5. Memories
6. I/O Ports, I/O Buses and I/O Interfaces
7. Interrupts Handler
8. DAC and ADC
9. LCD and LED Display
10. Keypad/Keyboard
22. 1. Power Source
System own supply with separate supply
rails for IOs, clock, basic processor and
memory and analog units, or
Supply from a system to which the
embedded system interfaces, for example
in a network card, or
Charge pump concept used in a system of
little power needs, for examples, in the
mouse or contact-less smart card.
23. Power Dissipation Management
1. Clever real-time programming by Wait
and Stop instructions
2. Clever reduction of the clock rate
during specific set of instructions
3. Optimizing the codes and
4. Clever enabling and disabling of use of
caches or cache blocks
24. 2. Clock Oscillator Circuit and
Clocking Units
Appropriate clock oscillator Circuit
1. a CRYSTAL (external to processor)
2. a CERAMIC RESONATOR (internally
associated with processor)
3. an external oscillator IC attached to
processor.
3. RealTime Clock*( System
Clock) andTimers driving
hardware and software
25. 4. Reset Circuit
Reset on Power-up
External and Internal Reset circuit
Reset on Timeout of Watchdog timer
Note:
WatchdogTimer – timing device that
resets the system after a pre-defined
timeout.
27. Functions assigned to memories in a system
1. ROM or EPROM or Flash
◦ Storing 'Application' program from where
the processor fetches the instruction codes
◦ Storing codes for system booting,initializing,
Initial input data and Strings.
◦ Storing Codes for RTOS.
◦ Storing Pointers (addresses) of various
service routines.
28. Functions assigned to memories in a system
2. RAM (Internal, External) and
Buffer
◦ Storing the variables during program run,
◦ Storing the stacks,
◦ Storing input or output buffers for example,
for speech or image .
29. 3. EEPROM or Flash Caches
◦ Storing non-volatile results of processing
◦ Storing copies of the instructions,data and
branch-transfer instructions in advance from
external memories and
◦ Storing temporarily the results in write back
caches during fast processing
Functions assigned to memories in a system
30. 6. IO communication elements: buses
(serial and parallel), interfaces for
network interface,ADC, DAC, pulse
dialer, modem, Bluetooth, 802.11, … as
per the application
7. Interrupt handler
◦ Interrupt Handling element for the external
port interrupts, IO interrupts, timer and RTC
interrupts, software interrupts and exceptions
31. SOFTWARE EMBEDDED INTO A SYSTEM
Software is the BRAIN of the embedded
system.
Software is specific to a given application.
Final stage software also called ROM image.
System requires BYTES at each ROM-
address.
A machine implement-able software file is
therefore like a table of address and bytes
at each address of the system memory.
32. Final Machine Implementable Software
for a Product
System ROM memory embedding the software, RTOS, data, and
vector addresses
The image consists of
1. Boot up program
2. Stack address
pointer
3. Program counter
address pointer
4. Application tasks
5. ISRs
6. RTOS
7. Input data
8. Vector addresses
33. Coding of software in Machine codes
During coding, the programmer defines the
addresses and the corresponding bytes or bits at
each address.
In configuring some specific physical device or
subsystem, machine code-based coding is used.
Example: In transceiver, placing certain machine
code and bits can configure it to transmit
Mbps/Gbps using specific bus and networking
protocol.
Hence, machine implementable codes are time
consuming because programmer must understand
processor instruction set.
34. Software in Processor Specific
Assemble Language
A program or a small specific part coded in the
assembly language using an Assembler
(software used for developing codes in
assembly).
Requires understanding of the processor
and instruction set.
Assembly language coding is extremely useful
for configuring physical devices like ports, a line-
display interface,ADC and DAC.
35. Assembly Language Coding
Four steps when
using assembly
language
1. 'Assembler',
2. 'Linker'
3. 'Loader' and
4. 'Locator'
before finally burned
at the ROM Process of converting ALP
into machine code and finally
the ROM image
36. Conversion Process
Assembly to ROM image
1. An assembler translates the assembly software into machine codes
using a step called ASSEMBLING.
2. LINKING – a linker links these codes with the other required
assembled codes. Linking is necessary because of the number of
codes to be linked for the binary file.
3. LOADING – the loader program performs the task of reallocating
the codes after finding physical memory address available at a given
instant.The loader is a part of the operating system & places codes
into memory after reading the .exe file.
4. LOCATING – final step of system design process is locating the
codes as a ROM image and permanently placing them at actually
available addresses in ROM.The locater locates the I/O tasks and
hardware device driver codes at the unchanged addresses. (because
port addresses are fixed)
5. Lastly, either i) a laboratory system, called device programmer
takes as input the ROM image file and burns into PROM/EPROM or
ii) at a foundry, a mask is created for the ROM of the embedded
system from image file.
37. Software in High Level Language
Coding in assembly
language is very time
consuming.
Most cases software is
developed in a high
level language – C,
C++ orVisual C++ or
JAVA.
Different programming
layers in a typical
embedded ‘C’
software. Application Software - Different
Program Layers
38. Converting a C program into ROM image
Compiler -
Generates an object
file. Using linker and
locator, the file for
ROM image is
created for the
targeted hardware.
C++ and Java are
other languages used
for software coding.
39. Software for Device Drivers &
Device Management using OS
A device driver is software for controlling,
receiving and sending a byte or a stream of
bytes from or to a device.
◦ In case of physical/virtual devices – driver uses
hardware status flags and control register.
Three functions:
1. Initializing i.e., activated by placing appropriate
bits at control register or word.
2. Calling an ISR on interrupt or on setting a
status flag in status register & run the ISR.
3. Resetting the status flag after interrupt service.
40. Device Management
Device management software modules
provide codes for detecting the presence
of devices, initializing these and for testing
the devices that are present.
Also include software for allocating and
registering port addresses for various
devices at distinctly different addresses.
OS provides modules for device driver &
for device management functions.
41. Software tools in designing of an
Embedded system
SoftwareTools Application
Editor For writing C codes or assembly mnemonics using the
keyboard of the keyboard of the PC for entering program.
Interpreter For line by line translation to machine-executable code.
Compiler Uses a complete set of codes. It creates a file called
OBJECT file.
Assembler For translating assembly mnemonics into binary opcodes
that is an executable file called binary file & for making a list
file that can be printed.
Cross assembler For converting object codes or executable codes for a
processor to other codes for another processor and vice
versa.
Simulator To simulate the target processor and hardware elements on
a host PC and to run and test the executable module.
44. Examples of SMALL SCALE
EMBEDDED SYSTEM:
1. Automatic ChocolateVending Machine
2. Stepper motor controllers for a robotics system
3. Washing or cooking system
4. Multitasking Toys
5. Microcontroller- based single or multi-display
digital panel meter for voltage, current, resistance
and frequency
6. Keyboard controller
7. Computer mouse
8. CD drive or Hard disk drive controller
9. Fax or photocopy or printer or scanner machine
10. Remote controller of TV
45. Examples of MEDIUM SCALE
EMBEDDED SYSTEM:
1. Computer networking systems
◦ Router, switch, hub, gateway
2. For internet appliances
◦ An intelligent operation, administration & maintenance router
(IOAMR) in a distributed network.
◦ Mail client card to store e-mail and personl addresses & to
smartly connect to a modem or server.
3. Entertainment system – video game, music system
4. Banking system
5. Signal tracking system - GPS
6. Image filtering,processing, pattern recognizer,
speech & video processing.
7. Video games.
46. Examples of SOPHISTICATED
EMBEDDED SYSTEM:
1. Mobile smart phones & computing
systems
2. Mobile computer
3. Embedded systems for wireless LAN &
for convergent technology devices.
4. Embedded systems for real time video
and speech or multimedia processing
systems.
5. Security products & high-speed network
security.
47. Embedded System-On-Chip (SoC)
& inVLSI circuit
SoC is a system on a VLSI chip that has all needed
analog as well as digital circuits, processors and
software, for example, single-chip mobile phone.
Embeds:
1. Multiple processors,
2. memories,
3. multiple standard source solutions (IP Cores),
4. Logic and analog units
5. Network protocol
6. Encryption function unit
7. Discrete cosine transform – signal processing
8. FPGA – Field Programmable Gate Array
48. An Example of embedded SoC –
Mobile Phone
Single purpose processors,ASIPs and IPs on an
SoC are configured to process encoding &
deciphering,dialing, modulating,demodulating,
interfacing the keypad & multi line LCD matrix
displays or touch screen, storing data input &
recalling data from memory.
SoC integrates internal ASICs, internal
processors (ASIPs),shared memories &
peripheral interfaces on a common bus.
SoC may also possess Analog circuits.
50. 1. Application Specific IC (ASIC
Designed usingVLSI design tools with the
processor GPP or ASIP & analog circuits
embedded into design.
Tool used EDA – Electronic Design
Automation.
For design of an ASIC, a High-Level Design
Language (HDL – Hardware Description
Language) is used.
51. 2. IP Core
IP –a standard source solution for synthesizing a higher-
level component by configuring a core ofVLSI circuit or
FPGA core available as an Intellectual Property,
called (IP).
High Level Components with gate level sophistication
circuit much above level of counters and registers.
Designer or designing company holds the copyright for
the synthesized design of a higher-level component
for gate-level implementation of an IP.
One might have to pay royalty for every chip shipped.
An embedded system may incorporate several IPs.
52. IPs
An IP may provide a
hardwired implementable design of a transform or of an
encryption algorithm or a deciphering algorithm.
design for adaptive filtering of a signal.
full design for implementing Hypertext Transfer
Protocol (HTTP) or File Transfer Protocol (FTP) to
transmit a web page or file on Internet.
USB (Universal Serial Bus) or PCI (Peripheral
Component Interconnect) bus controller
53. 3. FPGA core with
Single or Multiple Processors
An FPGA consists of a large number of
programmable gates on aVLSI chip.There is a set of
gates in each FPGA cell, called 'macro cell'.
Embedded system designed with a view of offering
enhancing functionalities in future, then FPGA core
can be used in the circuits.
Each cell has several inputs and outputs.All cells
interconnect like an array (matrix).
Each interconnection is programmable through the
associated memory RAM in a FPGA programming
tool.
A concept is using FPGA (Field Programmable Gate
Arrays) core along with single or multiple processors.