0% found this document useful (0 votes)
53 views13 pages

UNIT 1 Embedded

The document provides an overview of embedded systems, defining them as integrated systems combining hardware and software for specific functions. It contrasts embedded systems with general-purpose computers, highlighting differences in purpose, processing power, and complexity. Additionally, it discusses various types of embedded systems, their architecture, communication protocols, and development tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views13 pages

UNIT 1 Embedded

The document provides an overview of embedded systems, defining them as integrated systems combining hardware and software for specific functions. It contrasts embedded systems with general-purpose computers, highlighting differences in purpose, processing power, and complexity. Additionally, it discusses various types of embedded systems, their architecture, communication protocols, and development tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Introduction to embedded systems

System
A system is an arrangement in which all its unit assemble work together according to a set of
rules. It can also be defined as a way of working, organizing or doing one or many tasks according to a
fixed plan. For example, a watch is a time displaying system. Its components follow a set of rules to show
time. If one of its parts fails, the watch will stop working. So we can say, in a system, all its
subcomponents depend on each other.
Embedded System
Embedded System is an integrated system that is formed as a combination of computer
hardware and software for a specific function. It can be said as a dedicated computer system has been
developed for some particular reason. But it is not our traditional computer system or general-purpose
computers, these are the embedded systems that may work independently or attached to a larger system
to work on a few specific functions. These embedded systems can work without human intervention or
with little human intervention.
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.

Difference between General Purpose Computer and Embedded System


The following table highlights all the important differences between computer and embedded system –

Parameter Computer Embedded System

Basic A computer is a general purpose An embedded system is a specialized


electronic device used to perform computer system that used to perform one or
different types of tasks. a few specific tasks.

Purpose Computers are used for Embedded systems are used for
accomplishing general purpose accomplishing specific tasks in a larger
computing tasks. system.

System A computer typically consists of a Embedded system are designed with a


hardware CPU, storage unit, and I/O units. microcontroller which consists of
a CPU, memory unit, and I/O interface
on a single IC chip.
Processing Computers have very high processing Embedded systems have relatively low
power power. processing power.

Storage Computers have high storage capacity orEmbedded systems have less memory
capacity memory to store data and information oncapacity as compared to computers.
the system.

Versatility Computers are highly versatile Embedded systems are designed to perform
computing device that can perform a a limited number of functions.
wide range of functions.

Size Computers are generally larger in size. Embedded systems are smaller in size
than computers.

Cost Computers are more expensive than Embedded systems are less expensive.
embedded systems.

Operating Computers use a full-featured Embedded systems use a specialized


system operating system to run. operating system to run.

Human-machineComputers have a human-machine Embedded systems generally have a


interface interface that allows end-users to limited or no human-machine interface.
(HMI) interact with the computer.

Software For computers, the general purpose The development of software for
development development tools can be used to embedded systems requires specialized and
tools develop computer software. expert tools.

Upgradability Computers are easily upgradable with Embedded systems require significant
new hardware and software. hardware modification for upgradation.

Reliability Computers are less reliable as Embedded systems are more reliable
compared to embedded systems. than computers.

Maintenance Computers need regular maintenance Embedded systems do not require much
& updates and updates. maintenance and updates.

System Computers involve more complex Embedded systems are comparatively


complexity system design. less complex.

Real time Computers do not have real-time Embedded systems are purposely
constraints constraints. designed to operate in real time.

Applications Computers are used for a variety of Embedded systems are used in consumer
applications, such as word electronic devices, medical devices,
processing, web browsing, data industrial control systems, etc.
analysis, scientific simulation,
communication, etc.

Parameter Computer Embedded System

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, and reliable, real-time
control system.
Characteristics of an Embedded System
 Single-functioned − An embedded system usually performs a specialized operation and does the same
repeatedly. For example: A pager always functions as a pager.
 Tightly constrained − All computing systems have constraints on design metrics, but those on an
embedded system can be especially tight. Design metrics is a measure of an implementation's features
such as its cost, size, power, and performance. It must be of a size to fit on a single chip, must perform
fast enough to process data in real time and consume minimum power to extend battery life.
 Reactive and Real time − Many embedded systems must continually react to changes in the system's
environment and must compute certain results in real time without any delay. Consider an example of a
car cruise controller; it continually monitors and reacts to speed and brake sensors. It must compute
acceleration or de-accelerations repeatedly within a limited time; a delayed computation can result in
failure to control of the car.
 Microprocessors based − It must be microprocessor or microcontroller based.
 Memory − It must have a memory, as its software usually embeds in ROM. It does not need any
secondary memories in the computer.
 Connected − It must have connected peripherals to connect input and output devices.
 HW-SW systems − Software is used for more features and flexibility. Hardware is used for performance
and security.
Advantages
 Easily Customizable
 Low power consumption
 Low cost
 Enhanced performance
Disadvantages
 High development effort
 Larger time to market

Major Application Areas of Embedded Systems:


 Consumer Electronics: Camcorders, Cameras etc.
 Household Appliances: Television, DVD players, washing machine, Fridge, Microwave Oven etc.
 Home Automation and Security Systems: Air conditioners, sprinklers, Intruder detection alarms, Closed
Circuit Television Cameras, Fire alarms etc.
 Automotive Industry: Anti-lock breaking systems (ABS), Engine Control, Ignition Systems, Automatic
Navigation Systems etc.
 Telecom: Cellular Telephones, Telephone switches, Handset Multimedia Applications etc.
 Computer Peripherals: Printers, Scanners, Fax machines etc.
 Computer Networking Systems: Network Routers, Switches, Hubs, Firewalls etc.
 Health Care: Different Kinds of Scanners, EEG, ECG Machines etc.
 Measurement & Instrumentation: Digital multi meters, Digital CROs, Logic Analyzers, PLC systems
 Banking & Retail: Automatic Teller Machines (ATM) and Currency counters, Point of Sales (POS)
 Card Readers: Barcode, Smart Card Readers, Hand held Devices etc.
Based on Performance and Functional Requirements it is divided into 4 types as follows:
1) Real-Time Embedded Systems:
A Real-Time Embedded System is strictly time specific which means these embedded systems
provides output in a particular/defined time interval. These type of embedded systems provide quick
response in critical situations which gives most priority to time based task performance and
generation of output. That’s why real time embedded systems are used in defence sector, medical
and health care sector, and some other industrial applications where output in the right time is given
more importance.
Further this Real-Time Embedded System is divided into two type i.e.
Soft Real Time Embedded Systems –
In these types of embedded systems time/deadline is not so strictly followed. If deadline of the task is
passed (means the system didn’t give result in the defined time) still result or output is accepted.
Hard Real-Time Embedded Systems –
In these types of embedded systems time/deadline of task is strictly followed. Task must be completed
in between time frame (defined time interval) otherwise result/output may not be accepted.
Examples:
 Traffic control system
 Military usage in defence sector
 Medical usage in health sector

2) Stand Alone Embedded Systems:


Stand Alone Embedded Systems are independent systems which can work by themselves they don’t
depend on a host system. It takes input in digital or analog form and provides the output.
Examples:
 MP3 players
 Microwave ovens
 calculator
3) Networked Embedded Systems:
Networked Embedded Systems are connected to a network which may be wired or wireless to provide
output to the attached device. They communicate with embedded web server through network.
Examples:
 Home security systems
 ATM machine
 Card swipe machine
4) Mobile Embedded Systems:
Mobile embedded systems are small and easy to use and requires less resources. They are the most
preferred embedded systems. In portability point of view mobile embedded systems are also best.
Examples:
 MP3 player
 Mobile phones
 Digital Camera

Based on Performance and micro-controller it is divided into 3 types as follows:


1. Small Scale Embedded Systems:
Small Scale Embedded Systems are designed using an 8-bit or 16-bit micro-controller. They can be
powered by a battery. The processor uses very less/limited resources of memory and processing speed.
Mainly these systems does not act as an independent system they act as any component of computer
system but they did not compute and dedicated for a specific task.

2. Medium Scale Embedded Systems:


Medium Scale Embedded Systems are designed using an 16-bit or 32-bit micro-controller. These
medium Scale Embedded Systems are faster than that of small Scale Embedded Systems. Integration of
hardware and software is complex in these systems. Java, C, C++ are the programming languages are
used to develop medium scale embedded systems. Different type of software tools like compiler,
debugger, simulator etc are used to develop these type of systems.

3. Sophisticated or Complex Embedded Systems:


Sophisticated or Complex Embedded Systems are designed using multiple 32-bit or 64-bit micro-
controller. These systems are developed to perform large scale complex functions. These systems have
high hardware and software complexities. We use both hardware and software components to design
final systems or hardware products.
Architecture of Embedded System:
Typical embedded system mainly has two parts i.e., embedded hardware and embedded
software. Embedded hardwares are based around microprocessors and microcontrollers, also include
memory, bus, Input/Output, Controller, whereas embedded software includes embedded operating
systems, different applications and device drivers. Basically these two types of architecture i.e., Harvard
architecture and Von Neumann architecture are used in embedded systems. Architecture of the Embedded
System includes Sensor, Analog to Digital Converter, Memory, Processor, Digital to Analog Converter,
and Actuators etc. The below figure illustrates the overview of basic architecture of embedded systems:

Hardware architecture
Embedded systems consist of both hardware and software components that work together to perform the
intended tasks. The hardware architecture of embedded systems includes the following:
 Microcontrollers or Microprocessors: These are the central processing units of embedded systems.
They are responsible for executing the program instructions and controlling the various hardware
components.
 Memory: Embedded systems have different types of memory, including read-only memory (ROM) for
storing permanent program instructions and data, random-access memory (RAM) for temporary data
storage, and non-volatile memory for saving important data even when power is lost.
 Input/output Interfaces: Embedded systems interact with the external world through various input and
output interfaces such as sensors, actuators, displays, communication interfaces, and more.
 Power Management: Embedded systems often require power management features to optimize energy
consumption and ensure efficient operation.
Software architecture
On the software side, embedded systems use specialized operating systems or firmware to control and
manage the hardware components. These software components include:
 Embedded Operating Systems: Embedded systems can use real-time operating systems (RTOS), bare-
metal programming, or even a combination of both, depending on the specific requirements of the system.
 Device Drivers: Device drivers enable communication and interaction between the hardware components
and the software applications running on the embedded systems.
 Application Software: This is the software layer that provides specific functionalities and features of the
embedded system. It can include control algorithms, data processing algorithms, user interfaces, and
more.

Communication Protocols in Embedded Systems


Communication Protocols are a set of rules that allow two or more communication systems
to communicate data via any physical medium. Embedded System is an electronic system or device which
employs both hardware and software. A processor or controller takes input from the physical world
peripherals like sensors, actuators etc., processes the same through appropriate software and provides the
desired output. In this case, the components have to communicate with each other to provide the
anticipated output. Each communicating entity should agree to some protocol to exchange information.
Many different protocols are available for embedded systems and are deployed depending upon the
application area.
In general, the communication protocols is associated with physical layer describing the
signals incorporated, signal strength, hand shaking mechanism, bus arbitration, device addressing, wired
or wireless, data lines etc.
Types of Intra System Communication Protocols
· I2C Protocol
· SPI Protocol
· CAN Protocol
I2C Communication Protocols
Inter Integrated Circuit (I2C) is a serial communication protocol developed by Philips
Semiconductors. The main purpose of this protocol is to provide easiness to connect peripheral chips with
microcontroller. I2C necessitates two wires SDA (Serial Data Line) and SCL (Serial Clock Line) to carry
information between devices. It is a master to slave communication protocol. In order to establish
communication, master device initially sends the target slave address along with R/W (Read/Write) flag.
The corresponding slave device will move into active mode leaving other devices in off state. Once the
slave device is ready, communication starts between master and slave devices. One bit acknowledgment is
replied by the receiver if transmitter transmits 1 byte (8 bits) of data. A stop condition is issued at the end
of communication between devices.

Advantages of I2C Communication Protocols


· Provides good communication between on-board devices which are accessed infrequently
· Addressing mechanism eases master slave communication
· Cost and circuit complexity does not end up on number of devices
Disadvantages of I2C Communication Protocols
The biggest disadvantage of I2C Communication Protocols is its limited speed.
Serial Peripheral Interface (SPI) Communication Protocols

SPI (Serial Peripheral Interface) is one of the serial communication protocol developed by Motorola. It is
a 4-wire protocol namely MOSI (Master Out Slave In), MISO (Master In Slave Out, SS (Slave Select),
and SCLK (Serial Clock). As I2C protocol, SPI is also a master to slave communication protocol. In SPI,
the master device first configures the clock at a particular frequency. Furthermore the SS line is used to
select the appropriate slave by pulling the SS line low where it is normally held high. The communication
is established between the selected slave and the master device as soon as appropriate slave device is
selected. SPI is a full duplex communication protocol. SPI doesn’t limit data transfer to 8 bit words.
Advantages of SPI Communication Protocols
· Faster than asynchronous serial communication protocol.
· Support multiple slaves connectivity.
· Universally accepted protocol and low cost.
Disadvantages of SPI Communication Protocol
· Requires more wires than other communication protocols.
· Master device should control all slave communications (slave-slave communication is impossible).
· Numerous slave devices leads to circuit complexity.

Controller Area Network (CAN) Communication Protocol


CAN (Controller Area Network) is a serial communication protocol developed by the Robert
Bosch for intra vehicular communication. It requires two wires CAN High (H+) and CAN low (H-) for
data transmission. CAN protocol is based on a message oriented communication protocol.
Advantages of CAN Communication Protocols
· Low cost and reliable
· Shows robust performance
· Secured and fast protocol
Disadvantages of CAN Communication Protocol
· Automotive oriented
· Bit complex protocol
Development and debugging Tools
Compilers and Assemblers
Compiler: A compiler is a computer program (or a set of programs) that transforms the source code
written in a programming language (the source language) into another computer language (normally
binary format). The most common reason for conversion is to create an executable program. The name
"compiler" is primarily used for programs that translate the source code from a high level programming
language to a low-level language (e.g., assembly language or machine code).

Cross-Compiler: If the compiled program can run on a computer having different CPU or operating
system than the computer on which the compiler compiled the program, then that compiler is known as a
cross-compiler.

Decompiler: A program that can translate a program from a low-level language to a high-level language
is called a decompiler.

Language Converter: A program that translates programs written in different high-level languages is
normally called a language translator, source to source translator, or language converter.

A compiler is likely to perform the following operations −


Pre-processing
Parsing
Semantic Analysis (Syntax-directed translation)
Code generation
Code optimization

Assemblers: An assembler is a program that takes basic computer instructions (called as assembly
language) and converts them into a pattern of bits that the computer's processor can use to perform its
basic operations. An assembler creates object code by translating assembly instruction mnemonics into
opcodes, resolving symbolic names to memory locations. Assembly language uses a mnemonic to
represent each low-level machine operation (opcode).

Debugging Tools in an Embedded System


Debugging is a methodical process to find and reduce the number of bugs in a computer
program or a piece of electronic hardware, so that it works as expected. Debugging is difficult when
subsystems are tightly coupled, because a small change in one subsystem can create bugs in another. The
debugging tools used in embedded systems differ greatly in terms of their development time and
debugging features. We will discuss here the following debugging tools −

Simulators
Microcontroller starter kits
Emulator

Simulators
Code is tested for the MCU / system by simulating it on the host computer used for code development.
Simulators try to model the behaviour of the complete microcontroller in software.

Functions of Simulators
A simulator performs the following functions −
 Defines the processor or processing device family as well as its various versions for the target system.
 Monitors the detailed information of a source code part with labels and symbolic arguments as the
execution goes on for each single step.
 Provides the status of RAM and simulated ports of the target system for each single step execution.
 Monitors system response and determines throughput.
 Provides trace of the output of contents of program counter versus the processor registers.
 Provides the detailed meaning of the present command.
 Monitors the detailed information of the simulator commands as these are entered from the keyboard or
selected from the menu.
 Supports the conditions (up to 8 or 16 or 32 conditions) and unconditional breakpoints.
 Provides breakpoints and the trace which are together the important testing and debugging tool.
 Facilitates synchronizing the internal peripherals and delays.

Microcontroller Starter Kit


A microcontroller starter kit consists of −
 Hardware board (Evaluation board)
 In-system programmer
 Some software tools like compiler, assembler, linker, etc.
 Sometimes, an IDE and code size limited evaluation version of a compiler.
A big advantage of these kits over simulators is that they work in real-time and thus allow
for easy input/output functionality verification. Starter kits, however, are completely sufficient and the
cheapest option to develop simple microcontroller projects.

Emulators: An emulator is a hardware kit or a software program or can be both which emulates the
functions of one computer system (the guest) in another computer system (the host), different from the
first one, so that the emulated behavior closely resembles the behavior of the real system (the guest).
Emulation refers to the ability of a computer program in an electronic device to emulate
(imitate) another program or device. Emulation focuses on recreating an original computer environment.
Emulators have the ability to maintain a closer connection to the authenticity of the digital object. An
emulator helps the user to work on any kind of application or operating system on a platform in a similar
way as the software runs as in its original environment.

You might also like