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

Module_1

Embedded systems are specialized electronic systems designed for specific functions, combining hardware and software, and are integral to various applications across multiple industries. They differ from general computing systems in terms of hardware specificity, operating systems, and performance requirements, with classifications based on generation, complexity, and performance. Major applications include consumer electronics, automotive systems, telecommunications, and healthcare, with each system serving tasks like data collection, communication, processing, monitoring, and control.

Uploaded by

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

Module_1

Embedded systems are specialized electronic systems designed for specific functions, combining hardware and software, and are integral to various applications across multiple industries. They differ from general computing systems in terms of hardware specificity, operating systems, and performance requirements, with classifications based on generation, complexity, and performance. Major applications include consumer electronics, automotive systems, telecommunications, and healthcare, with each system serving tasks like data collection, communication, processing, monitoring, and control.

Uploaded by

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

Introduction to Embedded

System
Module-1
What is an Embedded Systems?
● An embedded system is an electronic / electro-mechanical system designed
to perform a specific function and is a combination of both hardware and
software.
● Every embedded system is unique, and the hardware as well as the software
is highly specialised to the application domain.
● Embedded systems are becoming an inevitable part of any product or
equipment in all fields including household appliances, telecommunications,
medical equipment, industrial control, consumer products, etc.
Embedded systems Vs General computing systems
General Computing Systems Embedded Systems
● Special purpose hardware and embedded OS
● Generic hardware and general purpose operating
systems ● May or may not contain an operating system for
● Has general purpose Operating systems functioning
● Applications are alterable (programmable) by the ● The firmware of the embedded system is pre-
user. programmed and it is non-alterable by the end user.
● Performance is the key deciding factor in the ● Application-specific requirements (like performance,
selection of the system. power requirements, memory usage, etc.) are the key
● Less/not at all tailored towards reduced operating deciding factors.
power requirements, options for different levels of ● Highly tailored to take advantage of the power saving
modes supported by the hardware and the operating
power requirements.
system.
● Response requirements are not time-critical.
● For certain categories of embedded systems like mission
● Need not be deterministic in execution behaviour. critical systems, the response time requirement is highly
critical.
● Execution behaviour is deterministic for certain types of
embedded systems like “ Hard Real Time” systems
History of Embedded Systems
● Embedded systems were in existence even before the IT revolution.
● In the olden days, embedded systems were built around the old vacuum tube
and transistor technologies and the embedded algorithm was developed in
low level languages.
● Advances in semiconductor and nano-technology and IT revolution gave way
to the development of miniature embedded systems.
● The first recognised modern embedded system is the Apollo Guidance
Computer (AGC) developed by the MIT Instrumentation Laboratory for the
lunar expedition.
● The first mass-produced embedded system was the guidance computer for
the Minuteman-I missile in 1961.
Classification of Embedded systems
Embedded systems are classified based on the following criteria:
1. Based on generation

2. Complexity and performance requirements

3. Based on deterministic behaviour

4. Based on triggering
Classification Based on Generation
1. First Generation
Example:8-bit microprocessors like 8085 with software developed in
Assembly code
2. Second Generation
Example: 16-bit microprocessors, Data Acquisition Systems
3. Third Generation
Example:Powerful 32-bit processors (DSP, ASIC), complex instruction set
4. Fourth Generation
Examples: Smart mobile devices, mobile internet devices, SoC
Classification Based on Complexity and Performance
1. Small-Scale Embedded Systems
Simple in application and performance requirements are not time critical. It may or may not contain an
operating system for its functioning.
Example: An electronic toy

2. Medium-Scale Embedded systems


Slightly complex in hardware and software requirements.They usually contain an embedded operating
system for their functioning.
Example: Low cost 16 or 32 bit microprocessors/microcontrollers or digital signal processors

3. Large-Scale Embedded systems/Complex Systems


Highly complex hardware and software requirements fall under this category. Mission critical
applications demanding high performance.
Example: 32 or 64 bit RISC processors/controllers or Reconfigurable System on Chip (RSoC) or multi-
core processors and programmable logic devices.
Major Application Areas of Embedded Systems
1. Consumer electronics:Camcorders, cameras, etc.
2. Household appliances: Television, washing machine, fridge, microwave oven etc
3. Home automation and security systems: Air conditioners, sprinklers, intruder detection alarms etc
4. Automotive industry: Anti-lock breaking system, engine control, ignition systems, automatic
navigation systems, etc.
5. Telecommunication: Cellular telephones, handset multimedia applications etc
6. Computer peripherals: Printers, scanners, fax machines etc
7. Computer networking systems: Network routers, switches, hubs etc
8. Healthcare: Different types of scanners, EEG, ECG machines etc
9. Measurement and Instrumentation: Digital multimeters, DSO, etc
10. Banking & Retail: Automatic teller machines (ATM) and currency counters etc
11. Card Readers: Barcode, smart card readers, hand held devices etc
12. Wearable Devices: Health and Fitness Trackers etc
13. Cloud Computing and Internet of Things (IoT)
Purpose of Embedded Systems
Each embedded system is designed to serve the purpose of any one or a
combination of the following tasks:
1. Data collection/Storage/Representation
2. Data communication
3. Data (signal) processing
4. Monitoring
5. Control
6. Application specific user interface
1. Data Collection/Storage/Representation
● Acquisition of data from the external
world.
● Data collection is done for storage,
analysis, manipulation, and
transmission.
● The term data refers to all kinds of
information, viz. text, voice, image,
video, electrical signals and any other
measurable quantities.
● Data can be either analog
(continuous) or digital (discrete)
2. Data Communication
● Satellite communication
● Home networking systems
● The transmission of information
is achieved either by a wire-line
or wireless medium.
● The data collecting embedded
terminal itself can incorporate
data communication units like
wireless modules (Bluetooth,
ZigBee, Wi-Fi, EDGE, GPRS,
etc.) or wire-line modules (RS-
232C, USB, TCP/IP, PS2, etc.)
3. Data (Signal) Processing
● Embedded systems with signal
processing functionalities are
employed in applications
demanding signal processing
like speech coding, synthesis,
audio video codec, etc.
● A digital hearing aid is a typical
example of an embedded system
employing data processing.
4. Monitoring
● ECG is a good example.
● Electrocardiogram is used
to monitor heartbeat.
● Digital Storage Oscilloscope,
Digital multimeters are other
examples of the embedded
systems used for monitoring
purpose.
● They cannot control the
variables.
5. Control
● A system with control
functionality contains both
sensors and actuators.
● Sensors are connected to
the input port for capturing
the changes in
environmental variables.
● Actuators connected to the
output port are controlled
according to the changes
in input variable.
● Example: An air conditioner
6. Application Specific User Interface
● These are embedded systems with
application-specific user interfaces like
buttons, switches, keypad, lights, bells,
display units, etc.
● Mobile phone is an example for this.
● In mobile phone the user interface is
provided through the keypad, graphic
LCD module, system speaker, vibration
alert, etc.
The Typical Embedded System
System Core
● A typical embedded system contains a single chip controller, which acts as
the master brain of the system.

● The controller can be a Microprocessor (e.g. Intel 8085) or a microcontroller


(e.g. Atmel AT89C51) or a Field Programmable Gate Array (FPGA) device
(e.g. Xilinx Spartan) or a Digital Signal Processor ( DSP) (e.g. Blackfin®
Processors from Analog Devices) or an Application Specific Integrated Circuit
(ASIC)/ Application Specific Standard Product (ASSP) (e.g. ADE7760 Single
Phase Energy Metering IC from) Analog Devices for energy metering
applications).
Embedded hardware/software
● Embedded hardware/software systems are basically designed to regulate a
physical variable or to manipulate the state of some devices by sending some
control signals to the actuators or devices connected to the o/p ports of the
system, in response to the input signals provided by the end users or sensors
which are connected to the input ports.
● Embedded system can be viewed as a reactive system.
● The control is achieved by processing the information coming from the
sensors and user interfaces, and controlling some actuators that regulate the
physical variable.
I/O User Interfaces for a typical embedded system
● Keyboards, push button switches, etc. are examples for common user interface input
devices.
● LEDs, liquid crystal displays, piezoelectric buzzers, etc. are examples for common user
interface output devices.
● It should be noted that it is not necessary that all embedded systems should incorporate
these I/O user interfaces.
● It solely depends on the type of the application for which the embedded system is
designed.
● For example, if the embedded system is designed for any handheld application, such as
a mobile handset application, then the system should contain user interfaces like a
keyboard for performing input operations and display unit for providing users the status
of various activities in progress.
● Some embedded systems do not require any manual intervention for their
operation.
● They automatically sense the variations in the input parameters in accordance
with the changes in the real world, to which they are interacting through the
sensors which are connected to the input port of the system.
● The sensor information is passed to the processor after signal conditioning
and digitisation.
● Upon receiving the sensor data, the processor or brain of the embedded
system performs some predefined operations with the help of the firmware
embedded in the system and sends some actuating signals to the actuator
connected to the output port of the embedded system, which in turn acts on
the controlling variable to bring the controlled variable to the desired level to
make the embedded system work in the desired manner.
Memory
● The Memory of the system is responsible for holding the control algorithm
and other important configuration details.
● For most of embedded systems, the memory for storing the algorithm or
configuration data is of fixed type, which is a kind of Read Only Memory
(ROM) and it is not available for the end user for modifications.
● The most common types of memories used in embedded systems for control
algorithm storage are OTP, PROM, UVEPROM, EEPROM and FLASH.
● Sometimes the system requires temporary memory for performing arithmetic
operations or control algorithm execution. Random Access Memory (RAM) is
used in most of the systems for this purpose.
CORE OF THE 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 one of the following categories:

(1) General Purpose and Domain Specific Processors

1.1 Microprocessors

1.2 Microcontrollers

1.3 Digital Signal Processors

(2) Application Specific Integrated Circuits (ASICs)

(3) Programmable Logic Devices (PLDs)

(4) Commercial off-the-shelf Components (COTS)


General Purpose and Domain Specific Processors

● Almost 80% of the embedded systems are processor/controller based.


● The processor may be a microprocessor or a microcontroller or a digital signal
processor, depending on the domain and application.
● Most of the embedded systems in the industrial control and monitoring
applications make use of the commonly available microprocessors or
microcontrollers.
● Domains which require signal processing such as speech coding, speech
recognition, etc. make use of special kind of digital signal processors.
Microprocessors
● A microprocessor is a silicon chip representing a central processing unit (CPU),
which is capable of performing arithmetic as well as logical operations according to
a predefined set of instructions.
● In general, the CPU contains the Arithmetic and Logic Unit (ALU), control unit and
working registers.
● 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.
● Different instruction set architectures (Reduced Instruction Set Computing (RISC)
and Complex Instruction Set Computing (CISC)) and system architectures
( Harvard and Von-Neumann) are available for the design of a microprocessor.
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.
● Microcontrollers can be considered as a super set of microprocessors.
● Since a microcontroller contains all the necessary functional blocks for independent
working, they found greater place in the embedded domain in place of microprocessors.
● Apart from this, they are cheap, cost effective and are readily available in the market.
● The instruction set architecture of a microcontroller can be either RISC or CISC.
● Microcontrollers are designed for either general purpose application requirement
(general purpose controller) or domain- specific application requirement (application
specific instruction set processor).
Microprocessor vs Microcontroller
Microprocessor Microcontroller

● A silicon chip representing a central processing ● A microcontroller is a highly integrated chip that
unit (CPU), which is capable of performing contains a CPU, scratchpad RAM, special and
arithmetic as well as logical operations according general purpose register arrays, on chip
to a predefined set of instructions. ROM/FLASH memory for program storage, timer
● It is a dependent unit. It requires the combination of and interrupt control units and dedicated I/O ports.
other chips like timers, program and data memory ● It is a self-contained unit and it doesn’t require
chips, interrupt controllers, etc. for functioning. external interrupt controller, timer, UART, etc. for
● Most of the time general purpose in design and its functioning.
operation. ● Mostly application-oriented or domain-specific.
● Doesn’t contain a built in I/O port. ● Most of the processors contain multiple built-in I/O
● Targeted for high end market where performance is ports.
important. ● Targeted for embedded market where
● Limited power saving options compared to performance is not so critical.
microcontrollers. ● Includes lot of power saving features
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.
● 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.
RISC vs CISC Instruction Set Architectures
RISC CISC

● Lesser number of instructions ● Greater number of Instructions


● Instruction pipelining and increased execution ● Generally no instruction pipelining feature
speed ● Non-orthogonal instruction set (All instructions are
● Orthogonal instruction set (Allows each instruction not allowed to operate on any register and use
to operate on any register and use any any addressing mode. It is instruction-specific)
addressing mode) ● Operations are performed on registers or memory
● Operations are performed on registers only, the depending on the instruction
only memory operations are load and store ● Limited number of general purpose registers
● A large number of registers are available ● Instructions are like macros in C language.
● Programmer needs to write more code to execute ● Variable length instructions
a task since the instructions are simpler ones ● More silicon usage since more additional decoder
● Single, fixed length instructions logic is required to implement the complex
● Less silicon usage and pin count instruction decoding.
● With Harvard Architecture ● Can be Harvard or Von-Neumann Architecture
Harvard vs. Von-Neumann Processor/Controller Architecture
● The terms Harvard and Von-Neumann refers to the processor architecture design.
● Microprocessors/controllers based on the Von-Neumann architecture shares a single common bus for fetching both
instructions and data.
● Program instructions and data are stored in a common main memory. Von-Neumann architecture based
processors/controllers
first fetch an instruction and then fetch the data to support the instruction from code memory.
● The two separate fetches slows down the controller’s operation.
● Microprocessors/controllers based on the Harvard architecture will have separate data bus and instruction bus.
● This allows the data transfer and program fetching to occur simultaneously on both buses.
● With Harvard architecture, the data memory can be read and written while the program memory is being accessed.
● These separated data memory and code memory buses allow one instruction to execute while the next instruction
is fetched (“prefetching”).
● The prefetch theoretically allows much faster execution than Von-Neumann architecture.
Harvard vs. Von-Neumann Processor/Controller Architecture

Harvard Von-Neumann
● Separate buses for instruction and ● Single shared bus for instruction and
data fetching data fetching
● Easier to pipeline, so high ● Low performance compared to
performance can be achieved Harvard architecture
● Comparatively high cost ● Cheaper
● No memory alignment problems ● Allows self modifying codes
● Since data memory and program ● Since data memory and program
memory are stored physically in memory are stored physically in the
different locations, no chances for same chip, chances for accidental
accidental corruption of program corruption of program memory
memory
Little-Endian Processors/Controllers
Little-endian means the lower-order byte of the data is stored in memory at the lowest address, and the
higher-order byte at the highest address. (The little end comes first.) For example, a 4 byte long integer
Byte3Byte2Byte1Byte0 will be stored in the memory as shown below:
Big-Endian Processors/Controllers
Big-endian means the higher-order byte of the data is stored in memory at the lowest
address, and the lower-order byte at the highest address. (The big end comes first.) For
example, a 4 byte long integer Byte3 Byte2 Byte1 Byte0 will be stored in the memory as
follows:
Load Store Operation and Instruction Pipelining
● The RISC processor instruction set is orthogonal, meaning it operates on
registers.
● The memory access related operations are performed by the special
instructions load and store.
● If the operand is specified as memory location, the content of it is loaded to a
register using the load instruction.
● The instruction store stores data from a specified register to a specified
memory location.
● Such an instruction set architecture is called as Load Store Architecture.
The concept of Load Store Architecture
● Suppose x, y and z are memory locations and we want to add the contents of
x and y and store the result in location z.
● The first instruction load R1, x loads the register R1 with the content of
memory location x, the second instruction load R2, y loads the register R2
with the content of memory location y.
● The instruction add R3, R1, R2 adds the content of registers R1 and R2 and
stores the result in register R3.
● The next instruction store R3, z stores the content of register R3 in memory
location z.
Fetch-decode-execute sequence
● The conventional instruction execution by the processor follows the fetch-
decode-execute sequence.
● Where the ‘fetch’ part fetches the instruction from program memory or code
memory and the ‘decode’ part decodes the instruction to generate the
necessary control signals.
● The ‘execute’ stage reads the operands, perform ALU operations and stores
the result.
● In conventional program execution, the fetch and decode operations are
performed in sequence.
The single stage pipelining concept
● For simplicity let’s consider decode and execution together. During the decode
operation the memory address bus is available and if it is possible to effectively
utilise it for an instruction fetch, the processing speed can be increased.
● In its simplest form instruction pipelining refers to the overlapped execution of
instructions.
● Under normal program execution flow, it is meaningful to fetch the next
instruction to execute, while the decoding and execution of the current
instruction is in progress.
● If the current instruction in progress is a program control flow transfer
instruction like jump or call instruction, there is no meaning in fetching the
instruction following the current instruction.
Application Specific Integrated Circuits (ASICs)
● Application Specific Integrated Circuit ( ASIC) 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.
● 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.
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.
● As the name indicates, 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.
● With programmable logic devices, designers use inexpensive software tools to quickly
develop, simulate, and test their designs.
● Then, a design can be quickly programmed into a device, and immediately tested in a live
circuit.
Commercial Off-the-Shelf Components (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 of COTS hardware unit are remote controlled toy car control
units including the RF circuitry part, high performance, high frequency microwave
electronics (2–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.
● The major advantage of using COTS is that they are readily available in the
market, are cheap and a developer can cut down his/her development time to a
great extent.
● This in turn reduces the time to market embedded systems.
Memory
● Memory is an important part of a processor/controller based embedded
systems.
● Some of the processors/controllers contain built in memory and this memory
is referred as on-chip memory.
● Others do not contain any memory inside the chip and requires external
memory to be connected with the controller/processor to store the control
algorithm. It is called off-chip memory.
● Also some working memory is required for holding data temporarily during
certain operations.
Program Storage Memory ( ROM)
• The program memory or code storage memory of an embedded system stores the program instructions
and it can be classified into different types as per the block diagram representation given in Figure
below:
• The code memory
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 the
following types.

Classification of Program Memory (ROM)


Masked ROM ( MROM)
● Masked ROM is a one-time programmable device.
● Masked ROM makes use of the hardwired technology for storing data.
● The device is factory programmed by masking and metallisation process at
the time of production itself, according to the data provided by the end user.
● Masked ROM is a good candidate for storing the embedded firmware for low
cost embedded devices.
● The limitation with MROM based firmware storage is the inability to modify the
device firmware against firmware upgrades.
● Since the MROM is permanent in bit storage, it is not possible to alter the bit
information.
Programmable Read Only Memory ( PROM) / ( OTP)
● Unlike Masked ROM Memory, One Time Programmable Memory (OTP) or
PROM is not pre-programmed by the manufacturer.
● The end user is responsible for programming these devices.
● This memory 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” whereas fuses
which are blown/burned represents a logic “0”.
● OTP is widely used for commercial production of embedded systems whose
proto-typed versions are proven and the code is finalised.
Erasable Programmable Read Only Memory ( EPROM)
● OTPs are not useful and worth for development purpose.
● During the development phase, the code is subject to continuous changes
and using an OTP each time to load the code is not economical.
● Erasable Programmable Read Only Memory (EPROM) gives the flexibility to
re-program the same chip.
● 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 ultraviolet rays for a fixed duration, the entire
memory will be erased.
Electrically Erasable Programmable Read Only Memory
( EEPROM)
● As the name indicates, 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 in-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).
FLASH
● FLASH is the latest ROM technology and is the most popular ROM technology
used in today’s embedded designs.
● FLASH memory is a variation of EEPROM technology.
● It combines the reprogrammability of EEPROM and the high capacity of
standard ROMs.
● FLASH memory is organised 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.
NVRAM
● Non-volatile RAM is a 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.
● The life span of NVRAM is expected to be around 10 years.
● DS1644 from Maxim/Dallas is an example of 32KB NVRAM.
Read-Write Memory/ Random Access Memory ( RAM)
● RAM is the data memory or working memory of the controller/processor.
● Controller/processor can read from it and write to it.
● 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).
● This is in contrast to the Sequential Access Memory (SAM), where the desired memory
location is accessed by either traversing through the entire memory or through a ‘seek’
method. Magnetic tapes, CD ROMs, etc. are examples of sequential access memories.
● RAM generally falls into three categories: Static RAM (SRAM), dynamic RAM (DRAM),
and non-volatile RAM (NVRAM)
Classifi cation of Working Memory (RAM)
Static RAM ( SRAM)
● Static RAM stores data in the form of voltage.
● They are made up of flip-flops.
● Static RAM is the fastest form of RAM
available.
● In typical implementation, an SRAM cell (bit) is
realised using six transistors (or 6 MOSFETs).
● Four of the transistors are used for building
the latch (flip-flop) part of the memory cell and
two for controlling the access.
● SRAM is fast in operation due to its resistive SRAM cell implementation
networking and switching capabilities.
Visualisation of SRAM cell
● This implementation in its simpler form can be visualised as two-cross
coupled inverters with read/write control through transistors.
● The four transistors in the middle form the cross-coupled inverters.
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.
● The MOSFET acts as the gate for the incoming and
outgoing data whereas the capacitor acts as the bit
storage unit.
Table given below summarises the relative merits and demerits of SRAM and
DRAM technology.
SENSORS AND ACTUATORS

● An embedded system is in constant interaction with the real world and the
controlling/monitoring functions executed by the embedded system is achieved in
accordance with the changes happening to the real world.
● The changes in system environment or variables (like pressure, acceleration, or light)
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 the controlling variable to bring the controlled variable to the
desired value.
● It is achieved through an actuator (applying force or motion) connected to the output
port of the embedded system.
● If the embedded system is designed for monitoring purpose only, then there is no need
for including an actuator in the system.(example. ECG machine)
Sensors
● A sensor is a transducer device that converts energy
from one form to another for any measurement or
control purpose.
● For example, in ‘Wearable devices’, the sensor which counts steps for pedometer functionality is
an accelerometer sensor and the sensor used in some of the smartwatch devices to measure the
light intensity is an Ambient Light Sensor (ALS).

Actuators
● Actuator is a form of transducer device (mechanical or electrical) which converts signals
to corresponding physical action (motion). Actuator acts as an output device.
● Looking back to the ‘Wearable devices’ example, certain smartwatches use Ambient
Light Sensor to detect the surrounding light intensity and uses an electrical/ electronic
actuator circuit to adjust the screen brightness for better readability.
The I/O Subsystem
● The I/O subsystem of the embedded system facilitates the interaction of the
embedded system with the 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, Optocoupler, etc.
● It is important to study some of the sensors and actuators used in embedded
systems and the I/O systems to facilitate the interaction of embedded
systems with external world.
Light Emitting Diode (LED)
● Light Emitting Diode ( LED) is an important 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.
● Light Emitting Diode 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.
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 • The LED segments are named A to G
special form. and the decimal point LED segment is
● Out of the 8 LED segments, 7 are named as DP.
used for displaying alpha numeric • The LED segments A to G and DP
characters and 1 is used for should be lit accordingly to display
representing ‘decimal point’ in numbers and characters.
• For example, for displaying the
decimal number display.
number 4, the segments F, G, B and C
are lit.
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, an Optocoupler is used for suppressing interference in


data communication, circuit isolation, high voltage separation, simultaneous
separation and signal intensification,etc.
Stepper Motor

● A 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.
Relay
● Relay is an electro-mechanical device. In embedded
application, the ‘Relay’ unit 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.
‘Relays’ are available in different configurations.
Piezo Buzzer
● Piezo buzzer is a piezoelectric device for
generating audio indications in embedded application.
● A piezoelectric buzzer contains a piezoelectric diaphragm
which produces audible sound in response to the voltage
applied to it.
● Piezoelectric buzzers are available in two types. ‘Self-driving’ and ‘External driving’.
● The ‘Self-driving’ circuit contains all the necessary components to generate sound at
a predefined tone.
● It will generate a tone on applying the voltage.
● External driving piezo buzzers supports the generation of different tones.
● The tone can be varied by applying a variable pulse train to the piezoelectric buzzer.
Push Button Switch

● It is an input device.
● Push button switch comes in two configurations,
namely ‘Push to Make’ and ‘Push to Break’.
● In the ‘Push to Make’ configuration, the switch is normally in the open state and
it makes a circuit contact when it is pushed or pressed.
● In the ‘Push to Break’ configuration, the switch is normally in the closed state
and it breaks the circuit contact when it is pushed or pressed.
● In embedded application push button is generally used as reset and start switch
and pulse generator.
● The Push button is normally connected to the port pin of the host processor/
controller.
COMMUNICATION INTERFACE
● Communication interface is essential for communicating with various subsystems of the
embedded system and with the external world.
● For an embedded product, the communication interface can be viewed in two different
perspectives; namely; Device/board level communication interface (On-board Communication
Interface) and product level communication interface (External Communication Interface).
● Embedded product is a combination of different types of components (chips/
devices) arranged on a printed circuit board (PCB).
● The communication channel which interconnects the various components within an
embedded product is referred as device/board level communication interface (on-board
communication interface).
● Serial interfaces like I2C, SPI, UART, 1-Wire, etc and parallel bus interface are examples of
‘On-board Communication Interface’.
COMMUNICATION INTERFACE
● The ‘product level communication interface’ (External Communication Interface) is
responsible for data transfer between the embedded system and other devices or modules.
● The external communication interface can be either a wired media or a wireless media and
it can be a serial or a parallel interface.
● Infrared (IR), Bluetooth (BT), Wireless LAN (Wi-Fi), Radio Frequency waves (RF),
GPRS/3G/4GLTE, etc. are examples for wireless communication interface.
● RS-232C/RS-422/RS-485, USB, Ethernet, IEEE 1394 port, parallel port, CF-II interface,
SDIO, PCMCIA/PCIex, etc. are examples for wired interfaces.
● It is not mandatory that an embedded system should contain an external communication
interface.
● Mobile communication equipment is an example for embedded system with external
communication interface.
On-board Communication Interfaces
● On-board Communication Interface refers to the different communication
channels/buses for interconnecting the various integrated circuits and other
peripherals within the embedded system.
● The following are the various interfaces for on-board communication:
a) Inter Integrated Circuit ( I2C) Bus
b) Serial Peripheral Interface ( SPI) Bus
c) Universal Asynchronous Receiver Transmitter ( UART)
d) 1-Wire Interface
e) Parallel Interface
a) Inter Integrated Circuit ( I2C) Bus
● The Inter Integrated Circuit Bus (I2C–Pronounced ‘I square C’) is a synchronous bi-
directional half duplex (one-directional communication at a given point of time) two
wire serial interface bus.
● The original intention of I2C was to provide an easy way of connection between a
microprocessor/microcontroller system and the peripheral chips in television sets.
● The I2C bus comprise of two bus lines, namely; Serial Clock–SCL and Serial Data–
SDA.
● SCL line is responsible for generating synchronisation clock pulses and SDA is
responsible for transmitting the serial data across devices.
● I2C bus is a shared bus system to which many number of I2C devices can be
connected.
I2C Bus Interfacing • The I2C bus interface is built around an input
buffer and an open drain or collector transistor.
• When the bus is in the idle state, the open
drain/collector transistor will be in the floating
state and the output lines (SDA and SCL)
switch to the ‘High Impedance’ state.
• For proper operation of the bus, both the bus
lines should be pulled to the supply voltage
(+5V for TTL family and +3.3V for CMOS
family devices) using pull-up resistors.
• The typical value of resistors used in pull-up is
2.2K. With pull-up resistors, the output lines of
the bus in the idle state will be ‘HIGH’.
• The address of a I2C device is assigned by
hardwiring the address lines of the device to
the desired logic level.
• The address to various I2C devices in an
embedded device is assigned and hardwired
at the time of designing the embedded
hardware.
Serial Peripheral Interface (SPI) Bus
● The Serial Peripheral Interface Bus (SPI) is a synchronous bi-directional full
duplex four-wire serial interface bus.
● SPI is a single master multi-slave system.
● It is possible to have a system where more than one SPI device can be
master, provided the condition only one master device is active at any given
point of time, is satisfied.
● SPI requires four signal lines for communication. They are:
Universal Asynchronous Receiver Transmitter ( UART)
● Universal Asynchronous Receiver Transmitter (UART) based data transmission is an
asynchronous form of serial data transmission.
● UART based serial data transmission doesn’t require a clock signal to synchronise the
transmitting end and receiving end for transmission.
● Instead it relies upon the pre-defined agreement between the transmitting device and
receiving device.
● The serial communication settings (Baudrate, number of bits per byte, parity, number of start
bits and stop bit and flow control) for both transmitter and receiver should be set as identical.
● The start and stop of communication is indicated through inserting special bits in the data
stream.
● While sending a byte of data, a start bit is added first and a stop bit is added at the end of
the bit stream.
• The ‘start’ bit informs the receiver that a data
byte is about to arrive.
• The receiver device starts polling its ‘receive
line’ as per the baudrate settings.
• If the baudrate is ‘x’ bits per second, the time
slot available for one bit is 1/x seconds.
• The receiver unit polls the receiver line at
exactly half of the time slot available for the bit.
• If parity is enabled for communication, the UART
of the transmitting device adds a parity bit (bit
value is 1 for odd number of 1s in the
transmitted bit stream and 0 for even number of
1s).
• The UART of the receiving device calculates the
• For proper communication, the ‘Transmit
parity of the bits received and compares it with
line’ of the sending device should be
the received parity bit for error checking.
connected to the ‘Receive line’ of the
• The UART of the receiving device discards the
receiving device.
‘Start’, ‘Stop’ and ‘Parity’ bit from the received bit
• In addition to the serial data transmission
stream and converts the received serial bit data
function, UART provides hardware
to a word (In the case of 8 bits/byte, the byte is
handshaking signal support for controlling
formed with the received 8 bits with the first
the serial data flow.
received bit as the LSB and last received data
1-Wire Interface
● 1-wire interface is an asynchronous half-duplex communication protocol
developed by Maxim Dallas Semiconductor (http://www.maxim-ic.com).
● It makes use of only a single signal line (wire) called DQ for communication
and follows the master-slave communication model.
● One of the key feature of 1-wire bus is that it allows power to be sent along
the signal wire as well.
● The 1-Wire slave devices incorporate internal capacitor (typically of the order
of 800 pF) to power the device from the signal line.
● The 1-wire interface supports a single master and one or more slave devices
on the bus.
Parallel Interface
● The on-board parallel interface is normally used for communicating with
peripheral devices which are memory mapped to the host of the system.
● The host processor/controller of the embedded system contains a parallel bus
and the device which supports parallel bus can directly connect to this bus
system.
● The communication through the parallel bus is controlled by the control signal
interface between the device and the host.
● The ‘Control Signals’ for communication includes ‘Read/Write’ signal and device
select signal.
● The device normally contains a device select line and the device becomes
active only when this line is asserted by the host processor.
External Communication Interfaces
● The External Communication Interface refers to the different communication
channels/buses used by the embedded system to communicate with the
external world.
● The following are the various interfaces for external communication:
a. RS-232 C & RS-485
b. Universal Serial Bus (USB)
c. IEEE 1394 (Firewire)
d. Infrared (IrDA)
e. Bluetooth (BT)
f. Wi-Fi
g. ZigBee
h. General Packet Radio Service (GPRS), 3G, 4G, LTE
RS-232 C & RS-485

● RS-232 C (Recommended Standard number 232, revision C from the


Electronic Industry Association) is a legacy, full duplex, wired, asynchronous
serial communication interface.
● The RS-232 interface is developed by the Electronics Industries Association
(EIA) during the early 1960s.
Universal Serial Bus (USB)
● Universal Serial Bus ( USB) is a wired high speed serial bus for data
communication.
● The USB communication system follows a star
topology with a USB host at the centre and one or
more USB peripheral devices/USB hosts connected
to it.
● Figure illustrates the star topology for USB
device connection.
● USB transmits data in packet format.
● The USB communication is a host initiated one.
IEEE 1394 (Firewire)
● IEEE 1394 is a wired, isochronous high speed serial communication bus.
● It is also known as High Performance Serial Bus (HPSB).
● There are two differential data transfer lines A and B per connector. In a 1394
cable, normally the differential lines of A are connected to B (TPA+ to TPB+
and TPA–to TPB–) and vice versa.
● 1394 is a popular communication interface for connecting embedded devices
like Digital Camera, Camcorder, Scanners to desktop computers for data
transfer and storage.
● Unlike USB interface (Except USB OTG), IEEE 1394 doesn’t require a host
for communicating between devices.
Infrared (IrDA)
● Infrared ( IrDA) is a serial, half duplex, line of sight based wireless technology
for data communication between devices.
● The remote control of TV, VCD player, etc. works on Infrared data communication
principle.
● Infrared communication technique uses infrared waves of the electromagnetic
spectrum for transmitting the data.
● IrDA supports point-point and point-to-multipoint communication, provided all
devices involved in the communication are within the line of sight.
● The typical communication range for IrDA lies in the range 10 cm to 1 m.
● The range can be increased by increasing the transmitting power of the IR device.
● IR supports data rates ranging from 9600bits/second to 16Mbps.
Bluetooth (BT)
● Bluetooth is a low cost, low power, short range wireless technology for data and audio
communication.
● Bluetooth operates at 2.4GHz of the Radio Frequency spectrum and uses the
Frequency Hopping Spread Spectrum (FHSS) technique for communication.
● It supports a data rate of up to 1Mbps to 24Mbps for data communication.
● Like IrDA, Bluetooth communication also has two essential parts; a physical link part
and a protocol part.
● The physical link is responsible for the physical transmission of data between devices
supporting Bluetooth communication and protocol part is responsible for defining the
rules of communication.
● Bluetooth is the favourite choice for short range data communication in handheld
embedded devices.
Wi-Fi
● Wi-Fi or Wireless Fidelity is the popular wireless communication technique for networked
communication of devices.
● Wi-Fi follows the IEEE 802.11 standard. Wi-Fi is intended for network communication and it
supports Internet Protocol (IP) based communication.
● It is essential to have device identities in a multipoint communication to address specific
devices for data communication.
● In an IP based communication each device is identified by an IP address, which is unique
to each device on the network.
● Wi-Fi based communications require an intermediate agent called Wi-Fi router/Wireless
Access point to manage the communications.
● The Wi-Fi router is responsible for restricting the access to a network, assigning IP address
to devices on the network, routing data packets to the intended devices on the network.
Wi-Fi
● Wi-Fi enabled devices contain a wireless adaptor for
transmitting and receiving data in the form of radio
signals through an antenna.
● Wi-Fi operates at 2.4GHz or 5GHz of radio
spectrum and they co-exist with other ISM
band devices like Bluetooth.
● For communicating with devices over a Wi-Fi
network, the device when its Wi-Fi radio is
turned ON, searches the available Wi-Fi
network in its vicinity and lists out the Service
Set Identifier (SSID) of the available networks.
ZigBee
● ZigBee is a low power, low cost, wireless network communication protocol
based on the IEEE 802.15.4-2006 standard.
● ZigBee is targeted for low power, low data rate and secure applications for
Wireless Personal Area Networking (WPAN).
● The ZigBee specifications support a robust mesh network containing multiple
nodes.
● This networking strategy makes the network reliable by permitting messages
to travel through a number of different paths to get from one node to another.
● ZigBee operates worldwide at the unlicensed bands of Radio spectrum,
mainly at 2.400 to 2.484 GHz, 902 to 928 MHz and 868.0 to 868.6 MHz.
General Packet Radio Service (GPRS), 3G, 4G, LTE
● General Packet Radio Service (GPRS),3G, 4G and LTE are cellular
communication technique for transferring data over a mobile communication
network like GSM and CDMA. Data is sent as packets in GPRS
communication.
● The transmitting device splits the data into several related packets. At the
receiving end the data is re-constructed by combining the received data
packets.
● GPRS supports a theoretical maximum transfer rate of 171.2kbps. In GPRS
communication, the radio channel is concurrently shared between several
users instead of dedicating a radio channel to a cell phone user.
EMBEDDED FIRMWARE
● Embedded firmware refers to the control algorithm (Program instructions) and or the
configuration settings that an embedded system developer dumps into the code
(Program) memory of the embedded system.
● It is an un-avoidable part of an embedded system.
● There are various methods available for developing the embedded firmware.

(1) Write the program in high level languages like Embedded C/C++ using an Integrated Development
Environment (The IDE will contain an editor, compiler, linker, debugger, simulator, etc. IDEs are different for
different family of processors/controllers. For example, Keil micro vision3 IDE is used for all family members of
8051 microcontroller, since it contains the generic 8051 compiler C51).

(2) Write the program in Assembly language using the instructions supported by your application’s
target processor/controller.
EMBEDDED FIRMWARE
● The instruction set for each family of processor/controller is different and the program written in
either of the methods given above should be converted into a processor understandable
machine code before loading it into the program memory.
● The process of converting the program written in either a high level language or
processor/controller specific Assembly code to machine readable binary code is called ‘HEX File
Creation’.
● The methods used for ‘HEX File Creation’ is different depending on the programming techniques
used.
● If the program is written in Embedded C/C++ using an IDE, the cross compiler included in the
IDE converts it into corresponding processor/controller understandable ‘HEX File’.
● If you are following the Assembly language based programming technique (method 2), you can
use the utilities supplied by the processor/controller vendors to convert the source code into
‘HEX File’.

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