0% found this document useful (0 votes)
135 views25 pages

Introduction To Embedded System New

The document provides an introduction to embedded systems, including: 1. Embedded systems have hardware, application software, and an optional real-time operating system (RTOS) that sets rules for application execution. 2. The basic structure of an embedded system includes sensors, analog-to-digital converters, processors, digital-to-analog converters, and actuators. 3. Embedded systems are classified based on performance requirements, functionality, and microcontroller capabilities. Common applications include consumer electronics, appliances, medical devices, and automobiles.

Uploaded by

Keshavamurthy L
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)
135 views25 pages

Introduction To Embedded System New

The document provides an introduction to embedded systems, including: 1. Embedded systems have hardware, application software, and an optional real-time operating system (RTOS) that sets rules for application execution. 2. The basic structure of an embedded system includes sensors, analog-to-digital converters, processors, digital-to-analog converters, and actuators. 3. Embedded systems are classified based on performance requirements, functionality, and microcontroller capabilities. Common applications include consumer electronics, appliances, medical devices, and automobiles.

Uploaded by

Keshavamurthy L
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/ 25

UNIT-1

INTRODUCTION TO EMBEDDED SYSTEM

NOTE: Refer Embedded system and architecture by Rajkamal


with this Notes
Definition
System: A system is a way of working, organizing or doing one or many tasks according to
a fixed plan, program or set of rules. A system is also an arrangement in which all its units
assemble and work together according to the plan or program.
Examples of system
1. WATCH: It is a time display
System Parts: Hardware, Needles, Battery, Dial, Chassis and Strap
Rules
1.All needles move clockwise only
2.A thin needle rotates every second
3.A long needle rotates every minute
4.A short needle rotates every hour
5.All needles return to the original position after 12 hours
2. WASHING MACHINE: It is automatic clothes washing
System Parts: Status display panel, Switches & Dials, Motor, Power supply & control unit,
Inner water level sensor and solenoid valve.
Rules
1.Wash by spinning
2.Rinse
3.Drying
4.Wash over by blinking
5.Each step display the process stage
6.In case interruption, execute only the remaining
EMBEDDED SYSTEM: As its name suggests, Embedded means something that is attached
to another thing.
An embedded system can be thought of as a computer hardware system having software
embedded in it. An embedded system can be an independent system or it can be a part of a
large system.
An embedded system is a microcontroller or microprocessor-based system which is designed
to perform a specific task. For example, a fire alarm is an embedded system; it will sense
only smoke.
An embedded system has three components −
● It has hardware.
● It has application software.
● It has Real Time Operating system (RTOS) that supervises the application software
and provide mechanism to let the processor run a process as per scheduling by
following a plan to control the latencies. RTOS defines the way the system works. It
sets the rules during the execution of application program. A small-scale embedded
system may not have RTOS.
❖ So, we can define an embedded system as a Microcontroller based, software driven,
reliable, real-time control system.
Basic Structure of an Embedded System
The following illustration shows the basic structure of an embedded system −

Fig. 1 – Basic Structure of an Embedded System

Embedded Systems Structure


Sensor − It measures the physical quantity and converts it to an electrical signal which can be
read by an observer or by any electronic instrument like an A2D converter. A sensor stores
the measured quantity to the memory.
A-D Converter − An analog-to-digital converter converts the analog signal sent by the
sensor into a digital signal.
Processor & ASICs − Processors process the data to measure the output and store it to the
memory.
D-A Converter − A digital-to-analog converter converts the digital data fed by the processor
to analog data.
Actuator − An actuator compares the output given by the D-A Converter to the actual
(expected) output stored in it and stores the approved output.

The components of Embedded System Hardware


● It has Hardware Processor: Timers, Interrupt controller, I/O Devices, Memories,
Ports, etc.
● It has main Application Software Which may perform concurrently the series of
tasks or multiple tasks.
● It has Real Time Operating System (RTOS) RTOS defines the way the system
work. Which supervise the application software. It sets the rules during the execution
of the application program. A small-scale embedded system may not need an RTOS.
Fig. 2 – The

Components of embedded system hardware

Characteristics of Embedded Systems


Some of the key characteristics of Embedded Systems are as mentioned below.
● All Embedded Systems are task specific. They do the same task repeatedly
/continuously over their lifetime. An mp3 player will function only as an mp3 player.
● Embedded systems are created to perform the task within a certain time frame. It must
therefore perform fast enough. A car’s brake system, if exceeds the time limit, may
cause accidents.
● They have minimal or no user interface (UI). A fully automatic washing machine
works on its own after the programme is set and stops once the task is over.
● Some embedded systems are designed to react to external stimuli and react
accordingly. A thermometer, a GPS tracking device.
● Embedded systems are built to achieve certain efficiency levels. They are small sized,
can work with less power and are not too expensive.
● Embedded systems cannot be changed or upgraded by the users. Hence, they must
rank high on reliability and stability. They are expected to function for long durations
without the user experiencing any difficulties.
● Microcontroller or microprocessors are used to design embedded systems.
● Embedded systems need connected peripherals to attach input & output devices.
● The hardware of an embedded-system is used for security and performance. The
Software is used for features.
Fig. 3 – Characteristics of Embedded System

Types of Embedded System


Embedded systems can be classified based on:
● Performance and Functional requirements
● Performance of the Microcontroller

Fig.4– Types of Embedded System

❖ Performance and Functional Requirement Based Embedded Systems


Embedded Systems can be classified into four types based on the performance and functional
requirement.
● Real Time Embedded Systems
● Stand-Alone Embedded Systems
● Networked Embedded Systems
● Mobile Embedded Systems
❖ Real Time Embedded Systems
A Real Time Embedded System provides output within a defined specific time. That is, real
time embedded systems are designed and created to perform some specific work in pre-
specified time.
Types of Real Time Embedded Systems
There are two types of Real Time Embedded System. They are:
● Soft Real Time Embedded Systems
● Hard Real Time Embedded Systems
❖ Stand Alone Embedded Systems
Stand-Alone Embedded Systems are those that can work by themselves i.e. they are self-
sufficient and do not depend on a host system. Stand-alone embedded systems are made in a
way such that an input is received, processed and thereafter the desired output is produces.
Input can be received via sensors, keyword or push button.
Networked Embedded Systems
Networked Embedded Systems depend on connected network to perform its assigned tasks.
These systems consist of components like sensors, controllers etc. which are interconnected.
Many of these systems are built on general purpose processors.
❖ Mobile Embedded Systems
Mobile Embedded Systems are those that are small sized and can be used in smaller devices.
They are used in mobile phones and digital cameras because of the small size. They often
have memory constraints and lacks good user interface.
❖ Microcontroller Performance Based Embedded System
Embedded System are classified in three types based on its microcontroller performance.
● Small Scale Embedded Systems
● Medium Scale Embedded Systems
● Sophisticated Embedded Systems
● Small Scale Embedded System
Small Scale Embedded System is normally designed and created using an 8-bit
microcontroller. This microcontroller can be battery activated.
● Medium Scale Embedded System
Medium Scale Embedded System uses a single 16-bit or 32-bit microcontroller or multiple
microcontrollers linked together. These systems have a lot of hardware as well as software
complexities, hence are not preferred by many.
● Sophisticated Embedded System
Sophisticated Embedded System often function on multiple algorithms that results in
complexities in both hardware and software. They often need a processor that is configurable
and logic array that can be programmed.

Embedded Systems Hardware

Fig-5: Embedded System Hardware


Every electronic system consists of hardware circuitry, similarly, embedded system consists
of hardware such as power supply kit, central processing unit, memory devices, timers,
output circuits, serial communication ports, and system application specific circuit
components & circuits.
Embedded Systems Software

Fig-6: Embedded System Software Programming


An embedded system is integration of hardware and software, the software used in the
embedded system is set of instructions which is termed as a program. The microprocessors or
microcontrollers used in the hardware circuits of embedded systems are programmed to
perform specific tasks by following the set of instructions. These programs are primarily
written using any programming software like Proteus or Lab-view using any programming
languages such as C or C++ or embedded C. Then, the program is dumped into the
microprocessors or microcontrollers that are used in the embedded system circuits.

Applications of Embedded System

Fig. 4 – Applications of Embedded System

Some real-life applications of Embedded Systems are as follows:

● Consumer electronics – Televisions and digital cameras; computer printers; video game
consoles and home entertainment systems like PS4.
● Household appliances – Refrigerators; washing machines, microwave ovens, air conditioners
● Medical equipment – Scanners like those for MRI, CT; ECG machines; devices to monitor
blood pressure and heartbeat
● Automobiles – Fuel injection systems, anti-lock braking systems, music and entertainment
systems, controls for air-conditioner
● Industrial applications – Assembly lines, systems for feedback, systems for data collection
● Aerospace – Systems for navigation and guidance, GPS
● Communications – Routers, satellite phones
Though Mobile phones use embedded system, they operate in a way akin to general purpose
computers; hence not included in the above list.

Advantages of Embedded System


The advantages of Embedded Systems are:

● They are convenient for mass production. This results in low price per piece.
● These systems are highly stable and reliable.
● Embedded systems are made for specific tasks.
● The embedded systems are very small in size, hence can be carried and loaded anywhere.
● These systems are fast. They also use less power.
● The embedded systems optimize the use or resources available.
● They improve the product quality.
Disadvantages of Embedded System
The disadvantages of Embedded Systems are as follows:

● Once configured, these systems cannot be changed. Hence, no improvement or upgradation


on the ones designed and created can be made.
● They are hard to maintain. It is also difficult to take a back-up of embedded files.
● Troubleshooting is difficult for embedded systems. Transferring data from one system to
another is also quite problematic.
● Because these systems are made for specific tasks, hardware is limited.

Latest Technology in Embedded System and Applications


Embedded system and applications are severely increasing. The latest technology in
Embedded System and Applications such as
● Artificial Intelligence
● Augmented Reality and Virtual Reality
● Deep Learning
● Embedded security
● Cloud Connectivity
Artificial Intelligence
Artificial Intelligence creates intelligent in machines and it is a branch of computer science.
Recent days it is an essential part of the technology Industry. It acts like humans when they
have abundant information relating to the world. AI can define as the enabling of a machine
to perform the logical analysis, obtain knowledge and adapt to an environment that varies.
This technology can utilize in many applications such as self-driving cars, chatbots, personal
voice assistant and super smart computing intensive.
Moreover, Artificial Intelligence is building intelligent systems with decision-making
abilities. However, AI requires the use of hardware components to build truly intelligent
machines. This is exactly where the relation between AI and embedded systems becomes so
essential. The truth about Artificial Intelligence is more complex than it seems.
Virtual Reality and Augmented Reality
Virtual Reality technology in an embedded system that allows the user to interact with an
environment that exists in a computer. It is a way to generate realistic images, sound, and
other sensations. VR with higher resolution will challenge available display and processor
technology. On the other hand, augmented reality is the latest innovations in the electronics
industry. Augmented Reality adds virtual stuff to the real world environment. These both
technologies will become a big part of our world.
Deep Learning
It represents a rich and yet unexplored embedded systems market that has a range of
applications from image processing to audio analysis. Even though, the developers will
mainly focus on cloud connectivity and security. It is emerging as the latest trend in an
embedded system.
Embedded Security
With the rise of the Internet of Things, the focus of developers and manufacturers is on
security. In this technology for embedded security will emerge as crucial generators for
identifying devices in an IoT network, and as microcontroller security solutions that isolate
security operations from normal operations.
Cloud Connectivity
Getting embedded systems connecting to the internet and cloud can take weeks and months in
the traditional development cycle. Consequently, cloud connectivity technology is an
important future market for embedded systems. These technologies may design to simplify
the process of connecting embedded systems with cloud services into reducing the underlying
hardware complexities.
Each of the embedded systems is unique, and the hardware may highly specialize in the
application domain. In the final analysis, “Things are beginning to move very quickly in the
embedded space,” and each advancement paves an exciting road to the times ahead.

THE EMBEDDED SYSTEM DESIGN PROCESS


The major steps in the embedded system design process.
In this top–down view, we start with the system requirements. The alternative is a bottom–
up view in which we start with components to build a system. Bottom–up design steps are
shown in the figure as dashed-line arrows.
But the steps in the design process are only one axis along which we can view embedded
system design. We also need to consider the major goals of the design:
■ Manufacturing cost;
■ Performance (both overall speed and deadlines); and
■ Power consumption.
1.1.1 Requirements
We generally proceed in two phases:
First an informal description is gathered from the customers known as requirements, and we
refine the requirements into a specification that contains enough information to begin
designing the system architecture. Requirements may be functional or non-functional.
Typical nonfunctional requirements include:
 Performance:
The speed of the system is often a major consideration both for the usability of the system
and for its ultimate cost. Performance may be a combination of soft performance metrics such
as approximate time to perform a user-level function and hard deadlines by which a particular
operation must be completed.
 Cost:
The target cost or purchase price for the system is almost always a consideration. Cost
typically has two major components:
 Manufacturing cost includes the cost of components and assembly;
 Nonrecurring Engineering (NRE) costs include the personnel and other costs of
designing the System.
 Physical size and weight: The physical aspects of the final system can vary greatly
depending upon the application. A handheld device typically has tight requirements on both
size and weight that can ripple through the entire system design.
 Power consumption: Power, of course, is important in battery-powered systems and is
often important in other applications as well.
Validating a set of requirements is ultimately a psychological task since it requires
understanding both what people want and how they communicate those needs. One good way
to refine at least the user interface portion of a system’s requirements is to build a mock-up.
The mock-up may use canned data to simulate functionality in a restricted demonstration, and
it may be executed on a PC or a workstation. But it should give the customer a good idea of
how the system will be used and how the user can react to it. Physical, non-functional models
of devices can also give customers a better idea of characteristics such as size and weight.
Design Example: GPS Moving Map:
Sample Requirement form:
Name: GPS moving map
Purpose: Consumer-grade moving map for driving use
Inputs: Power button, two control buttons
Outputs: Back-lit LCD display 400 _ 600
Functions: Uses 5-receiver GPS system; three user-selectable resolutions; always displays
current latitude and longitude
Performance: Updates screen within 0.25 seconds upon movement
Manufacturing cost: $30
Power :100mW
Physical size and weight: No more than 2” ×6,” 12 ounces
Specification:
The specification is more precise—it serves as the contract between the customer and the
architects. The specification should be understandable enough so that someone can verify that
it meets system requirements and overall expectations of the customer. The overall system
architecture derived from the specification may be inadequate to meet the needs of
implementation.
A specification of the GPS system would include several components:
 Data received from the GPS satellite constellation.
 Map data.
 User interface.
 Operations that must be performed to satisfy customer requests.
 Background actions required to keep the system running, such as operating the GPS
receiver.

Architecture Design
The specification does not say how the system does things, only what the system does.
Describing how the system implements those functions is the purpose of the architecture. The
architecture is a plan for the overall structure of the system that will be used later to design
the components that make up the architecture. The creation of the architecture is the first
phase of what many designers think of as design. A sample system architecture in the form of
a block diagram that shows major operations and dataflows among them.
Block Diagram of GPS Moving Map:
Architecture of GPS moving map divided into two block diagrams.
Hardware and Software.
The hardware block diagram clearly shows that we have one central CPU surrounded by
memory and I/O devices. In particular, we have chosen to use two memories: a frame buffer
for the pixels tobe displayed and a separate program/data memory for general use by the
CPU.
The software block diagram fairly closely follows the system block diagram, but we have
added a timer to control when we read the buttons on the user interface and render data onto
the screen. To have a truly complete architectural description, we require more detail, such as
where units in the software block diagram will be executed in the hardware block diagram
and when operations will be performed in time.
Architectural descriptions must be designed to satisfy both functional and non functional
requirements. Not only must all the required functions be present, but we must meet cost,
speed, power, and other nonfunctional constraints. Starting out with a system architecture and
refining that to hardware and software architectures is one good way to ensure that we meet
all specifications.

Designing Hardware and Software Components


The component design effort builds those components in conformance to the architecture and
specification. The components will in general include both hardware—FPGAs, boards, and
so on—and software modules.
Some of the components will be ready-made. The CPU, for example, will be a standard
component in almost all cases, as will memory chips and many other components.
In the moving map, the GPS receiver is a good example of a specialized component that will
nonetheless be a predesigned, standard component.
We can also make use of standard software modules. One good example is the topographic
database. Standard topographic databases exist, and you probably want to use standard
routines to access the database
Using standard software for these access functions not only saves us design time, but it may
give us a faster implementation for specialized functions such as the data decompression
phase.
You will have to design some components yourself. Even if you are using only standard
integrated circuits, you may have to design the printed circuit board that connects them.You
will probably have to do a lot of custom programming as well.
Integration in System Design
Many of these embedded systems also fall under system integration. But what is system
integration? System integration is, quite simply, the combination of systems to build a larger
system or set of systems. Following a bottom to top approach, one can build an understanding
of how chip-level embedded systems can make up board-level embedded systems, which
could then form device-level systems, and so on. Essentially, each of these is an example of
integrated embedded systems to create the next level of embedded systems above it. Thus, the
term system integration.
The concept of system integration has been gaining unprecedented importance because the
needs for interoperability and open yet secure embedded system data exchange has gained
momentum. Whether the integration is horizontally or vertically, integrated embedded
systems are an important piece in interoperable controls and data security on the plant floor.
Only after the components are built do we have the satisfaction of putting them together and
seeing a working system. Of course, this phase usually consists of a lot more than just
plugging everything together and standing back.
Bugs are typically found during system integration, and good planning can help us find the
bugs quickly. By building up the system in phases and running properly chosen tests, we can
often find bugs more easily.
If we debug only a few modules at a time, we are more likely to uncover the simple bugs and
able to easily recognize them.

Embedded System Design and Development Lifecycle model


Hardware–Software Codesign
Hardware–Software Codesign techniques target system-on-chip (SoC) design or embedded
core design that involves integration of general-purpose microprocessors, DSP
structures, programmable logic (FPGA), ASIC cores, memory block peripherals,
and interconnection buses on one chip. Traditionally, a system is divided into hardware and
software sections that are designed independently except for some common standards
required for compatibility concerns, shown in Figure 5.15(A). With systems growing larger
and power consumption becoming of great importance, a new wave came forth to consider
the whole system design process and attempt to partition the various tasks of the system
between hardware and software from the early stages of the design process to reduce many
design problems, as indicated by Figure 5.15(B). These techniques attempt to find an optimal
partitioning and assignment of tasks between software running on microprocessors or DSPs
and hardware implemented on ASIC or FPGA for a given application. In Henkel (1999), a
system-level power optimization approach that deploys hardware–software partitioning based
on a fine-grained (instruction/operation-level) power estimation analysis is proposed that
achieves up to 94% savings in energy consumption. In this approach, the system tasks are
partitioned into software sections running on a general microprocessor core and into
hardware sections implemented in application-specific cores to minimize the total power
dissipation.

Hardware software co-design flow

Basic features of a codesign process


• Enables mutual influence of both HW and SW early in the design cycle – Provides
continual verification throughout the design cycle – Separate HW/SW development paths can
lead to costly modifications and schedule slippages
• Enables evaluation of larger design space through tool interoperability and automation of
codesign at abstract design levels
• Advances in key enabling technologies (e.g., logic synthesis and formal methods) make it
easier to explore design tradeoffs
Introduction to Processor

Processor is the heart of an embedded system. It is the basic unit that takes inputs and
produces an output after processing the data. For an embedded system designer, it is
necessary to have the knowledge of both microprocessors and microcontrollers.
Processors in a System
A processor has two essential units −
● Program Flow Control Unit (CU)
● Execution Unit (EU)
The CU includes a fetch unit for fetching instructions from the memory. The EU has circuits
that implement the instructions pertaining to data transfer operation and data conversion from
one form to another.
The EU includes the Arithmetic and Logical Unit (ALU) and also the circuits that execute
instructions for a program control task such as interrupt, or jump to another set of
instructions.
A processor runs the cycles of fetch and executes the instructions in the same sequence as
they are fetched from memory.
Types of Processors
Processors can be of the following categories −
● General Purpose Processor (GPP)
o Microprocessor
o Microcontroller
o Embedded Processor
o Digital Signal Processor
o Media Processor
● Application Specific System Processor (ASSP)
● Application Specific Instruction Processors (ASIPs)
● GPP core(s) or ASIP core(s) on either an Application Specific Integrated Circuit
(ASIC) or a Very Large-Scale Integration (VLSI) circuit.
Microprocessor
A microprocessor is a single VLSI chip having a CPU. In addition, it may also have other
units such as coaches, floating point processing arithmetic unit, and pipelining units that help
in faster processing of instructions.
Earlier generation microprocessors’ fetch-and-execute cycle was guided by a clock frequency
of order of ~1 MHz. Processors now operate at a clock frequency of 2GHz

Microcontroller
A microcontroller is a single-chip VLSI unit (also called microcomputer) which, although
having limited computational capabilities, possesses enhanced input/output capability and a
number of on-chip functional units.

CPU RAM ROM

I/O Port Timer Serial COM Port

Microcontrollers are particularly used in embedded systems for real-time control applications
with on-chip program memory and devices.
Microprocessor vs Microcontroller

Microprocessor Microcontroller

Microprocessors are multitasking in nature. Can Single task oriented. For example, a washi
perform multiple tasks at a time. For example, on machine is designed for washing clothes only.
computer we can play music while writing text in text
editor.

RAM, ROM, I/O Ports, and Timers can be added RAM, ROM, I/O Ports, and Timers cannot
externally and can vary in numbers. added externally. These components are to
embedded together on a chip and are fixed
numbers.

Designers can decide the number of memory or I/O Fixed number for memory or I/O makes
ports needed. microcontroller ideal for a limited but specific task

External support of external memory and I/O ports Microcontrollers are lightweight and cheaper than
makes a microprocessor-based system heavier and microprocessor.
costlier.

External devices require more space and their power A microcontroller-based system consumes le
consumption is higher. power and takes less space.

Let us now take a look at the most notable differences between a microprocessor and
microcontroller.

The 8051 microcontrollers work with 8-bit data bus. So they can support external data
memory up to 64K and external program memory of 64k at best. Collectively, 8051
microcontrollers can address 128k of external memory.
When data and code lie in different memory blocks, then the architecture is referred
as Harvard architecture. In case data and code lie in the same memory block, then the
architecture is referred as Von Neumann architecture

Difference between Von Neumann and Harvard Architecture

Point of Harvard Architecture Von Neumann Architecture


Comparison

Arrangement In Harvard architecture, the CPU is In Von-Neumann architecture, there is no


connected with both the data separate data and program memory. Instead,
memory (RAM) and program a single memory connection is given to the
memory (ROM), separately. CPU.

Hardware It requires more hardware since it In contrast to the Harvard architecture, this
requirements will be requiring separate data and requires less hardware since only a common
address bus for each memory. memory needs to be reached.
Space This requires more space. Von-Neumann Architecture requires less
requirements space.

Speed of Speed of execution is faster Speed of execution is slower since it cannot


execution because the processor fetches data fetch the data and instructions at the same
and instructions simultaneously. time.

Space usage It results in wastage of space since if Space is not wasted because the space of
the space is left in the data memory the data memory can be utilized by the
then the instructions memory cannot instructions memory and vice-versa.
use the space of the data memory
and vice-versa.

Controlling Controlling becomes complex since Controlling becomes simpler since either
data and instructions are to be data or instructions are to be fetched at a
fetched simultaneously. time.

C ISC RISC

A large number of instructions are present in the Very fewer instructions are present. The number of instructions
architecture. are generally less than 100.

Some instructions with long execution times. These No instruction with a long execution time due to very simple
include instructions that copy an entire block from one instruction set. Some early RISC machines did not even have an
part of memory to another and others that copy multiple integer multiply instruction, requiring compilers to implemen
registers to and from memory. multiplication as a sequence of additions.

Variable-length encodings of the instructions. Fixed-length encodings of the instructions are used
Example: IA32 instruction size can range from 1 to 15 Example: In IA32, generally all instructions are encoded as 4
bytes. bytes.

Multiple formats are supported for specifying operands. Simple addressing formats are supported. Only base and
A memory operand specifier can have many different displacement addressing is allowed.
combinations of displacement, base and index registers.

CISC supports array. RISC does not support array.

Arithmetic and logical operations can be applied to both Arithmetic and logical operations only use register operands
memory and register operands. Memory referencing is only allowed by load and store
instructions, i.e. reading from memory into a register and writing
from a register to memory respectively.

Implementation programs are hidden from machine Implementation programs exposed to machine level programs
level programs. The ISA provides a clean abstraction Few RISC machines do not allow specific instruction sequences.
between programs and how they get executed.
Condition codes are used. No condition codes are used.

The stack is being used for procedure arguments and Registers are being used for procedure arguments and return
return addresses. addresses. Memory references can be avoided by some
procedures.

Difference Between RISC and CISC

Difference Between RTOS and GPOS

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.

You might also like