Overview of Embedded Systems
Overview of Embedded Systems
By
Ms. Priya Vyavahare
Embedded Systems
Introduction
An embedded system is a system that has embedded software
and computer hardware, which makes it a system dedicated
for an application or specific part of an application or product
or a part of a larger system
It is an electronic system that contain microprocessor or
microcontroller and computer is embedded in a system
It is a system whose principal function is not computational,
but which is controlled by a computer embedded within it
The computer is likely to be microprocessor or microcontroller
It is a microcontroller based, software driven, reliable, real
time control system, autonomous, or human or network
interactive, operating on diverse physical variables and in
diverse environments and sold into a competitive and cost-
conscious market
An embedded system has three main components embedded into
it:
1. It embeds hardware similar to a computer. Its software usually
embeds in the ROM or flash memory and don’t need a secondary
hard disc and CD memory.
2. It embeds main application software, which may perform a series
of tasks or processes.
3. It embeds a real-time operating system (RTOS) that supervises the
application software running on hardware and organizes access to
a resource according to the priorities of tasks in the system
Characteristics
Real time and multirate operations define the ways in which the
system works, reacts to events interrupt and schedules the systems
functioning in real time
Control latencies to meet deadlines
Complex algorithms
Complex graphic user interface(GUIs) and other user interfaces
Dedicated functions
Constraints
An system is designed by considering three constraints:
Available system memory
Available processor speed
Need to limit power dissipation when running the system
continuously in cycle of ‘wait for events’, ‘run’, ‘stop’, ‘wake-up’, and
‘sleep’
Difference between Microcontroller and Microprocessor
Harvard Vs. Von Neumann Architecture
Harvard Architecture
Von Neumann Architecture
• Separate memories for data
• Same memory holds data, instructions.
and instructions.
• A single set of address/data buses
• Two sets of address/data buses
between CPU and memory
between
CPU and memory
RISC Vs. CISC
Embedded hardware units and services in a system
Power source
Clock oscillator circuit and clocking units
System timers and real-time clocks
Reset circuit, Power-up reset and Watchdog-timer reset
Memory
IO ports, IO Buses and IO interfaces
ADC and DAC
LCD, LED and touchscreen display
Keypad/Keyboard
Modem and Transceiver
Interrupt handler
Embedded Software in a system
An embedded system processor executes software that is specific to a given
application
The instruction codes and data in the final phase are placed in the ROM or flash
memory for all the tasks that are executed when the system runs
A machine implementable software file is therefore like a table having in each rows
the address and bytes
Software in assembly language
Software in high level language
An embedded system program is most often designed using multiple processes or
multitasks
Concurrent processing tasks can be interrupted for running the ISRs, and a higher
priority task preempts the running of lower priority tasks
OS software have scheduling functions for all the processes (tasks, ISRs and
device drivers) in the system
Since the running of the tasks and ISRs may have real time constraints and
deadlines for finishing the tasks, an RTOS is required in an embedded
system
Embedded system design process
A design process is called bottom-to-top design if it builds by starting
from the components
design process is called top-to-down design if it first starts with
abstraction of the process and then after abstraction the details are
created
Top-to-down design approach is the most favoured approach. The
following lists the five levels of abstraction from top to bottom in the
design process
Requirements:
Analysis of a system requirements
It is only by a complete clarity of the required purpose, inputs, outputs,
functioning, design metrics and validation requirements for finally developed
systems specifications that a well designed system can be created
There has to be consistency in the requirements
Specifications:
Precise specifications guide customer expectations for the product and also
inform the system architecture
The designer needs specifications for
(i) hardware, for example, peripherals, devices processor and memory
specifications
(ii) data types and processing specifications
(iii) expected system behaviour specifications
(iv) constraints of design
(v) expected life cycle specifications
Process specifications are analyzed by making lists of inputs on events, outputs
Architecture:
Data modeling defines the attributes of data structures, data flow graphs,
program models, software architecture layers, and hardware architecture
Software architectural layers are as follows:
1 The first layer is an architectural design. Here, a design for system
architecture is developed. The different elements data structures,
databases, algorithms, control functions, state transition functions, process,
data and program flow are be organized in the architecture.
2. The second layer consists of data-design. The design of data structures
and databases is tailored to the specific problem. The data is organized in a
tree-like structure, and the components are chosen appropriately.
3. The third layer consists of interface design. The interfaces are selected
to integrate the components, the design is selected for system
integration, interfaces used for taking inputs from the data objects,
structures and databases and for delivering outputs, the port
structure is selected for receiving inputs and transmitting outputs
Components:
The fourth layer is a component level design.
The design of each component, there is an additional requirement in the
design of embedded systems, that each component should be optimised
for memory usage and power dissipation.
Components of hardware, processes, interfaces and algorithms.
The following lists the common hardware components:
1. Processor, ASIP and single purpose processors in the system
2. Memory RAM, ROM or internal and external flash or secondary memory
in the system
3. Peripherals and devices internal and external to the system
4. Ports and buses in the system
5. Power source or battery in the system
During software development process we can model the components as
object-oriented.
System Integration:
Built components are integrated in the system
Components may work fine independently, but when integrated may not
fullfil the design metrics
The system is made to function and validated
Appropriate tests are chosen
Debugging tools are used to correct erroneous functioning
Each component and its interface system is integrated after the design
stage
Program implementation is in a language and may use an integrated
development environment (IDE), and source code engineering tools,
which should follow the model, software architecture and design
specifications
Program simplicity should be maintained during the implementation
process.
CLASSIFICATION OF EMBEDDED
It is SYSTEMS
possible to have a multitude of classifications for embedded
systems, based on different criteria Some of the criteria used in the
classification of embedded systems are:
1. Based on generation
2. Complexity and performance requirements
3. Based on deterministic behaviour
4. Based on triggering
The classification based on deterministic system behaviour is applicable
for Real Time systems
The application/task execution behaviour for an embedded system can
be either deterministic or non deterministic
Classification Based on Generation
This classification is based on the order in which the embedded
processing systems evolved from the first version to where they are
today
As per this criterion, embedded systems can be classified into:
First Generation
The early embedded systems were built around 8 bit microprocessors like 8085
and 280, and 4 bit microcontrollers
Simple in hardware circuits with firmware developed in Assembly code
Examples Digital telephone keypads, stepper motor control units etc.
Second Generation
These are embedded systems built around 16bit microprocessors and 8 or 16 bit
microcontrollers, following the first generation embedded systems
The instruction set for the second generation processors/controllers were much
more complex and powerful than the first generation processors/controllers
Some of the second generation embedded systems contained embedded
operating systems for their operation
Data Acquisition Systems, SCADA systems, etc. are examples of second
generation embedded systems
Third Generation
With advances in processor technology, embedded system developers started
making use of powerful 32bit processors and 16bit microcontrollers for their
design
A new concept of application and domain specific processors/controllers like
Digital Signal Processors (DSP) and Application Specific Integrated Circuits (ASICS)
The instruction set of processors became more complex and powerful and
the concept of instruction pipelining also evolved
The processor market was flooded with different types of processors from
different vendors. Processors like Intel Pentium, Motorola 68K, etc. gained
attention in high performance embedded requirements
Dedicated embedded real time and general purpose operating systems
entered into the embedded market.
Embedded systems spread its ground to areas like robotics, media,
industrial process control, networking, etc.
Fourth Generation
The advent of System on Chips (SoC), reconfigurable processors and
multicore processors are bringing high performance, tight integration and
miniatursation into the embedded device market.
The SoC technique implements a total system on a chip by integrating
different functionalities with a processor core on an integrated circuit.
The fourth generation embedded systems are making use of high
performance real time embedded operating systems for their functioning.
Smart phone devices, mobile internet devices (MIDs), etc. are examples of
Classification Based on Complexity and Performance
This classification is based on the complexity and system performance requirements
According to this classification, embedded systems can be grouped into:
Small-Scale Embedded Systems
Embedded systems which are simple in application needs and where the
performance requirements are not time critical fall under this category
An electronic toy is a typical example of a small-scale embedded system
Small-scale embedded systems are usually built around low performance and low
cost 8 or 16 bit microprocessors/microcontrollers
A small-scale embedded system may or may not contain an operating system for its
functioning.
Medium-Scale Embedded Systems
Embedded systems which are slightly complex in hardware and firmware (software)
requirements fall under this category
Medium-scale embedded systems are usually built around medium performance, low
cost 16 or 32 bit microprocessors/microcontrollers or digital signal processors
They usually contain an embedded operating system (either general purpose or real
time operating system) for functioning.
Large-Scale Embedded Systems/Complex Systems
Embedded systems which involve highly complex hardware and firmware
requirements fall under this category
They are employed in mission critical applications demanding high
performance
Such systems are commonly built around high performance 32 or 64 bit
RISC processors/controllers or Reconfigurable System on Chip (RSOC) or
multi-core processors and programmable logic devices
They may contain multiple processors/controllers and co-units/hardware
accelerators for offloading the processing requirements from the main
processor of the system
Decoding/encoding of media, cryptographic function implementation, etc.
are examples for processing requirements which can be implemented using
a co-processor/hardware accelerator
Complex embedded systems usually contain a high performance Real Time
Operating System (RTOS) for task scheduling, prioritization and
management.
APPLICATION AREAS OF EMBEDDED
SYSTEMS
Consumer electronics: Camcorders, cameras, etc.
Household appliances: Television, DVD players, washing machine, fridge,
microwave oven, etc.
Home automation and security systems: Air conditioners, sprinklers, intruder
detection alarms, closed circuit television cameras, fire alarms, etc.
Automotive industry: Anti-lock breaking systems (ABS), engine control, ignition
systems, automatic navigation systems, etc.
Telecom: Cellular telephones, telephone switches, handset multimedia
applications, etc.
Computer peripherals: Printers, scanners, fax machines, etc.
Computer networking systems: Network routers, switches, hubs, firewalls, etc.
Healthcare: Different kinds of scanners, EEG, ECG machines etc.
Measurement & Instrumentation: Digital multi meters, digital CROs, logic
analyzers PLC systems, etc.
Banking & Retail: Automatic teller machines (ATM) and currency counters, point of
sales (POS)
PURPOSE OF EMBEDDED SYSTEMS
Data Collection/Storage/Representation
Data collection performs acquisition of data from the external world
Data collection is usually done for storage, analysis, manipulation and transmission
The term "data" refers text, voice, image, video, electrical signals and any other measurable quantities
It can be either analog (continuous) or digital (discrete).
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
These actions are purely dependent on the purpose for which the embedded system is designed
Embedded systems designed for pure measurement applications without storage, used in control and
instrumentation domain collects data and gives a meaningful representation of the collected data by
means of graphical representation or at the data collection terminal.
Example: Analog and digital CROs without storage memory (Medical domain)
Some embedded systems store the collected data for processing and analysis and representation of the
collected data by visual or audible means using display units [Liquid Crystal Dis- play (LCD), Light
Emitting Diode (LED), etc.] buzzers, alarms, etc.
Examples are: measuring instruments with storage memory and monitoring instruments with storage
memory used in medical applications
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
Data Communication
Data communication systems are deployed in applications ranging from complex satellite
communication systems to simple home networking systems
The data collected by an embedded terminal may require transferring of the same to some
other system located remotely
The transmission is achieved either by a wire-line medium or by a wireless medium
A wireless medium offers cheaper connectivity solutions and make the communication link
free from the hassle of wire bundles
Modern industry trends are settling towards digital communication.
Examples of wireless communication modules are Bluetooth, ZigBee, Wi-Fi, EDGE, GPRS,
etc.
Examples of wire-line communication modules RS-232C, USB, TCP/IP, PS2, etc.
Data (Signal) Processing
Embedded systems with signal process-ing functionalities are employed in applications
demanding signal processing like speech coding, synthesis, 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 persons.
Monitoring
Embedded systems falling under this category are specifically designed for monitoring purpose
Almost all embedded products coming under the medical domain are with monitoring functions
only
They are used for determining the state of some variables using input sensors. They cannot impose
control over variables.
Example is the electro cardiogram (ECG) machine for monitoring the heartbeat of a patient
The machine is intended to do the monitoring of the heartbeat. It cannot impose control over the
heartbeat
The sensors used in ECG are the different electrodes connected to the patient's body.
Control
Embedded systems with control functionalities impose control over some variables according to the
changes in input variables
A system with control functionality contains both sensors and actuators
Sensors are connected to the input port for capturing the changes in environmental variable or
measuring variable
The actuators connected to the output port are controlled according to the changes in input
variable to put an impact on the controlling variable to bring the controlled variable to the specified
range.
Air conditioner system used in our home to control the room temperature to a specified limit is a
An air conditioner contains a room temperature- sensing element (sensor) which may be a
thermistor and a handheld unit for setting up (feeding) the desired temperature
The handheld unit may be connected to the central embedded unit residing inside the air
conditioner through a wireless link or through a wired link.
The air compressor unit acts as the actuator.
The compressor is controlled according to the current room temperature and the desired
temperature set by the end user.
Here the input variable is the current room temperature and the controlled variable is also
the room temperature.
The controlling variable is cool air flow by the compressor unit.
If the controlled variable and input variable are not at the same value, the controlling
variable tries to equalise them through taking actions on the cool air flow.
CORE OF AN EMBEDDED SYSTEM
General purpose domain specific processor
1. Microprocessors
2. Microcontrollers
3. Digital signal processors
Digital Signal Processors Digital Signal Processors (DSPs) are powerful special purpose 8/16/32 bit
microprocessors designed specifically to meet the computational demands and power constraints of
today's embedded audio, video, and communications applications.
Digital signal processors are 2 to 3 times faster than the general purpose microprocessors in signal
processing applications. This is because of the architectural difference between the two.
DSPs implement algorithms in hardware which speeds up the execution whereas general purpose
processors implement the algorithm in firmware and the speed of execution depends primarily on the
clock for the processors.
In general, DSP can be viewed as a microchip designed for performing high speed computational
operations for 'addition" "subtraction', 'multiplication" and "division".
A typical digital signal processor incorporates the following key units:
Program Memory - Memory for storing the program required by DSP to process the data
Data Memory - Working memory for storing temporary variables and data/signal to be processed.
Computational Engine - Performs the signal processing in accordance with the stored program memory.
Computational Engine incorporates many specialised arithmetic units and each of them operates
simultaneously to increase the execution speed.
I/O Unit - Acts as an interface between the outside world and DSP. It is responsible for
capturing signals to be processed and delivering the processed signals.
Audio video signal processing, telecommunication and multimedia applications are typical
examples where DSP is employed.
Digital signal processing employs a large amount of real-time calculations.
Sum of products (SOP) calculation, convolution, fast fourier transform (FFT), discrete fourier
transform (DFT), etc, are some of the operations performed by digital signal processor.
4. RISC vs. CISC Processor/ Controllers
5. Harvard vs. Von-Neumann Processor/ Controllers Architecture
6. Load and store operations and instruction pipelining
Application Specific Integrated Circuit (ASIC)
It is a microchip designed to perform a specific or unique application
It is used as replacement to conventional general purpose logic chips.
It integrates several functions into a single chip and there by reduces the system development cost.
Most of the ASICs are proprietary products.
As a single chip, ASIC consumes a very small area in the total system and thereby helps in the design
of smaller systems with high capabilities/functionalities.
ASIC based systems are profitable only for large volume commercial productions.
Fabrication of ASICS requires a non-refundable initial investment for the process technology and
configuration expenses.
This investment is known as Non-Recurring Engineering Charge (NRE) and it is a one time investment.
If the Non-Recurring Engineering Charges (NRE) is borne by a third party and the Application Specific
Integrated Circuit (ASIC) is made openly available in the market, the ASIC is referred as Application
Specific Standard Product (ASSP).
The ASSP is marketed to multiple customers just as a general-purpose product is, but to a smaller
number of customers since it is for a specific application.
"The ADE7760 Energy Metre ASIC developed by Analog Devices for Energy metreing applications is a
typical example for ASSP.
Since Application Specific Integrated Circuits (ASICs) are proprietary products, the developers of
such chips may not be interested in revealing the internal details of it and hence it is very difficult to
point out an example of it.
Moreover it will create legal disputes if an illustration of such an ASIC product is given without
getting prior permission from the manufacturer of the ASIC.
Programmable Logic Devices
Logic devices provide specific functions, including device-to-device interfacing, data communication,
signal processing, data display, timing and control operations, and almost every other function a system
must perform.
Logic devices can be classified into two broad categories - Fixed and Programmable. The circuits in a
fixed logic device are permanent, they perform one function or set of functions - once manufactured,
they cannot be changed
Programmable logic devices (PLDs) offer customers a wide range of logic capacity, features, speed, and
voltage characteristics - and these devices can be re-configured to perform any number of functions at
any time
Designers can use inexpensive software tools to quickly develop, simulate, and test their logic designs
in PLD based design. The design can be quickly programmed into a device, and immediately tested in a
live circuit
PLDs are based on re-writable memory technology and the device is reprogrammed to change the
design
Programmable Logic Devices (PLDs) – CPLDs and FPGA
Field Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs) are the two
major types of programmable logic devices
FPGA:
FPGA is an IC designed to be configured by a designer after manufacturing.
FPGAs offer the highest amount of logic density, the most features, and the highest performance.
Logic gate is Medium to high density ranging from 1K to 500K system gates
These advanced FPGA devices also offer features such as built-in
hardwired processors (such as the IBM Power PC), substantial amounts of
memory, clock management systems, and support for many of the latest,
very fast device-to-device signaling technologies
These advanced FPGA devices also offer features such as built-in
hardwired processors, substantial amounts of memory, clock
management systems, and support for many of the latest, very fast
device-to-device signaling technologies.
FPGAs are used in a wide variety of applications ranging from data
processing and storage, to instrumentation, telecommunications, and
digital signal processing
The general FPGA architecture consists of three types of modules. They
are I/O blocks or Pads, Switch Matrix/ Interconnection Wires and
Configurable logic blocks (CLB). The basic FPGA architecture has two
dimensional arrays of logic blocks with a means for a user to arrange the
interconnection between the logic blocks. The functions of an FPGA
architecture module are discussed below:
CLB (Configurable Logic Block) includes digital logic, inputs, outputs. It
implements the user logic.
Interconnects provide direction between the logic blocks to implement
the user logic.
Depending on the logic, switch matrix provides switching between
interconnects.
I/O Pads used for the outside world to communicate with different
CPLD:
CPLDs, by contrast, offer much smaller amounts of logic - up to about 10,000 gates.
CPLDs offer very predictable timing characteristics and are therefore ideal for critical control
applications.
CPLDs such as the Xilinx CoolRunner series also require extremely low amounts of power
and are very inexpensive, making them ideal for cost-sensitive, battery-operated, portable
applications such as mobile phones and digital handheld assistants.
ADVANTAGES OF PLDs:
PLDs offer customer much more flexibility during design cycle
PLDs do not require long lead times for prototype or production-the PLDs are already on a
distributor’s self and ready for shipment
PLDs do not require customers to pay for large NRE costs and purchase expensive mask
sets
PLDs allow customers to order just the number of parts required when they need them,
allowing them to control inventory.
PLDs are reprogrammable even after a piece of equipment is shipped to a customer.
The manufacturers able to add new features or upgrade the PLD based products that are in
the field by uploading new programming file
Commercial off the Shelf Component (COTS):
A Commercial off-the-shelf (COTS) product is one which is used ‘as-is’
COTS products are designed in such a way to provide easy integration and
interoperability with existing system components
Typical examples for the COTS hardware unit are Remote Controlled Toy Car control
unit including the RF Circuitry part, High performance, high frequency microwave
electronics (2 to 200 GHz), High bandwidth analog-to-digital converters, Devices and
components for operation at very high temperatures, Electro-optic IR imaging arrays,
UV/IR Detectors etc
A COTS component in turn contains a General Purpose Processor (GPP) or Application
Specific Instruction Set Processor (ASIP) or Application Specific Integrated Chip
(ASIC)/Application Specific Standard Product (ASSP) or Programmable Logic Device
The major advantage of using COTS is that they are readily available in the market,
cheap and a developer can cut down his/her development time to a great extend.
There is no need to design the module yourself and write the firmware .
Everything will be readily supplied by the COTs manufacturer
The major problem faced by the end-user is that there are no operational and
manufacturing standards.
The major drawback of using COTs component in embedded design is that the
manufacturer may withdraw the product or discontinue the production of the COTs at
any time if rapid change in technology
This problem adversely affect a commercial manufacturer of the embedded system
which makes use of the specific COTs
Example: TCP/IP(Transmission Control Protocol/Internet Protocol)
Memory
Memory is an important part of an embedded system. The memory used in embedded
system can be either Program Storage Memory (ROM) or Data memory (RAM)
Certain Embedded processors/controllers contain built in program memory and data
memory and this memory is known as on-chip memory
Certain Embedded processors/controllers do not contain sufficient memory inside the
chip and requires external memory called off-chip memory or external memory
Program Storage Memory(ROM):
Stores the program instructions
Retains its contents even after the power to it is turned off. It is generally known as Non
volatile storage memory
Depending on the fabrication, erasing and programming techniques they are classified into
1. Masked ROM (MROM):
One-time programmable memory.
Uses hardwired technology for storing data.
The device is factory programmed by masking and metallization process according to the data
provided by the end user.
The primary advantage of MROM is low cost for high volume production.
MROM is the least expensive type of solid state memory.
Different mechanisms are used for the masking process of the ROM, like
1. Creation of an enhancement or depletion mode transistor through channel implant
2. By creating the memory cell either using a standard transistor or a high threshold
transistor.
3. In the high threshold mode, the supply voltage required to turn ON the transistor is above
the normal ROM IC operating voltage.
4. This ensures that the transistor is always off and the memory cell stores always logic 0.
The limitation with MROM based firmware storage is the inability to modify the device firmware
against firmware upgrades.
The MROM is permanent in bit storage, it is not possible to alter the bit information
2. Programmable Read Only Memory (PROM) / (OTP) :
It is not pre-programmed by the manufacturer
The end user is responsible for Programming these devices.
PROM/OTP has nichrome or polysilicon wires arranged in a matrix, these wires can be
functionally viewed as fuses.
It is programmed by a PROM programmer which selectively burns the fuses according to the bit
pattern to be stored.
Fuses which are not blown/burned represents a logic “1” where as fuses which are blown/burned
represents a logic “0”.The default state is logic “1”.
OTP is widely used for commercial production of embedded systems whose proto-typed versions
are proven and the code is finalized.
It is a low cost solution for commercial production.
OTPs cannot be reprogrammed.
3. Erasable Programmable Read Only Memory (EPROM):
Erasable Programmable Read Only (EPROM) memory gives the flexibility to re-program the same
chip.
During development phase , code is subject to continuous changes and using an OTP is not
economical.
EPROM stores the bit information by charging the floating gate of an FET
Bit information is stored by using an EPROM Programmer, which applies high voltage to charge the
floating gate
EPROM contains a quartz crystal window for erasing the stored information. If the window is exposed
to Ultra violet rays for a fixed duration, the entire memory will be erased
Even though the EPROM chip is flexible in terms of re-programmability, it needs to be taken out of
the circuit board and needs to be put in a UV eraser device for 20 to 30 minutes
4. Electrically Erasable Programmable Read Only Memory (EEPROM):
The information contained in the EEPROM memory can be altered by using electrical signals at the
register/Byte level
They can be erased and reprogrammed within the circuit
These chips include a chip erase mode and in this mode they can be erased in a few milliseconds
It provides greater flexibility for system design
The only limitation is their capacity is limited when compared with the standard ROM (A few
kilobytes)
5. Program Storage Memory – FLASH
FLASH memory is a variation of EEPROM technology.
FALSH is the latest ROM technology and is the most popular ROM technology used in today’s
embedded designs
It combines the re-programmability of EEPROM and the high capacity of standard ROMs
FLASH memory is organized as sectors (blocks) or pages
FLASH memory stores information in an array of floating gate MOSFET transistors
The erasing of memory can be done at sector level or page level without affecting the other
sectors or pages
Each sector/page should be erased before re-programming
The typical erasable capacity of FLASH is of the order of a few 1000 cycles
Read-Write Memory/Random Access Memory (RAM)
RAM is the data memory or working memory of the controller/processor
RAM is volatile, meaning when the power is turned off, all the contents are destroyed
RAM is a direct access memory, meaning we can access the desired memory location directly
without the need for traversing through the entire memory locations to reach the desired
memory position (i.e. Random Access of memory location)
1. Static RAM (SRAM):
Static RAM stores data in the form of Voltage.
They are made up of flip-flops
In typical implementation, an SRAM cell (bit) is realized using 6 transistors (or 6 MOSFETs).
Four of the transistors are used for building the latch (flip-flop) part of the memory cell and 2
for controlling the access.
Static RAM is the fastest form of RAM available.
SRAM is fast in operation due to its resistive networking and switching capabilities
2. Dynamic RAM (DRAM)
Dynamic RAM stores data in the form of charge. They are made up of MOS transistor gates
The advantages of DRAM are its high density and low cost compared to SRAM
The disadvantage is that since the information is stored as charge it gets leaked off with time
and to prevent this they need to be refreshed periodically
Special circuits called DRAM controllers are used for the refreshing operation. The refresh
operation is done periodically in milliseconds interval
3. Non Volatile RAM (NVRAM):
Random access memory with battery backup
It contains Static RAM based memory and a minute battery for providing supply to the memory
in the absence of external power supply
The memory and battery are packed together in a single package
NVRAM is used for the non volatile storage of results of operations or for setting up of flags etc
The life span of NVRAM is expected to be around 10 years
DS1744 from Maxim/Dallas is an example for 32KB NVRAM
Memory Selection for an Embedded
system
Selection of suitable memory is very much essential step in high performance applications,
because the challenges and limitations of the system performance are often decided upon the type
of memory architecture.
Systems memory requirement depend primarily on the nature of the application that is planned to
run on the system.
Memory performance and capacity requirement for low cost systems are small, whereas memory
throughout can be the most critical requirement in a complex, high performance system
Following are the factors that are to be considered while selecting the memory devices,
1. Speed
2. Data storage size and capacity
3. Bus width
4. Power consumption
5. Cost
Embedded system requirements:
Program memory for holding control algorithm or embedded OS and the applications designed to run on
top of OS.
Data memory for holding variables and temporary data during task execution.
Memory for holding non-volatile data which are modifiable by the application.
The memory requirement for an embedded system in terms of RAM (SRAM/DRAM) and ROM
(EEPROM/FLASH/NVRAM) is solely dependent on the type of the embedded system and applications for
which it is designed.
There is no hard and fast rule for calculating the memory requirements.
Lot of factors need to be considered for selecting the type and size of memory for embedded system.
Example: Design of Embedded based electronic Toy.
SOC or microcontroller can be selected based type(RAM &ROM) and size of on-chip memory for the design
of embedded system.
If on-chip memory is not sufficient then how much external memory need to be interfaced.
If the ES design is RTOS based ,the RTOS requires certain amount of RAM for its execution and ROM for
storing RTOS Image.
The RTOS suppliers gives amount of run time RAM requirements and program memory requirements for the
RTOS.
Additional memory is required for executing user tasks and user applications
On a safer side, always add a buffer value to the total estimated RAM and ROM requirements.
So estimate the memory requirements for install and run the user applications without facing memory
space.
Memory can be selected based on size of the memory ,data bus and address bus size of the
processor/controller.
Memory chips are available in standard sizes like 512 bytes,1KB,2KB ,4KB,8KB,16 KB ….1MB etc.
FLASH memory is the popular choice for ROM in embedded applications.
It is powerful and cost-effective solid state storage technology for mobile electronic devices and other
consumer applications.
Flash memory available in two major variants
1. NAND FLASH 2. NOR FLASH
NAND FLASH is a high density low cost non-volatile storage memory.
NOR FLASH is less dense and slightly expensive but supports Execute in place(XIP).
The XIP technology allows the execution of code memory from ROM itself without the need for copying it to
the RAM.
The EEPROM is available as either serial interface or parallel interface chip.
If the processor/controller of the device supports serial interface and the amount of data to write and read
to and from the device (Serial EEPROM) is less. The serial EEPROM saves the address space of the total
system.
The memory capacity of the serial EEPROM is expressed in bits or Kilobits
Industrial grade memory chips are used in certain embedded devices may be operated at extreme
Sensors & Actuators:
Embedded system is in constant interaction with the real
world
Controlling/monitoring functions executed by the
embedded system is achieved in accordance with the
changes happening to the Real World.
The changes in the system environment or variables are
detected by the sensors connected to the input port of
the embedded system.
If the embedded system is designed for any controlling
purpose, the system will produce some changes in
controlling variable to bring the controlled variable to the
desired value.
It is achieved through an actuator connected to the out
port of the embedded system
Sensor:
A sensor is a transducer device which converts energy
from one form to another for any measurement or
control purpose.
Sensors acts as input device
Example: IR, humidity , PIR(passive infra red) ,
ultrasonic , piezoelectric , smoke sensors
Actuator:
Actuator is a form of transducer device
(mechanical or electrical) which converts signals
to corresponding physical action (motion).
Actuator acts as an output device
Eg. Micro motor actuator which adjusts the
position of the cushioning element in the Smart
Running shoes from adidas
The I/O Subsystem:
The I/O subsystem of the embedded system
facilitates the interaction of the embedded
system with external world
The interaction happens through the sensors
and actuators connected to the Input and output
ports respectively of the embedded system
The sensors may not be directly interfaced to
the Input ports, instead they may be interfaced
through signal conditioning and translating
systems like ADC, Optocouplers etc
1. I/O Devices - Light Emitting Diode (LED):
Light Emitting Diode (LED) is an output device for visual
indication in any embedded system
LED can be used as an indicator for the status of various
signals or situations.
Typical examples are indicating the presence of power
conditions like “Device ON”, “Battery low” or “Charging of
battery” for a battery operated handheld embedded
devices
LED is a p-n junction diode and it contains an anode and
a cathode.
For proper functioning of the LED, the anode of it should
be connected to +ve terminal of the supply voltage and
cathode to the –ve terminal of supply voltage
The current flowing through the LED must limited to a
value below the maximum current that it can conduct.
A resistor is used in series between the power supply and
the resistor to limit the current through the LED
2. I/O Devices – 7-Segment LED Display
The 7 – segment LED display is an output device for displaying alpha numeric
characters
It contains 8 light-emitting diode (LED) segments arranged in a special form.
Out of the 8 LED segments, 7 are used for displaying alpha numeric characters
and one is used for representing decimal point in decimal number display
The LED segments are named A to G and the decimal point LED segment is
named as DP
The LED Segments A to G and DP should be lit accordingly to display numbers
and characters
The 7 – segment LED displays are available in two different configurations,
namely; Common anode and Common cathode
In the Common anode configuration, the anodes of the 8 segments are
connected commonly whereas in the Common cathode configuration, the 8
LED segments share a common cathode line
Based on the configuration of the 7 – segment LED unit, the LED segment
anode or cathode is connected to the Port of the processor/controller in the
order ‘A’ segment to the Least significant port Pin and DP segment to the most
significant Port Pin.
The current flow through each of the LED segments should be limited to the
The typical value for the current falls within the range of 20mA
The current through each segment can be limited by connecting a current
limiting resistor to the anode or cathode of each segment
3. I/O Devices – Optocoupler
Optocoupler is a solid state device to isolate two parts of a circuit.
Optocoupler combines an LED and a photo-transistor in a single housing (package)
In electronic circuits, optocoupler is used for suppressing interference in data
communication, circuit isolation, High voltage separation, simultaneous separation
and intensification signal etc
Optocouplers can be used in either input circuits or in output circuits
4. Stepper Motor:
Stepper motor is an electro mechanical device which generates discrete displacement
(motion) in response to dc electrical signals
It differs from the normal dc motor in its operation. The dc motor produces continuous
rotation on applying dc voltage whereas a stepper motor produces discrete rotation in
response to the dc voltage applied to it
Stepper motors are widely used in industrial embedded applications, consumer electronic
products and robotics control systems
The paper feed mechanism of a printer/fax makes use of stepper motors for its
functioning.
Based on the coil winding arrangements, a two phase stepper motor is classified into:
Unipolar: A unipolar stepper motor contains two windings per phase. The direction of
rotation (clockwise or anticlockwise) of a stepper motor is controlled by changing the
direction of current flow. Current in one direction flows through one coil and in the
opposite direction flows through the other coil. It is easy to shift the direction of rotation
by just switching the terminals to which the coils are connected
Bipolar: A bipolar stepper motor contains single winding per phase. For reversing the
motor rotation the current flow through the windings is reversed dynamically. It requires
complex circuitry for current flow reversal
5. Relay:
An electro mechanical device which acts as dynamic path selectors for signals and
power.
The “Relay” unit contains a relay coil made up of insulated wire on a metal core
and a metal armature with one or more contacts.
“Relay” works on electromagnetic principle.
When a voltage is applied to the relay coil, current flows through the coil, which in
turn generates a magnetic field.
The magnetic field attracts the armature core and moves the contact point.
The movement of the contact point changes the power/signal flow path.
The Relay is normally controlled using a relay driver circuit connected to the port pin of the
processor/controller.
A transistor is used for building the relay driver circuit.
A free-wheeling diode is used for free-wheeling the voltage produced in the opposite direction
when the relay coil is de-energised.
The freewheeling diode is essential for protecting the relay and the transistor.
Most of the industrial relays are bulky and requires high voltage to operate.
Special relays called "Reed' relays are available for embedded application requiring switching
of low voltage DC signals