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

Chapter 0

The document discusses embedded systems, including defining what they are, their basic structure and components, examples of embedded systems, and advantages and disadvantages. Embedded systems integrate computer hardware and software to perform dedicated functions as part of a larger system.

Uploaded by

Noriel Galoso
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 views14 pages

Chapter 0

The document discusses embedded systems, including defining what they are, their basic structure and components, examples of embedded systems, and advantages and disadvantages. Embedded systems integrate computer hardware and software to perform dedicated functions as part of a larger system.

Uploaded by

Noriel Galoso
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/ 14

CPEE 321 Cognate/Track Course 1

Embedded Systems 1
Objectives

At the end of the lesson, the learners should be able to:


 Define what a System is.
 Discuss what an Embedded System is.
 Differentiate Computer from Embedded System.
 Enumerate and discuss the advantages and disadvantages of Embedded System.
 Identify and discuss the types of Embedded System.
 Differentiate microprocessor from microcontroller.
 Identify different types of microcontroller.
 Understand Arduino microcontroller.

Lesson Proper
What is System?
In simple, a system is a set of interrelated parts/components which are designed/developed to
perform a common tasks or to do some specific work for which it has been created.

What does Embedded mean?


Embedded means including something with anything for a reason. Or in simple we can say
something which is integrated or attached with another thing.

Now after getting what actually system and embedded mean we can easily understand what is
Embedded Systems.

What is Embedded Systems?


An Embedded System is an integrated system which is formed as a combination of computer
hardware and software for a specific function. It can be said as a dedicated computer system
which has been developed for some particular reason. But it is not our traditional computer
system or general purpose computers, these are the embedded systems which may work
independently or attached to a larger system to work on few specific functions. These embedded
systems can work without human intervention or with a little human intervention.

An embedded system is a microprocessor- or microcontroller-based system of hardware and


software designed to perform dedicated functions within a larger mechanical or electrical
system.
History of Embedded Operating Systems
The first modern, real-time embedded computing system was the Apollo Guidance Computer,
developed in the 1960s by Dr. Charles Stark Draper at the Massachusetts Institute of Technology
for the Apollo Program. The Apollo Guidance Computer was designed to collect data
automatically and provide mission-critical calculations for the Apollo Command Module and
Lunar Module.

In 1971, Intel released the first commercially available microprocessor unit -- the Intel 4004 -- an
early microprocessor that still required support chips and external memory; in 1978 the National
Engineering Manufacturers Association released a standard for programmable microcontrollers,
improving the embedded system design; and by the early 1980s, memory, input and output
system components had been integrated into the same chip as the processor, forming a
microcontroller.

The microcontroller-based embedded system would go on to be incorporated into every aspect


of consumers’ daily lives, from credit card readers and cell phones, to traffic lights and
thermostats.

How an Embedded System Works


Embedded systems are managed by microcontrollers or digital signal processors (DSP),
application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), GPU
technology, and gate arrays. These processing systems are integrated with components
dedicated to handling electric and/or mechanical interfacing.

Embedded systems programming instructions, referred to as firmware, are stored in read-only


memory or flash memory chips, running with limited computer hardware resources. Embedded
systems connect with the outside world through peripherals, linking input and output devices.

Basic Structure of an Embedded System


The basic structure of an embedded system includes the following:
 Sensor: The sensor measures and converts the physical quantity to an electrical signal, which
can then be read by an embedded systems engineer or any electronic instrument. 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 assess the data to measure the output and store it to the
memory.
 D-A Converter: A digital-to-analog converter changes 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 output
stored and stores the approved output.

Three main components of embedded systems are:


1. Hardware 3. Firmware
2. Software

Some examples of embedded systems:


 Digital watches  Cameras
 Washing Machine  Industrial machines
 Toys  Electronic Calculators
 Televisions  Automobiles
 Digital phones  Medical Equipment
 Laser Printer
Application areas of Embedded System
Mostly Embedded systems are present everywhere. We use it in our everyday life unknowingly
as in most of the cases it is integrated insides the larger systems. So, here are some the
application areas of Embedded System:

 Home appliances  Defense sector


 Transportation  Aerospace
 Health care  Agricultural Sector
 Business sector & offices

Important Characteristics of an Embedded System:


1. Performs specific task
- Embedded systems performs some specific function or tasks.
2. Low Cost
- The price of embedded system is not so expensive.
3. Time Specific
- It performs the tasks within a certain time frame.
4. Low Power
- Embedded Systems don’t require much power to operate.
5. High Efficiency
- The efficiency level of embedded systems are so high.
6. Minimal User interface
- These systems require less user interface and easy to use.
7. Less Human intervention
- Embedded systems require no human intervention or very less human intervention.
8. Highly Stable
- Embedded systems not change frequently mostly fixed maintaining stability.
9. High Reliability
- Embedded systems are reliable they perform the tasks consistently well.
10. Use microprocessors or micro controllers
- Embedded systems use microprocessors or micro controllers to design and use limited
memory.
Top Embedded Programming Languages:
Embedded systems can be programmed using different programming languages like Embedded
C, Embedded C++, Embedded Java, and Embedded Python. However it entirely depends on the
developer to use which programming language for the development of the embedded systems.
Architecture of an Embedded System
Typical embedded system mainly has two parts i.e., embedded hardware and embedded
software.

Embedded hardware 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:

Embedded Product Development Life Cycle (EDLC):


Developing an embedded system or product mainly goes through this three phases which are:
1. Analysis
2. Design
3. Implementation
If we will go a little bit deeper to the development steps it includes these 7 steps:
1. Requirement analysis
2. Examine
3. Design
4. Develop
5. Test
6. Deploy
7. Maintenance

Now let’s discuss some of the advantages and disadvantages of embedded systems.
Advantages of Embedded System:
 Embedded systems are fast in performance.
 These systems consumes less power
 Small in shape and size.
 These systems are so scalable and reliable.
 Works on wide variety of sectors and environments.
 Improve product quality and enhance performance.
 Performs specific tasks without error.

Disadvantages of Embedded System:


 Difficult to backup of embedded files.
 Sometimes complex to develop.
 Integration may be a problem.
 Offer very limited resources for processing.
 Troubleshooting may be difficult.
 Maintenance may be a problem.

Difference between Computer and Embedded System

Computer:
A computer is a combination of hardware and software resources which integrate together and
provides various functionalities to the user.

Embedded Device:
An embedded device is a part of an integrated system which is formed as a combination of
computer hardware and software for a specific function and which can operate without human
interaction.

Difference between Software Testing and Embedded Testing


Software Testing:
Software testing is the process of verification and validation for a software. It ensures that a
software or application is free from defects and viruses. It also ensures that software fulfills the
requirements of end user as designed and developed. It makes sure that software meets the
user requirements effectively and efficiently and also handles all the exceptional and boundary
cases.

Embedded Testing:
Embedded testing is the process of verification and validation of both software and hardware.
It ensures the defect free whole system including software and hardware. It is basically
performed on hardware in order to find the defects. It also ensures that system meets the end
user’s requirements.

Difference between Software Testing and Embedded Testing:

Software Testing Embedded Testing


It is performed on both software and
It is performed only on the software.
hardware.
It is basically performed on client-server
It is basically performed on hardware.
applications.
It can be either white box or black box
It is majorly black box testing.
testing.
It is carried out on web and mobile based It is performed on the embedded
applications. systems.
Database is tested in software testing. It is not related to database.
Functionality of the applications is tested. Behavior of the hardware is tested.
It can be manual or automated. It is majorly manual.
It is more costly as compared to embedded It is less costly as compared to software
testing. testing.

Classification of Embedded Systems

Embedded Systems are classified based on the two factors i.e.


1. Performance and Functional Requirements
2. Performance of Micro-controllers

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 defense 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 types:


 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 defense 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 a 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.

Microprocessor
It is used in an application where the task is not predefined and it is assigned by the user. It is
used in computers, mobiles, video games, TVs, etc where the task is not fixed and it depends on
the user. Generally, the microprocessor is used where intensive processing is required. A laptop
is the best example where a microprocessor is used. The laptop is used for media streaming,
simulation, editing image, web browsing, gaming, creating a document and many more.

Microcontroller
It is designed for a specific task and once the program is embed on MCU chip, it can’t be altered
easily and you may be needed special tools to reburn it. The process of the microcontroller is
fixed according to its application. Hence, it does some processing, based on the input given to
the microcontroller and gives the predefined results as an output. The input could be given by
the user or it could be given by the sensors. It is used in many electronic appliances like washing
machine, microwave oven, timer, etc. In these equipment, the process is predefined, it may need
some inputs from user to give predefine output. Let say washing machine, once the user sets the
input parameters, it wash the clothes according to input parameter. So, the basic task (washing
the clothes) for the washing machine is fixed. You cannot do anything else from the washing
machine.

Structure of Microprocessor and Microcontroller


The microprocessor is used in the very intensive processes. It only
contains a CPU (central processing unit) but there are many other
parts needed to work with the CPU to complete a process. These
all other parts are connected externally. The microprocessor chip
is not containing all these parts internally. The number of external
parts and the size of the external parts depends on the application.
Generally, it connected with memory elements like RAM and
ROM, I/O ports, timers, serial interface, etc. The advantage of the
microprocessor is that it has a flexible structure. It means you can
decide the size of RAM, ROM, number of I/O ports and can modify
all the things which are connected externally according to the application.
Microcontrollers are used to do the same
assigned task repeatedly. Hence, the
number of I/O ports and the amount of
memory required is less compared to the
microprocessor. As told earlier, in
microcontroller external parts are
integrated with CPU in a single chip and
because of this integrated structure the
overall size of the microcontroller is
smaller compared to the microprocessor.
In microcontroller you cannot modify the size of RAM, ROM and other components. Once a
controller is designed the structure is fixed. So, the structure of the microcontroller is not flexible.

Summary of Difference between Microprocessor and Microcontroller

Microprocessor Microcontroller

Application It used where intensive processing It used where the task is fixed and
is required. It is used in personal predefined. It is used in the washing
computers, laptops, mobiles, video machine, alarm, etc.
games, etc.
Structure It has only the CPU in the chip. CPU, Memory, I/O port and all other
Other devices like I/O port, devices are connected on the single
memory, timer is connected chip.
externally. The structure is fixed. Once it is
The structure of the microprocessor designed the user cannot change the
is flexible. Users can decide the peripheral devices.
amount of memory, the number of
I/O port and other peripheral
devices.
Clock speed The clock speed of the The clock speed of the
microprocessor is high. It is in terms microcontroller is less. It is in terms
of the GHz. It ranges between 1 of the MHz. it ranges between 1 MHz
GHz to 4 GHz. to 300 MHz.
RAM The volatile memory (RAM) for the The volatile memory (RAM) for the
microprocessor is in the range of microcontroller is in the range of 2
the 512 MB to 32 GB. KB to 256 KB.
ROM The hard disk (ROM) for the The hard drive or flash memory
microprocessor is in the range of (ROM) is in the range of the 32 KB to
the 128 GB to 2 TB. 2 MB.
Peripheral The common peripheral interface The common peripheral interface for
interface for the microprocessor is USB, the microcontroller is I2C, SPI, and
UART, and high-speed Ethernet. UART.
Programming The program for the The program for the microcontroller
microprocessor can be changed for is fixed once it is designed.
different applications. The
programming of the
microprocessor is difficult
compared to the microcontroller.
Bit size It is available in 32-Bit and 64-bit. It is available in 8-bit, 16-bit, and 36-
bit.
Cost The cost of the microprocessor is It is cheaper.
high compared to the
microcontroller.
Power The power consumption for the The power consumption for the
consumption microprocessor is high. microcontroller is less.
Size The overall size of the system is The overall size of the system is
large. small.

Types of Microcontroller

PIC Microcontroller
PIC Stands for Peripheral Interface Controller is a kind of
microcontroller components was used in the development of
electronics, computer robotics, and similar devices. Even though
the PIC was produced by Microchip technology and based on
hardware computing architecture, here the code and data are
placed in separate registers to increase the input and output. Pic
has a built-in data memory, data bus and dedicated
microprocessor for preparing all I/O purposes and methods.

ARM Microcontroller
ARM stands for Advanced RISC Machine. It’s the most popular
Microcontrollers Programming in the digital embedded system
world, and most of the industries prefer only ARM microcontrollers
since it consists of significant features to implement products with
an excellent appearance. It is cost sensitive and high-performance
device which has been used in a wide range of application such as
Industrial Instrument control systems, wireless networking and
sensors, and automotive body systems, etc.

8051 Microcontroller
Intel created 8051 microcontrollers in 1981. It is an 8bit
microcontroller. It’s made with 40 pins DIP (Dual inline package),
4kb if ROM storage and 128 bytes of RAM storage, 2 16 bit timer. It
consists of are four parallel 8 bit ports, which are programmable as
well as addressable as per the specification.
AVR Microcontroller
AVR stands for Alf and Vegard's RISC Processor. It was the modified
Harvard architecture machine, where program and data were
stored in the separate physical memory system that appears in
different address spaces, but having the ability to browse
information things from program memory victimization particular
directions. AVR isn't associate degree signifier and doesn't
symbolize something specially.

MSP Microcontroller
MSP stands for Mixed Signal Processor. It’s the family from Texas
Instruments. Built around a 16 -bit CPU, the MSP is designed for
low cost and respectively, low power dissipation embedded
statements. It’s the controller's appearance is directly related to
the 16-bit data bus, and seven addressing modes and the
decreased instructions set, which allows a shorter, denser
programming code for fast performance.

The Range of Microcontroller is an IC chip that executes programs for controlling other device or
machines. It is a micro-device which is used for control of other device machines that’s why it’s
called Microcontrollers Programming.

Arduino Microcontroller
Arduino is a project, open-source hardware, and software platform
used to design and build electronic devices. It designs and
manufactures microcontroller kits and single-board interfaces for
building electronics projects.

The Arduino boards were initially created to help the students with
the non-technical background.

The designs of Arduino boards use a variety of controllers and microprocessors.

The Arduino board consists of sets of analog and digital I/O (Input / Output) pins, which are
further interfaced to breadboard, expansion boards, and other circuits. Such boards feature the
model, Universal Serial Bus (USB), and serial communication interfaces, which are used for
loading programs from the computers.

It also provides an IDE (Integrated Development Environment) project, which is based on the
Processing Language to upload the code to the physical board.

The projects are authorized under the GPL and LGPL. The GPL is named as GNU General Public
License. The licensed LGPL is named as GNU Lesser General Public License. It allows the use of
Arduino boards, it's software distribution, and can be manufactured by anyone.
The Arduino is used for various purposes, such as:

 Finger button
 Button for motor activation
 Light as a sensors
 LED button
 Designing
 The Building of electronic devices

What is Arduino?
Arduino is a software as well as hardware platform that helps in making electronic projects. It is
an open source platform and has a variety of controllers and microprocessors. There are
various types of Arduino boards used for various purposes.

The Arduino is a single circuit board, which consists of different interfaces or parts. The board
consists of the set of digital and analog pins that are used to connect various devices and
components, which we want to use for the functioning of the electronic devices.

Most of the Arduino consists of 14 digital I/O pins.

The analog pins in Arduino are mostly useful for fine-grained control. The pins in the Arduino
board are arranged in a specific pattern. The other devices on the Arduino board are USB port,
small components (voltage regulator or oscillator), microcontroller, power connector, etc.

Features
The features of Arduino are listed below:
 Arduino programming is a simplified version of C++, which makes the learning process
easy.
 The Arduino IDE is used to control the functions of boards. It further sends the set of
specifications to the microcontroller.
 Arduino does not need an extra board or piece to load new code.
 Arduino can read analog and digital input signals.
 The hardware and software platform is easy to use and implement.

History
The project began in the Interaction Design Institute in Ivrea, Italy. Under the supervision of
Casey Reas and Massimo Banzi, the Hernando Bar in 2003 created the Wiring (a development
platform). It was considered as the master thesis project at IDII. The Wiring platform includes
the PCB (Printed Circuit Board). The PCB is operated with the ATmega168 Microcontroller.

The ATmega168 Microcontroller was an IDE. It was based on the library and processing functions,
which are used to easily program the microcontroller.
In 2005, Massimo Banzi, David Cuartielles, David Mellis, and another IDII student supported the
ATmega168 to the Wiring platform. They further named the project as Arduino.

The project of Arduino was started in 2005 for students in Ivrea, Italy. It aimed to provide an easy
and low-cost method for hobbyists and professionals to interact with the environment using the
actuators and the sensors. The beginner devices were simple motion detectors, robots, and
thermostats.

In mid-2011, the estimated production of Arduino commercially was 300,000. In 2013, the
Arduino boards in use were about 700,000.

Around April 2017, Massimo Banzi introduced the foundation of Arduino as the "new beginning
for Arduino". In July 2017, Musto continued to pull many Open Source licenses and the code from
the websites of the Arduino. In October 2017, Arduino introduced its collaboration with the ARM
Holdings. The Arduino continues to work with architectures and technology vendors.

Arduino Download
The Arduino software (IDE) is open-source software. We are required to write the code and
upload the code to the board to perform some task.

The Arduino IDE software can be used with any type of Arduino boards. The software is available
for various operating system such as, Windows, Linux, and Mac OS X.

The steps to download the Arduino software are listed below:

1. Go to the official website of Arduino (https://www.arduino.cc/) > Click on SOFTWARE < click
on DOWNLOADS, as shown below:

Or

Open the URL https://www.arduino.cc/en/Main/Software


Assessment/Activity

Learning Activity

Instructions: Write your answer on the template (Template.docx) provided.

1. Further discuss each component in the diagram below:

2. Differentiate Computer from Embedded device by completing the table below.

No. Category Computer Embedded device


1 Description
2 Human Interaction
3 Types based on
architecture
4 Parts
5 Tasks
6 Cost to user
7 Peripherals
8 Purpose
9 Power Consumption
1. Complexity
11 Need of another device
12 Usage Difficulty
13 User Interfaces
14 Time Specificity
15 Size
16 Developed in
17 Developer
18 Memory Requirement

3. Give at least three (3) examples and discuss each classification of Embedded Systems:
a. Real-Time b. Stand Alone
c. Networked d. Mobile

You might also like