Ertos 2025
Ertos 2025
1
General purpose computing
system versus Embedded system
General purpose computing Embedded system
system
1. A system which is a 1. A system which is a combination of
combination of a generic special purpose hardware and
hardware and a general embedded OS for executing a
purpose OS for executing a specific set of applications.
variety of applications.
2. May or may not contain an
2. Contains a general purpose operating system for functioning.
operating system (GPOS).
3. The firmware of the embedded
3. Applications are alterable system is pre-programmed and it
(programmable) by the user. (It is non-alterable by the end user.
is possible for the end user to (There may be exceptions for the
reinstall the OS, and also add systems supporting OS Kernel
or remove user applications). image flashing through special
hardware settings).
2
General purpose computing
system Embedded system
4. Performance is the key deciding 4. Application-specific requirements
factor in the selection of the (performance, power requirements,
system. Always, ‘Faster is memory usage, etc.) are the key
Better’. deciding factors.
5. Less / not at all tailored towards 5. Highly tailored to take advantage of the
reduced operating power power saving modes supported by the
requirements, options for different hardware and the OS.
levels of power management.
6. For certain category of embedded
6. Response requirements are not systems like mission critical systems, the
time-critical. response time requirements is highly
critical.
3
History of Embedded
Systems
Apollo Guidance Computer (AGC) - 1st recognized modern
embedded system – MIT Instrumentation Laboratory for Lunar
expedition.
AGC contains 4K ROM and 256 words of RAM.
In 1963, 10K ROM and 1K RAM.
Clock frequency = 1.024MHz.
11 instructions and 16-bit word logic is used.
5000 ICs (3-input NOR gates, RTL Logic) are used.
4
Classification of Embedded
Systems
1. Based on Generation
4. Based on Triggering
1. Classification of Embedded systems
based on Generation
a) First Generation
b) Second Generation
c) Third Generation
d) Fourth Generation
a) First Generation:
Embedded systems built around 8-bit microprocessors like 8085 and Z80, and
4-bit microcontrollers.
Firmware developed in Assembly code.
Ex: Digital telephone keypads, Stepper motor control units, etc.
b) Second Generation:
Embedded systems built around 16-bit microprocessors, and
8-bit or 16-bit microcontrollers.
Instruction set is much more complex than 1st generation.
Some systems have embedded operating system.
Ex: Data acquisition systems, SCADA systems, etc.
(SCADA: Supervisory Control And Data Acquisition)
c) Third Generation:
Embedded systems built around 32-bit microprocessors, and
16-bit microcontrollers.
Application and Domain-specific Processors / Controllers like Digital
Signal Processing (DSP) and Application Specific Integrated Circuits
(ASICs) are used.
Instruction set is much more complex and powerful.
Instruction Pipeline concept is introduced.
Uses Dedicated embedded real time and general purpose operating
system.
Ex: Robotics, Media, Industrial processor control, Networking, etc.
d) Fourth Generation:
System-On-Chip (SOC), Reconfigurable processors and multi core
processors are used.
High performance, tight integration and miniaturization.
Uses High performance real time embedded operating system.
Ex: Smart Phone Devices, Mobile Internet Devices (MIDs), etc.
2. Classification of Embedded systems
based on Complexity and Performance
a) Small-scale Embedded Systems
b) Medium-scale Embedded Systems
c) Large-scale Embedded Systems / Complex Systems
Memory
Communication
Interface
Input Ports
(Sensors) System Core
Output Ports
(Actuators)
Other Supporting
Integrated Circuits &
Subsystems
Typical embedded system contains
4. Does not contain a built-in I/O port. 4. Most of the processors contain
The I/O port functionality needs to be multiple built-in I/O ports which can
implemented with the help of be operated as a single 8- or 16- or
external programmable peripheral 32-bit port or as individual port
interface chips like 8255. pins.
5. Targeted for high end market where 5. Targeted for embedded market
performance is important. where performance is not so
critical.
Program
CPU Data memory
memory
Program
CPU Data memory
memory
1. Separate buses for instruction and 1. Single shared bus for instruction
data fetching. and data fetching.
2. Easier to pipeline, so high 2. Low performance compared to
performance can be achieved. Harvard architecture.
3. Cheaper.
3. Comparatively cost high.
4. Allows self modifying codes. (Self
4. No memory alignment problems. modifying code is a code /
5. Since data memory and program instruction which modifies itself
memory are stored physically in while execution.)
different locations, no chances for 5. Since data memory and program
accidental corruption of program memory are stored in same chip,
memory. chances for accidental corruption
of program memory
Big-Endian vs. Little-Endian Processors / Controllers
• Endian specifies the order in which the data is stored in the
memory by processor operations in a multibyte system.
• Processors whose word size is greater than one byte.
Little-Endian:
The lower-order byte of the data is stored in memory at the
lowest address, and the higher-order byte is stored at the
highest address. (The little end comes first).
Code Memory
FLASH (ROM) NVRAM
Wireless USB for data transmission uses Ultra Wide Band (UWB)
technology
Ex. Some Laptops available in market with wireless USB support
3. IEEE 1394 (Firewire)
• Known as High Performance Serial Bus (HPSB)
• Wired, High speed, Serial Communication Bus
• Supports peer-to-peer connection and point-to-multi point
connection
• Tree topology up to 63 devices connected on the bus
• Supports cable length of up to 15 feet
• Data rates of 400 to 3200 Mbps
• Uses differential data transfer through a twisted pair cables
• Supports 3 types of Connectors:
a) 4-pin connector
b) 6-pin connector (alpha connector)
c) 9-pin connector (beta connector)
• 6-pin and 9-pin connectors carry power to support external
devices
• Supply unregulated power in the range of 24 to 30V
Ex. Interface connecting Digital Camera, Scanner to desktop
computers for data transfer and storage
• 1394 hardware implementation is much costlier than USB
implementation
4. Infrared (IrDA)
Serial, Half-Duplex, Line-of-Sight based Wireless technology
Ex. TV, DVD Player, etc.
Uses Infrared waves of EM spectrum for data communication
Typical Range is 10 cm to 1m
Range can be increased by increasing the transmitting power of
IR devices
Data rates from 9600 bps to 16 Mbps
Based on speed of data transmission, IR is classified into
Serial IR (SIR) – 9600 bps to 115.2 Kbps
Medium IR (MIR) – 0.576 Mbps to 1.152 Mbps
Fast IR (FIR) – up to 4 Mbps
Very Fast IR (VFIR) –up to 16 Mbps
Ultra Fast IR (UFIR) – targeting up to 100 Mbps
• IR units are Transceivers (both transmitter and receiver unit
will be present in each device supporting IrDA
communication
• Infrared LED is the IR source for transmitter and a Photo
diode acts as the receiver in the receiving end
• IrDA communication has 2 essential parts:
a) Physical link part responsible for the physical transmission
of data between devices supporting IR communication. It
defines the physical characteristics of communication like
range, data rates, power, etc. It works on Wireless principle
b) Protocol part responsible for defining rules of
communication. It contains implementation of Physical layer
(PHY), Medium Access Control (MAC) and Logical Link
Control (LLC)
5. Bluetooth (BT)
• Low cost, low power, short range wireless technology for data
and voice communication
• Proposed by Ericsson in 1994
• Operates at 2.4 GHz of RF spectrum
• Uses Frequency Hopping Spread Spectrum (FHSS) technique
for communication
• Data rate of up to 1 Mbps
• Range of approximately 30 feet
• 2 essential parts:
a) Physical link part works on wireless principle making use
of RF waves for communication
b) Protocol part Rules governing the Bluetooth
communication is implemented in the Bluetooth Protocol
Stack
• Each Bluetooth device will have 48-bit unique identification
number
• Follows packet based data transfer
• Supports point-to-point and point-to-multipoint wireless
communication
• Point-to-point communication follows the master-slave
relationship
Piconet: When a network is formed with one device as master
and more than one device as slaves, it is called piconet
A piconet supports maximum of 7 slave devices
6. Wi-Fi (Wireless Fidelity)
• Wireless communication technique for networked
communication devices
• Follows the IEEE 802.11 Standard
• Supports Internal Protocol (IP) based communication
• Each device is identified by an IP address, which unique to
each device on the network
• Require an intermediate agent called Wi-Fi Router / Wireless
Access Point to manage communication
• 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 enabled devices contain a wireless adaptor for
transmitting and receiving data in the form of radio signals
through an antenna
• Hardware part is known as Wi-Fi Radio
• Wi-Fi operates at 2.4 GHz or 5 GHz of radio spectrum
• Data rates ranging from1 Mbps to 150 Mbps depending on the
standards (802.11a/b/g/n) and access modulation method
• Range of 100 to 300 feet depending on the type of antenna and
usage location (indoor / outdoor)
7. ZigBee
• Low cost, Low power, Wireless network communication
protocol based on IEEE 802.15.4-2006 standard
• Robust Mesh network containing multiple nodes
• Message travels through a number of different paths to get
from one node to another
• Operates worldwide at the unlicensed bands of Radio
spectrum at 2.4 to 2.484 GHz and 868 to 868.6 MHz
• Operating distance up to 100 meters
• Data rate of 20 to 250 Kbps
• ZigBee device categories:
ZigBee Coordinator (ZC) / Network Coordinator: Root of the
ZigBee network. Initiates the ZigBee network and it has the
capacity to store information about the network
ZigBee Router (ZR) / Full Function Device (FFC): Responsible for
passing information from one device to another device or to
another ZR
ZigBee End Device (ZED) / Reduced Function Device (RFD):
Containing ZigBee functionality for data communication. It can
talk only with a ZR or ZC and does not have the capacity to act
as a mediator for transferring data from one device to another
Application areas:
Home and Industrial Automation
Energy measurement
Home control / security
Medical / patient tracking
Logistics and asset tracking
Sensor networks and active RFID
Automatic Meter Reading (AMR)
Smoke detectors
Wireless telemetry
HVAC control
Heating control
Lighting control
Environmental controls, etc
8. General Packet Radio Service (GPRS)
• Old technology
• Transmits data over mobile communication network like GSM
• Data is transmitted as Packets
• Max. transfer rate is 171.2 Kbps
• Radio channel is concurrently shared between several users
• Divides the channel into 8 timeslots and transmits data over
the available channel
• Supports Internet Protocol (IP), Point-to-Point Protocol (PPP)
and X.25 protocols for communication
• Used by mobile enabled devices for data communication
• Device should support the necessary GPRS hardware like
GPRS modem and GPRS radio
• Carrier network also should have support for GPRS
communication
• New generation techniques like EDGE, High Speed Downlink
Packet Access (HSDPA) which offers higher bandwidths
Embedded Firmware
• Control algorithm (Program Instructions) and/or the
Configuration settings that an embedded system developer
dumps into the code (Program) memory of the system
• Unavoidable part of the embedded system
• Methods for developing the embedded firmware:
1. Write the program in high level languages like Embedded C /
C++ using an Integrated Development Environment (IDE).
IDEs are different for different family of processors /
controllers
Ex. Keil Micro Vision 3 IDE is used for 8051 family controllers
2. Write the program in Assembly language using the instruction
supported by application’s target processor / controller.
Embedded software development process is tedious and
time consuming. The developer needs to know about all the
instruction sets of the processor / controller. Program is
highly dependent on the developer
• Instruction set for each family of processor/controller is
different
• HEX File Creation: Process of converting the program written
in a high level language or processor / controller specific
Assembly code to machine code
• Methods used for HEX File Creation is different depending on
the programming techniques used:
1. Cross Compiler is used to convert the program written in
Embedded C/C++ into HEX File
2. Utilities supplied by the vendor is used to convert the
program written in Assembly language into HEX File
• Third party tools available with free of cost for this
conversion
Two types of Control algorithm design:
1. Infinite loop or Super loop based approach, where control
flow runs from top to bottom and then jumps back to the top
of the program in a conventional procedure.
Ex. while(1){ }; technique in C
1. Reset Circuit:
• Essential to ensure that the device is not operating at a
voltage level where the device is not guarantee to operate
during system power ON.
• Reset signal brings the internal registers and the different
hardware systems of the processor/controller to a known
state and starts the firmware execution from the reset vector
(normally from vector address 0x0000)
• The reset signal can be either active high or active low
• Some processors/microcontrollers contain built-in internal
reset circuitry
2. Brown-out Protection Circuit
• Prevents the processor/controller from unexpected program
execution behaviour when the supply voltage to the
processor/controller falls below a specified voltage
• It essential for battery powered devices since there are grater
chances for the battery voltage to drop below the required
threshold
• Microprocessor supervisor ICs like DS1232 provides Brown-
out protection
3. Oscillator Circuit
• Generates the precise clock signal for the processor
• Certain processors/controllers integrate a built-in oscillator
circuit and simply require an external ceramic resonator /
quartz crystal for producing the necessary clock signals
• Speed of operation of a processor is primarily dependent on
the clock frequency
• The total system power consumption is directly proportional
to the clock frequency
• Power consumption increases with increase in clock
frequency
• The accuracy of program execution depends on the accuracy
of the clock signal
• Accuracy of the crystal oscillator or ceramic resonator is
normally expressed in terms of +/- ppm (parts per million)
4. Real Time Clock (RTC)
• Keep track of time
• Timing reference is essential for synchronizing the operations
of the OS kernel
• Holds information like current time (in hours, minutes,
seconds) in 12 hours / 24 hours format, date, month, year,
day of the week, etc.
• Provides time reference to the system
• Intended to function even in the absence of power
• Available in the form of integrated circuits
• RTC chip contains a microchip for holding the time and date
related information and backup battery cell for functioning in
the absence of power, in a single package
5. Watchdog Timer:
• Hardware timer for monitoring the firmware execution
• Depending on the internal implementation, the watchdog
timer increments or decrements a free running counter with
each clock pulse and generates a reset signal to reset the
processor if the count reaches zero for a down counting
watchdog or the highest count value for an up counting
watchdog
• If the firmware execution does not complete due to
malfunctioning within the time required by the watch dog to
reach the max. count, the counter will generate a reset pulse
and this will reset the processor (if it is connected to the reset
line of the processor)
• If the firmware execution completes before the expiration of
the watchdog timer, you can reset the count by writing a 0 (for
up counting watchdog timer) to the watchdog timer register
• Most of the processors implement watchdog as a built-in
component and provides status register to control the
watchdog timer (like enabling and disabling watchdog
functioning) and watchdog timer register for writing the count
value
• The watchdog can be implemented in such a way that when a
watchdog timeout occurs, an interrupt is generated instead of
resetting the processor
PCB and Passive Components