0% found this document useful (0 votes)
193 views27 pages

Embedded Systems Basics and Applications

Embedded systems were first used in NASA's Apollo guidance system in 1960. An embedded system is a computer system designed to perform a specific task, often being a component of a larger system. It typically includes a microprocessor or microcontroller, memory, and input/output components. Embedded systems range from small scale systems with a single microcontroller to sophisticated systems with many components used in applications like automobiles, telecommunications, smart cards, missiles, and consumer electronics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views27 pages

Embedded Systems Basics and Applications

Embedded systems were first used in NASA's Apollo guidance system in 1960. An embedded system is a computer system designed to perform a specific task, often being a component of a larger system. It typically includes a microprocessor or microcontroller, memory, and input/output components. Embedded systems range from small scale systems with a single microcontroller to sophisticated systems with many components used in applications like automobiles, telecommunications, smart cards, missiles, and consumer electronics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Embedded Systems Basics and

Applications

Embedded Systems

Embedded system was first used in “Building Apollo Guidance System” by Charles Stark
Draper at MIT (Massachusetts Institute of Technology) in the year 1960; it is one of the
modern embedded systems, which is used for navigation and control of the respective
crafts. Usage of the Apollo Guidance System is a risk because it is developed by using a
keypad and numeric display. It was frequently used and refined in a lot of NASA’s space
missions. Then, the Autonetics D-17 Guidance Computer has come for the Minuteman
Missile- an ICBM (Intercontinental Ballistic Missile) is used by the United States Air Force.
Let’s look at an overview of the advanced embedded system basics and applications.

What is Embedded Systems?


Embedded system is defined as a way of working, performing or organizing one or many
tasks according to a fixed set of rules (or) an arrangement in which all the units assemble
and work together according to the program or plan. Examples of embedded systems are
a watch and washing machine.
Embedded System

An embedded system is a system that has software embedded in computer hardware. It


makes a system dedicated to a specific part of an application or product of a larger
system. Depending on the application, embedded system may be programmable or non-
programmable. Examples of embedded systems include various products such as
washing machine, microwave ovens, cameras, printers and automobiles. They use
microprocessors and microcontrollers as well as specially designed processors such as
digital signal processors (DSP).

Embedded Systems Basics

The embedded systems basics include the components of embedded system hardware,
embedded system types and several characteristics. An embedded system has three
main components: Embedded system hardware, Embedded system software and
Operating system.

Embedded System Block Diagram


Embedded System Hardware:

As with any electronic system, an embedded system requires a hardware platform on


which it performs the operation. Embedded system hardware is built with a
microprocessor or microcontroller. The embedded system hardware has elements like
input output (I/O) interfaces, user interface, memory and the display. Usually, an
embedded system consists of:

 Power Supply

Processor
 Memory
 Timers
 Serial communication ports
 Output/Output circuits
 System application specific circuits

Embedded System Software:

The embedded system software is written to perform a specific function. It is typically


written in a high level format and then compiled down to provide code that can be lodged
within a non-volatile memory within the hardware. An embedded system software is
designed to keep in view of the three limits:


Availability of system memory
Availability of processor’s speed

 When the system runs continuously, there is a need to limit power dissipation for
events like stop, run and wake up.

Real Time Operating System

A system is said to be real time, if it is essential to complete its work and deliver its service
on time. Real time operating system manages the application software and affords a
mechanism to let the processor run. The Real Time operating system is responsible for
handling the hardware resources of a computer and host applications which run on the
computer.

An RTOS is specially designed to run applications with very precise timing and a high
amount of reliability. Especially, this can be important in measurement and industrial
automation systems wherein downtime is costly or a program delay could cause a safety
hazard.

Memory:

In an embedded system, there are different types of memories. The various forms of
memories are presented in the below chart.
Memory

Processors:

Different processors used in embedded systems are microprocessor, (DSP) Digital Signal
Processor, microcontroller, RISC processor, ASIP processor, Arm processor and ASSP
processor.

Embedding a Microprocessor

Microprocessor is a general purpose processor, which can be embedded on a VLSI chip.


The different streams of microprocessors used in embedded systems are given in the
table.

Embedding a Microprocessor

Embedding a Microcontroller:

The different streams of Microcontrollers used in embedded systems are usually among
the five streams of families given in the table.
Embedding a Microcontroller

Embedding a DSP:

A digital signal processor is a processor and, it is an essential unit of an embedded


system. The DSP applications, are audio, video, multimedia, image processing, DSP
modem, HDTV and telecommunication processing systems. These processors are also
used in systems for recognizing DNA sequence and image pattern. The different streams
of DSPs used in embedded systems are given in the table.

Embedding a DSP

Classification of Embedded Systems:

Embedded systems are classified into three:

 Small Scale Embedded Systems


 Medium Scale Embedded Systems
 Sophisticated Embedded Systems
Classification of Embedded Systems

Small Scale Embedded Systems

Small scale embedded systems are designed with a single 8 or 16-


bit microcontroller which may even be operated with a battery. For developing embedded
software for these types of systems, an editor, assembler, (IDE) integrated development
environment, and cross assembler are the main programming tools.

Medium Scale Embedded Systems:

Medium scale embedded systems are designed with a single or few 16 or 32 bit
microcontrollers, DSPs or RISCs. These systems have both hardware and software
complexities. When developing embedded software for these types of systems, the
following programming tools are available.
They are C, C++, Visual C++, Java, and RTOS, source code engineering tool, debugger,
simulator and integrated development environment.

Sophisticated Embedded Systems

Sophisticated embedded systems have huge hardware and software complexities and
may need PLAs, IPs, ASIPs, scalable processors or configurable processors. They are
used for cutting-edge applications that need hardware and software co-design &
components which have to combine in the final system.

Embedded Systems Applications:

Embedded systems have different applications. A few select applications of embedded


systems are smart cards, telecommunications, satellites, missiles, digital consumer
electronics, computer networking, etc.

Embedded Systems in Automobiles

 Motor Control System


 Cruise Control System
 Engine or Body Safety
 Robotics in Assembly Line
 Car Entertainment
 Car multimedia
 Mobile and E-Com Access

Embedded systems in Telecommunications


Mobile computing

Networking
 Wireless Communications

Embedded Systems in Smart Cards


Banking
 Telephone
 Security Systems

Embedded Systems in Missiles and Satellites

 Defense
 Aerospace
 Communication

Embedded Systems in Computer Networking & Peripherals


Networking Systems
 Image Processing
 Printers
 Networks Cards
 Monitors and Displays

Embedded Systems in Digital Consumer Electronics

DVDs 
 Set top Boxes
 High Definition TVs
 Digital Cameras

This is about embedded systems basics with its applications. We all know that embedded
systems are incredibly fabulous systems that play an essential role in many
devices, industrial instrumentation, equipments and appliances irrespective of circuit
complexity. Considering the huge significance of embedded systems, this embedded
systems article deserves readers’ feedback, queries, suggestions and comments.
Therefore, readers can post their comments below.
COMPONENTS OF
v

EMBEDDED SYSTEM
Embedded Systems are everywhere but what are the components of embedded
systems?. Embedded systems are amazing if we are into programming and making
circuits, boards and robots.
The embedded system’s components are basically divided into two parts:

 Hardware Components
 Software Components

Contents [hide]
 1 Embedded Systems Hardware Components
o 1.1 Power Supply
 1.1.1 Characteristics of Good Power Supply
o 1.2 Processor
 1.2.1 What are the criteria for selecting the processor?
o 1.3 Memory
o 1.4 Timers-Counters
o 1.5 Communication Ports
 1.5.1 Different communication ports in embedded systems
o 1.6 Input and Output
o 1.7 Application Specific Circuits
 2 Software Components
o
 2.0.1 How is software embedded into a system?
o 2.1 Assembler
o 2.2 Emulator
o 2.3 Debugger
o 2.4 Compiler
 3 Read Also

Embedded Systems Hardware Components


As we know embedded systems are the combination of hardware and software. There are
different hardware components like power supply, processor, memory, timers and counters that
make the embedded hardware.
Power Supply
The power supply is an essential part of any embedded systems circuits. An embedded system
may need a supply of 5 volts or if it is low power then maybe 3.3 or 1.8v. The supply may be
provided with the help of battery or we can use any wall adapter. It will depend on the
application need.
The power supply circuit can be designed with the help some little knowledge of electronics. For
that, we need a bridge rectifier circuit, capacitor as a filter and a voltage regulator that provides
constant output supply.
You may find a different circuit on the internet or you may try below circuit.

It is a very common circuit that produces 5 Volt at the output. You can change the voltage
regulator to 7808,7812 depending upon the output required.
Characteristics of Good Power Supply
 Stable & Smooth Output
 Proper Output Current to Drive the Load
 Perfect Power Efficiency
 Stable in Different Temperature Range
 Proper Noise Filtering
 Proper Decoupling
 Line Regulation – Fluctuation in output while input changes
 Load Regulation – Fluctuation in output voltage when load current changes
 Efficiency
 Input/Output Ripple Voltage
 Transient Response
 Allowable Dissipation

Processor
A processor is the main brain inside any embedded systems. This is a major factor that affects
the performance of the system. There are different processors available in the market. An
embedded system may use microprocessor or microcontroller.
The processor comes in different architecture like 8-bit, 16-bit and 32-bit. The 8-bit processor is
generally used in a small application where we need some basic computation like input and
output no heavy processing.
For higher-end application where performance matters and need some graphical user interface,
we use 16 or 32-bit processor.
What are the criteria for selecting the processor?
 Speed
 Unit Price
 Packaging
 Performance
 Peripheral Set
 Timer on the Chip
 Operating Voltage
 Number of I/O Pins
 Power Consumption
 Amount of RAM and ROM
 Specialized Processing Units
 Architecture 8-bit, 16-bit, or 32-bit
 Availability of Supplier for a given core
 Easy to upgrade to higher or lower power consumption mode
 Availability of Software tools like assembler, debugger, compiler, emulator and technical
support

Memory
If we are using a microcontroller like AT89s51, AT89s52 or ATmega. The memory is available
on-chip. We generally talk about two types of memory in the embedded systems

 Read-Only memory(RAM)
 Random Access Memory(ROM)
 Electrically Erasable Programmable Read-Only Memory (EEPROM)

RAM memory is volatile memory and used for temporary storage of the data. And the selection
of it depends on the user need and the application.
The ROM memory or Code Memory. This is used for the storage of the program. Once system
powered, the system fetches the code from the ROM memory.
The EEPROM is a unique memory. The content can be erased and reprogrammed by a high
voltage pulse input. This is used to store the data by the program itself. Suppose we have a
temperature data logger. And it needs to store the data every one hour. It means we need the data
at runtime after the system is started.
The system will read temperature and store in the EEPROM memory. And it will be permanent.
And you can retrieve the data later.
So an embedded system developer decide which memory to use for its application.
Timers-Counters
If you are working in embedded systems you must have heard about

 What are timer and counter


 Why we use timer and counter
 What is difference between timers and counter

In some application, we need to generate some delay. Like for blinking an LED, we need a
delay. For making square pulse we need a delay.
But there is some issue when we generate the delay from the normal coding style by making any
loop running for a particular time. Definitely, this will give you some delay but the code after
this loop remains in waiting for state and delayed.
So it is not the best approach to generate the delay. For such kind of application where we need a
delay for a specific time interval without affecting the normal code execution, we use timer and
counter.
By setting some register for timer and counter using the programming we get the desired delay.
The amount of delay depends on the system frequency and crystal oscillator.
Communication Ports
Embedded systems hardware has different types of communication ports to communicate with
the other embedded devices.
Different communication ports in embedded systems
 UART
 CAN
 SPI
 I2C
 USB
 Ethernet
 RS-232
 RS-423
 RS-485

But for a small level of embedded systems microcontroller has on-chip communication ports.
For example, popular Arduino UNO board has ATmega328 IC and it has following
communication port:

 UART
 I2C
 SPI

For sending data from one board to other we can use these serial protocols. But for that, we need
to program it.
Input and Output
To interact with the embedded systems we need input. The input may be provided by the user or
by some sensor. Sometimes some systems need more input or output. So the processor selection
will be based on I/O.
These input and output are generally divided into ports like P0, P1, P2 and P3 in
8051microcontrollersr. And PA, PB, PC and PD in ATmega series of the microcontroller.
The I/O need to be configured for input or output based on the provided register. And for that,
we need to refer the datasheet of the manufacturer.
Application Specific Circuits
Some hardware components are common while designing the embedded systems. But some are
different and depends on the application need. Like a temperature sensor need a temperature
sensor for sensing the temperature. While others hand an alcohol detector has a sensor to detect
the alcohol level.
But the remaining hardware components might be the same like

 Power Supply
 Processor
 Display Device
 Buzzer for Alert

Software Components
Once the hardware is completed we need to build the software for the embedded devices. There
are different software tools for programming and coding. These software tools are referred to
as software components.
How is software embedded into a system?
We need a program written in assembly or in embedded c language. And then we compile it.
This compiled code converted into HEX code. This hex code is programmed or burned into the
ROM of the system using some programmer.
These are the tools that are generally used in embedded system development

 Assembler
 Emulator
 Debugger
 Compiler

Assembler
When you program in assembly language. This assembly language program is converted into the
HEX code using this utility. Then using some hardware called as a programmer we write the
chip.
Emulator
An emulator is hardware or software tool that has a similar functionality to the target system or
guest system. It enables the host system to execute the functionality and other components. It is a
replica of the target system. And used for debugging the code and issues.
Once program or code is fixed at the host system. It is transferred to the target system.
Debugger
Sometimes we are not getting expected results or output due to errors or bug. There are certain
tools that are specifically used for the debugging process. Where we can see the controls flow
and register value to identify the issue.
Compiler
A compiler is a software tool that converts one programming language into target code that a
machine can understand. The compiler basically used for translating the high-level language into
the low-level language like machine code, assembly language or object code.
What is an Embedded Operating System?
An embedded operating system is simply an operating system designed for embedded
systems. The main characteristics of the embedded operating system are resource
efficiency and reliability. The existence of embedded operating system comes into
existence because we have a very limited amount of hardware like RAM, ROM, timer-
counters and other on-chip peripherals.
So, in this case, we need some operating system that can manage all the hardware
resource by leaving some unimportant features. Embedded systems generally
have Real Time Operating System(RTOS) to perform the task in a given time frame.
The hardware in the embedded systems depends on the application need. So some
time for getting the best results we need to customize the embedded operating system.
As we know the assembly language is more near to hardware and code are written in
assembly perform better. So sometime to get the better result and speed some code or
modules are programmed in assembly language. To get the response from the system.
The embedded operating systems are generally written in the c language because c
language can interact better with the hardware.

Stand-Alone Operating System


The operating system that you have used in your laptop and desktop computing. They
are totally designed to use that single machine. Even it has a network capability but its
main purpose is to take care of all the hardware resources of the existing system. This
is called stand-alone operating system.
Stand-Alone Operating System Example
 Windows 95
 Windows NT Workstation
 Windows 98
 Windows 2000 Professional
 Windows Millennium Edition
 Windows XP Home Edition
 Windows XP Professional Edition
 Windows 7, 8 & 10
 Mac OS
 OS/2 Warp Client
 UNIX
 Linux

Types of Embedded Operating Systems


 Single System Control Loop
 Multi-Tasking Operating System
 Rate Monotonic Operating System
 Preemptive Operating System
 Real-Time Operating System

Single System Control Loop


This is the very basic type of operating system that performs only a single function at a
time. This is still not clear that such a simple operating system could be an embedded
operating system. Because generally operating systems perform multiple tasks to
manage the system resource.
Multi-Tasking Operating System
This type of operating system can perform multiple tasks at a time. The multiple tasks
can run simultaneously. The operating system can keep track of each task and can
switch between it without losing the information.
In multitasking actually, the overall time of a problem is divided into small tasks. Each
divided subtask gets the CPU time based on a fixed interval.
Only current executing process get the entire CPU time. The remaining task executing
in a virtual environment. Where they get a register, program counter(PC), stack memory
and a stack pointer. The task is executing in a virtual environment. This all goes in
runtime. When a higher priority task is coming to the currently executing task is saved
into memory.
Rate Monotonic Operating System
In this type of operating system, a rate monotonic priority algorithm is used in real-time
operating systems(RTOS). It is a priority-based scheduling algorithm. In this operating
system, the scheduling is preemptive. Means the task gets interrupted or suspended by
another task with a short period.
The execution time of the task is set in such a way that all task gets an equal amount of
execution time or at least the task get the chance to execute when it is expected to run.
This type of operating system always gives the shorter task a higher priority.
Preemptive Operating System
In this type of operating system, the currently executing task may be interrupted by the
other higher priority task and can be resumed later.
The system has a scheduler that receives the interrupt that is received from the external
calls. Once the interrupt is received scheduler pause the running task and start the
higher priority task. The control of the CPU passes from one task to another. This is
called preemption.
The main concept here is to manage the higher priority task that is more important and
critical.

Features of Embedded Operating Systems


Real-Time Operation
As we know that real-time embedded systems have a time constrained to execute the
task. This time is called a deadline. The soft-realtime system may vary the deadline. But
the hard real-time system must complete the task in a given time frame.
Soft-Real-Time System
The example of the soft-realtime system could be our day to day lifer products like
washing machine, microwave oven, printer and fax machine. Let’s suppose we are
cooking something. We put some item to cook. We set a time and temperature. As soon
as we press the start button of the oven it takes some random time to start to suppose
15sec. Even after a 15sec delay, it cooked perfectly, nothing went wrong in cooking. It
missed the time by approx 15sec. This is generally happening in the soft real-time
system.
Hard-Real-Time System
There is some application where the systems should act in a given time otherwise some
went wrong or action is not acceptable.
Like in a traffic light controller, the timing of different signals should be running in a
mentioned time in the program. The variation in time is not acceptable because
something wrong may happen.
In essence, the deadline is fixed according to the system application. And to make the
system time critical we pause other less important tasks so the main priority task can
execute on time.
Reactive Operation
A system is called reactive if it acts on certain input by the user in the form of switch
press or by some sensor. For example, a motion sensor security sensor triggers the
alarm when someone comes in the rang of the sensor. Here system is reacting based
on the sensor input.
Configurability
As we know that embedded systems are designed as per the application requirement.
And according to the hardware we need to customize the embedded operating system.
So the operating system should be designed in such a way that an embedded
developer can configure the operating system as per the need.
In some operating system facility of conditional compilation is available. Where the
developer compiles the only required module from the overall modules. And it is best
suitable if we are using the object-oriented approach.
I/O Device Flexibility
There is no generalise hardware that is suitable or adjustable for all operating system
versions.
Direct Use of Interrupts
The embedded operating system provides the use of interrupts to give them more
control over the peripheral. The general purpose operating system does not provide
such kind of facility to the user directly.
In the embedded system we need more control on the individual hardware so there is
the demand of the interrupts. The interrupt also has the priority. And according to that
priority, the task is serviced by the CPU.
Fast and Lightweight
As the embedded systems have small CPU with limited processing power. It should be
customised perfectly so that it can execute fast.
It the embedded system developer task to understand the existing hardware and
remove the unwanted software modules at the time of compilation. This will give a
lightweight operating system results a faster execution speed.
Small Size
The size is everytime considered in an embedded system. Because it has very limited
resources like RAM, ROM and CPU power. So keep the embedded operating system
small as possible to fit into given memory space.

Embedded Operating Systems Applications


Once the embedded operating system is compiled it can be used in a variety of
application. The list is for mobile using the embedded operating system.

 Symbian
 Embedded Linux
 Palm OS
 Windows Mobile
 iOS
 BlackBerry OS

Embedded Operating Systems List


 VxWorks
 FreeRTOS
 Palm OS ( Programming for Palm OS )
 Windows CE
 MS-DOS or DOS Clones
 Linux, including RTLinux
 MontaVista Linux
 Unison OS
 µC/OS-III

Real-Time Operating Systems(RTOS) List


Open Source RTOS
 Linux
 eCos
 uClinux
FreeRTOS
 RTAI
 Coscox
 Rocket OS

Proprietary RTOS
 QNX
 VxWorks
 INTEGRITY
 ThreadX
 MicroC/OS2
 embOS
 SafeRTOS

Is Android an Embedded Operating


System?
Yes, Android is an embedded operating system. It has several advantages over normal
embedded operating systems like royalty-free, license free, stable kernel and a huge
library of open source code and device drivers.
Because of all these advantages, it is favourable by the developer and manufacturer.

What is Embedded Systems – You may have seen nowadays there are so
many small gadgets are available around us. These gadgets are intelligent, they
have some programming, some processing unit and more.
They all come under the categories of embedded systems. But if you are finding the
exact Definition of embedded systems then you will get lots of different views and you
may be confused.
Contents [hide]
 1 Definition of Embedded Systems
 2 What are the applications of embedded systems?
o 2.1 Examples of Embedded System
o 2.2 Embedded System Application Area
 3 What are the different types of embedded systems?
 4 Characteristics of Embedded System
o 4.1 Single Functioned
o 4.2 Tightly Constrained
o 4.3 Reactive and Real Time
 5 Why do we use embedded systems?
 6 What is embedded system in simple words?
 7 Is laptop is an embedded system?
 8 What is the difference between a microcontroller and a microprocessor?
o
 8.0.1 What are the different types of microcontrollers?
 9 What is embedded firmware?
 10 Read Also

Definition of Embedded Systems


A microcontroller or microprocessor-based system with some hardware and software in
it. This must perform the dedicated, single functioned or specific task. And can also be
used to perform the time-critical task.
The main key point to be an embedded system is it should perform a single task only.
Like a digital wristwatch is always a wristwatch. It can’t change the functionality because
the firmware inside is written to perform the timing related calculation. Even a use not
having an option to change the functionality that is why it is dedicated.

What are the applications of embedded


systems?
The application of embedded systems is not limited so we list its application based on
the application area. Almost all area containing the embedded system product.
Examples of Embedded System
 Digital Camera
 MP3 Player
 Printer
 FAX Machine
 AC
 Digital WristWatch
 Wireless Headphone
 Digital Timer
 Washing Machine
 Microwave Oven
 Card Swipe Machine
 RFID Door Lock
 Finger Print Attendance System
 Password Protected Door Lock
 Scanner

Embedded System Application Area


 Military and Aerospace
 Automobile
 Agriculture
 Biomedical
 Consumer Electronics
 Communication
 Education
 almost everywhere

What are the different types of embedded


systems?
Based on functionality and application area:

 Stand-alone embedded systems


 Real-time embedded systems
 Networked embedded systems
 Mobile embedded systems

Based on performance and architecture:

 Small Scale Embedded System


 Medium Scale Embedded Systems
 Sophisticated or Complex Embedded Systems

Characteristics of Embedded System


A system should have the following characteristics:
Single Functioned
The embedded system should perform the single given task throughout the life. This
feature makes it dedicated and performs the accurately on time. A user of the system
can not change the feature or functionality.
Tightly Constrained
There are some contained that should be followed by the system to be an embedded
system. The constrained are cost, size, performance and battery life etc.
Means at the time of designing the system the following constrained should be followed
tightly. And it takes a lot of expertise to make the system according to the certain rules
and design skills.
Reactive and Real Time
A reactive system is reacting on a given input. Like in an oven when we press the
button to start cooking. It takes input and starts acting. This type of systems is the
reactive system.
But what happens if the oven responds in a random interval like some time it starts in
30sec and sometime in 5min. The point is there should be some time limit to start the
action. This is called the deadline. Depending on the application this time limit may very.
The systems are divided into two parts based on the deadline

 Soft Real-Time System


 Hard Real-Time System

Why do we use embedded systems?


They are smart. There are some key features and based on this the embedded system
is so popular. The features are:

 Low Cost
 Small Size
 Performance
 Battery Operated
 Customizable
 Easy to upgrade
What is embedded system in simple
words?
A microcontroller or microprocessor-based system performing the dedicated, single
function and time-critical task.

Is laptop is an embedded system?


No. You will think that the laptop has all the components like microprocessor, hardware
and software. But even why it is not an embedded system.
A laptop or desktop computer is general purpose computer. They do all the task like
internet surfing, playing game, listing music, software development and other tasks by
using respective software application.
There is no fixed or dedicated task it is performing. An embedded system should be
single function and dedicated. It should perform one and only one task. Based on the
functionality it is not an embedded.
But part of its like ethernet card, sound card, RAM and wifi modules are embedded
systems. Because they perform one and only one task.

What is the difference between a


microcontroller and a microprocessor?
Microcontroller – It contains the processing element and another functional unit like
RAM, ROM, timer-counters, communication port like I2C, SPI, UART and other on-chip
features all are fabricated on a single chip.
Means when you design an embedded system using the microcontroller, you will get all
the things. And you don’t need to connect too many circuits. The development will be
fast, cost-effective and small in size.
What are the different types of microcontrollers?
 AT89 series (Intel 8051 architecture)
 AT90, ATtiny, ATmega, ATxmega series
 AT91SAM (ARM architecture)
 AVR32 (32-bit AVR architecture)
 Nios 16-bit configurable soft processor
 Nios II 32-bit configurable soft microprocessor
 Cypress PSoC chips
 CY8C5xxxx (PSoC5), ARM Cortex-M3
 CY8C2xxxx (PSoC1), M8C
 CY8C4xxxx (PSoC4), ARM Cortex-M0
 CY8C3xxxx (PSoC3), 8051
 MAXQ RISC Family
 Secure Micros Family
 PSoC (Programmable system on CHIP)
 Maxim Integrated
 8051 Family
Microprocessor – It contains only the processing element. To make a complete
system we need to add the basic elements like RAM and ROM external to the
processor. Means we first need to make the basic computing system. Then we go for
our main task and programming. The overall process will be more technical and
sometimes time-consuming for the beginner.
So for the beginner, the microcontroller based embedded systems are better to develop
and design.

What is embedded firmware?


An embedded system can be programmed using the assembly or embedded c
programming language. The program size could be from few lines to hundreds of lines.
Once the program is ready, it is written (flashed) into the ROM space of the system. The
firmware is nothing but a piece of program that can be modified by the designer or user
by following certain steps.
Some advanced level of embedded systems is programmed in such a way that they can
be upgraded in future. Like we are using the mobile phone and we update it when new
updates are available. But the firmware is smaller in size and has more control over the
hardware.

Types of Embedded Systems – Embedded systems can be classified based on


the functionality and the performance.
The embedded systems are classified into four segments according to their functionality
and application area.

 Stand-alone embedded systems


 Real-time embedded systems
 Networked embedded systems
 Mobile embedded systems

The embedded systems classified based on the performance and architecture.

 Small Scale Embedded System


 Medium Scale Embedded Systems
 Sophisticated or Complex Embedded Systems

Contents [hide]
 1 Stand Alone Embedded Systems
 2 Real-Time Embedded Systems
o 2.1 Soft Real-Time Embedded Systems
o 2.2 Hard Real-Time Embedded Systems
 3 Networked Embedded Systems
 4 Mobile Embedded Systems
 5 Small Scale Embedded System
o 5.1 Examples of Small Scale Embedded Systems
 6 Medium Scale Embedded Systems
 7 Sophisticated or Complex Embedded Systems
 8 Read Also

Stand Alone Embedded Systems


The stand-alone embedded systems are less complex and simple. They independent to
any system, work by their own. It takes user input and acts accordingly. The input is
received by the respective I/O pins. The input may be in digital or in analog form. The
MCU then process the input and make a decision and perform output like the display on
LCD, driving motor or trigger an alarm.
Examples: Microwave Oven, the digital wristwatch, mp3 player, doorbell, calculator etc.

Real-Time Embedded Systems


A real-time embedded system performs the task in the defined time interval. The time
interval may vary and depends on the application. The real-time embedded systems are
defined in two parts:

 Soft Real-Time Embedded Systems


 Hard Real-Time Embedded Systems

Soft Real-Time Embedded Systems


In this type of embedded systems, the deadline to complete the task may vary. The
action performed by the system after the given time frame is still acceptable and useful.
Example: While using a microwave oven, you put the item into the oven and press a
button to start cooking. The oven responds to your input after 1-2 minutes. Even there is
the delay but it cooks well. It crosses the deadline to complete the task.
Hard Real-Time Embedded Systems
In this type of embedded systems, the task must complete by a given deadline. The
action performed after the given time interval may not accept. There is a certain
application where the system should respond within the time frame.
For example, Traffic Light Controller. In the traffic light, the system should control the
ON and OFF period of the signal in a defined way. If they perform with a delay then
some accident may happen.

Networked Embedded Systems


As the name tells networked embedded systems. The embedded systems are
connected with some kind of network. The system communicates with the server or with
the individual node using the network. We are using such kind of networked system in
our day to day life.
The communication may establish by using LAN, WAN or other protocols. This may be
wired or wireless network.
Examples:

 Security node connected to the main server in a home automation system


 ATM machine
 Card Swipe Machine
 IOT Devices

Mobile Embedded Systems


The mobile embedded systems are the most preferred in any embedded systems. The
cell phone, mobile phone, wireless camera, personal digital assistant are the example of
it. The main advantage of this type of embedded systems is the wide range.

Small Scale Embedded System


Small-scale embedded systems are an entry-level system in which 8-bit or 16-bit
processor is used. The processor has very limited resources like RAM, ROM and
processing speed.
For the development of the small-scale embedded system, we need integrated
development environment(IDE) for writing the code. The code is generally written in
assembly language or in embedded C language. The compiler is needed if
programming in embedded C. Compiler compiles the C code into the Hex code. We
need assembler if we are coding in assembly language.
And at the time of writing the code into the processor. We need a hardware device
called the programmer. That takes the hex code and write it to the ROM of the
processor.
Examples of Small Scale Embedded Systems
 washing machine
 Oven
 Automatic Door Lock
 Motion Controlled Home Security System
 Keyboard controller
 CD Drive
 fax machine
 photocopy machine
 printer

chocolate vending machine, washing machine, cooking system, multitasking toys,


keyboard controller, MMI and network access cards, CD drive or hard disk drive
controller, Fax machine, photocopy or printer machine, Remote controller of TV,
Telephone with memory, display and other sophisticated features,
The small-scale embedded systems are small and can be operated with a small battery.

Medium Scale Embedded Systems


This type of embedded systems consisting of 16-bit or 32-bit microprocessor. There are
other options also available like Digital signal processor(DSP), or some Advanced RISC
architecture machine. The medium scale embedded systems are generally faster than
the small scale due to the number of bits of processor that give a better speed.
At the time of development, we need different types of software tools like assembler,
compiler and debugger. An RTOS can be implemented on medium scale embedded
systems.
Sophisticated or Complex Embedded
Systems
This type of embedded systems is made to perform the complex functions. The systems
have hardware and software complexity. In this type of systems, the speed is measure
concern. So some of the software functionality is implemented into the hardware. There
are different modules are implemented on the CPU like TCP/IP, encryption, decryption,
multiplier unit and more. Once the functionality is implemented into hardware the gives
the better speed.
This type of systems have some key components like graphical user interface,
communication ports like I2C, CAN, RS232, Ethernet or USB. You can see this type of
system as network router, IP camera, embedded web server.

An embedded system is a small dedicated system made up of microcontroller or


microprocessor. There are some common characteristics of embedded
systems that are important to consider and make them different from the general
purpose computer.
Contents [hide]
o 0.1 Single Functioned
o 0.2 Tightly Constrained
o 0.3 Reactive and Real Time
 0.3.1 Reactive System
 0.3.2 Real-Time System
 0.3.2.1 Soft Real-Time Systems
 0.3.2.2 Hard Real-Time Systems
o 0.4 Perform Specific Task
o 0.5 Part of the Main Systems
o 0.6 User Interface
o 0.7 Processors in Embedded Systems
o 0.8 Ready-Made Boards
 1 Application Specific Integrated Circuits(ASIC)
 2 Read Also
Single Functioned
The embedded systems in this category execute a single function or program only. This
type of embedded systems are generally simple, low cost and less complex in nature.
Examples are like a digital wristwatch, digital thermometer or printer etc.
Tightly Constrained
The embedded systems have some constrained like cost, size, performance and battery
power. These constrained are set before the system design and may vary by the
system to system. For a system, if the performance is a primary factor then it should be
designed in such a way that performance is always achieved. Sometimes it is very
difficult to design a system with some tight constrained and it becomes a design
challenge.
Reactive and Real Time
Every embedded system has some input and output. When some input goes to the
system it will react and perform some action. Let’s understand the difference between
reactive and real-time embedded systems.
Reactive System
Any embedded system may have some input and output. Based on the input the system
has to perform some task, action or functionality. If a system is only reactive means it
will react on input but when it is not sure. In such type of system, there is no time limit to
perform the system. Because they are reactive, they react only.
Let’s take an example, you have an oven and you put something for cooking inside.
When you press the power button to start cooking. Sometimes it takes two minutes,
sometimes it takes five minutes to start almost in random time. It is the reactive system.
It is reacting but when we don’t know.
There is no time constrained or deadline to start the system. At some application where
time is an important factor reactive systems are not suitable. They should have a time
frame in which they have to respond. And the time frame may be soft and hard.
Real-Time System
The embedded system that performs in given time frame or deadline. And it is
categorised in

 Soft Real-Time Systems


 Hard Real-Time Systems

Soft Real-Time Systems


In the soft real-time system, the deadline to perform the task may vary. And output after
the deadline is still useful or acceptable. This deadline differs from system to system.
Like you power ON an oven and it starts within 3 minutes. Still, it cooks well nothing
goes wrong. It is the soft real-time system.
You power on a TV with a remote, and it not working in one or two attempts. Now it
starts and everything is fine.
So if the output is acceptable, nothing makes wrong due to system delay. Then we
consider it in the soft real-time system.
Hard Real-Time Systems
A system should perform in given time frame. And if performs after that the output is not
acceptable or useful. Like in traffic light controller everything should be done in time. A
single second is important.
Perform Specific Task
Embedded systems are better than general purpose computer even they are small
processing elements inside like microprocessor and microcontroller. And the speed is
typically in the range of MHz.
The key point is they perform a specific task only. They are not having any other task to
do. So the total focus of the processor is to perform a single dedicated task.
Part of the Main Systems
Sometimes the embedded system may be a part of the main system. For example, we
have a computer and there are different parts in it like sound card, modem, wifi module
and Bluetooth module. The computer is not an embedded system because it performs a
different task so it is a general purpose computer. But a sound card is always a sound
card. A wifi module is always working as wifi module. The functionality of the
subsystems has remained same.
User Interface
Embedded systems need an interface by which a user can interact with the system.
This user interface may be by using some input switches or sensor. The user interface
is generally based on application and user need. Sometimes the interface consisting of
touchscreen or LCD.
We may need to transfer the data between the embedded devices. So that time we use
some communication protocol like UART, CAN, SPI and I2C. So we can easily
communicate and send the data between the embedded devices.
Processors in Embedded Systems
We may characterize Embedded System based on the processor. The embedded
systems is of two types using microprocessor or microcontroller.

 Processor-Based Embedded Systems


 Microcontroller Based Embedded Systems

The selection of processor or microcontroller is based on different factors like



o 8-bit, 16-bit or 32-bit Architecture
o Amount of RAM and ROM
o Number of I/O pins
o Speed
o Packaging
o Cost
o Performance
o On-Chip Features
o Size

Ready-Made Boards
We know that embedded system is using the microcontroller or microprocessor as a
processing unit. For a particular application, we need to go through the different design
cycles to complete the embedded board for a particular application. And it needs some
expert to carry all the technical task.
But now, there are different embedded boards are available from simple to advanced
level. According to the application need and complexity, we may use these board and
reduce the development time. These boards are like

 Arduino Board
 Raspberry Pie
 Banana Pi
 Intel Galileo
 Beaglebone

Application Specific Integrated


Circuits(ASIC)
There is a different reason to user ASIC when we talk about the embedded systems.
Why we use ASIC

 To reduce the cost


 Small in Size
 Fast Development
 Less Chance of Copying the Product

You may have seen toys, calculators, the digital wristwatch, game cassettes and there
is a small Chip on Board(COB). This is the best example of ASIC.

You might also like