0% found this document useful (0 votes)
10 views34 pages

L1,2 - Introduction To Embedded Systems

Uploaded by

dealershub8153
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
10 views34 pages

L1,2 - Introduction To Embedded Systems

Uploaded by

dealershub8153
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 34

Introduction to Embedded

Systems
Objectives
⚫Understand the purpose and categories of
embedded systems

⚫Understand the embedded system hardware


and software

⚫Characteristics of Embedded System

⚫Overall Hardware Architecture


Overview
An embedded system is a microprocessor-based
computer hardware system with software that is designed
to perform a dedicated function, either as an independent
system or as a part of a large system. It is designed to carry
out computation for real-time operations.

An embedded system consists of its hardware and


software. The hardware includes microprocessor or
microcontroller with additional attached external memory,
I/O, and other components such as sensors, keypad, LEDs,
LCDs, and any kind of actuators.
Embedded software is computer software, written to
control machines or devices that are commonly known as
embedded systems. It is typically specialized for the
particular hardware that it runs on it and has time and
memory constraints. The embedded software is the driving
force of an embedded system.
Most real-time embedded system software have
specific application programs supported by Real Time
Operating System (RTOS).

Examples of the real-time operating systems: Airline


traffic control systems, Command Control Systems,
Airlines reservation system, Heart Pacemaker, Network
Multimedia Systems, Robot, process control systems, and
autonomous driving systems.
The embedded software is usually called firmware
because this type software is loaded to ROM, EPROM, or
Flash memory and once it is loaded, it will never be
changed unless it needs to be reloaded for replacement.
The embedded systems are only used to repeatedly
carry particular designated function.
For a general-purpose computer you can install any
software to do all kinds of jobs such as word processing,
database management, and others depending on your
purposes.
Categories of Embedded Systems

1. Stand-alone embedded systems


A stand-alone embedded system works
alone itself. They do not rely on a host system like a
processor or a computer to perform tasks. It takes
either digital or analog inputs from its input ports,
adjust, converts, and processes the data, and outputs
the result data to its attached output device for
displays or controls and drives the attached devices.
The entertainment devices of video game
console, MP3, digital camera, Washing machines, and
microwave are such typical systems that fall into this
category.
2. Real-time embedded systems
A system is said to be real-time if the response time is
critical. In other word, some particular work must be done in
a specified time period. Real-time embedded systems are
designed to carry out specific tasks within a predefined time
limit. There are two type real-time embedded systems: hard
real-time and soft real-time embedded systems.

i. Hard real-time systems.


For a hard or immediate real-time system, the completion of
an operation after its deadline may lead to a critical failure
and result in life, loss and property damage. The response
time deadline for such system is very critical (in milliseconds
or even shorter). You can even find hard real-time
embedded system in your daily life.
For example: A car airbag control system is a hard real-time
system because a delayed reaction may cause driver’s life and
the delay response in heart pacemakers will also lead to a
severe result. It is very important for such system to react to an
event within a strict deadline and missing a deadline will
constitute failure of the system.
Hardware and software of hard real-time systems must
allow a worst case execution analysis that guarantees the
execution be completed within a strict deadline.

ii Soft real-time system


In some other embedded system, there is response deadline
but the lateness can be tolerated to some degrees. The violation
of time constraints will result in degraded quality, but the
system can continue to operate. Microwave and washing
machine fall into this sub-category. Although there is a response
time deadline for any operation, the allowed delay can be
seconds rather than ms.
Actually, many real-time systems have both hard event and soft
events mixed.

3. Networked embedded systems


The networked embedded systems are connected to
network with network interfaces to be accessed or to access other
resources. The connected network can be Local Area Network
(LAN), Wide Area Network (WAN), or Internet.
The connection can be wired or wireless. You can
simply group the networked embedded systems into wired and
wireless sub-categories. But in many systems these two type
systems are merged together.
Contd…
A home security system is an example of LAN networked
embedded system where all sensors (e.g. motion detectors,
pressure sensors, light sensors, or smoke sensors) are wired and
running on the TCP/IP protocol. A home security system can be
integrated into a web based security system with additional web
camera running on HTTP protocol.

ATMs, Home security systems, Card swipe machines etc.

Although you classify all embedded systems into these


three major categories the division is not absolute. A sub-system
of a networked embedded system can be real-timed or no-real-
timed. A real-time system can be stand-alone or networked.
Contd…

The embedded system can also be classified into scale


categories.
Small scale embedded system supported by single 8-16
bit microprocessor or microcontroller with on-chip RAM and
ROM is designed to perform simple task;
Medium scale embedded system supported by a 16/32
bit microprocessor or microcontroller with external RAM and
ROM to perform more complex operations;
Large scale networked embedded system supported by
32-bit or 64-bit multiple chips which conduct distributed jobs.
A short list of embedded systems applications.

Home Appliances Dishwasher, washing machine, microwave, Top-set box, security


system, HVAC system, DVD, answering machine, garden sprinkler
system
Office Automation Fax, copy machine, smart phone system, modern, scanner, printer
Security Face recognition, finger recognition, eye recognition, building
security system, airport security system, alarm system
Academia Smart board, smart room, OCR, calculator, smart cord
Instrumentation Signal generator, signal processor, power supplier
Telecommunication Router, hub, cellular phone, IP phone, web camera
Automotive Fuel injection controller, anti-locking brake system, air-bag system,
GPS, cruise control
Entertainment MP3, video game, MindStorm, smart toy
Aerospace Navigation system, automatic landing system, flight attitude
controller, space explorer, space robotics
Industrial Assembly line, data collection system, monitoring systems on
automation pressure, voltage, current, temperature, hazard detecting system,
industrial robot
Personal PDA, iPhone, palmtop, data organizer
Medical equipment CT scanner, MRI, Glucose monitor, blood pressure monitor, medical
diagnostic device
Business ATM, smart vendor machine, cash register
automation
Misc. Elevator, tread mill
Examples of Embedded Systems
Characteristics of Embedded System
Design and development of embedded systems face a lot
of challenges. All embedded systems are dedicated to a common
specific goal and perform specific jobs. The lifetime of the
embedded system should be longer, e.g., more than 5 years.
For high-volume embedded systems, the System On Chip
(SoC)- is a microchip with all the necessary electronic circuits and
parts for a given system.
Application-Specific Integrated Circuit (ASIC- is a kind of
integrated circuit that is specially built for a specific application -
have improved speed, smaller, less power), Field-Programming
Gate Array-IC (FPGA- can be programmed or reprogrammed to
the required functionality or application after manufacturing.) can
be solutions.
Reliability is a very important character for embedded
systems. Many systems work in critical and life-threatening
environment where system reliability is crucial.
Embedded systems are often embedded in machines that are
expected to run continuously for years without faults, and tolerate
the errors by themselves if an error occurs. Therefore the software is
usually developed and tested more thoroughly than that for personal
computers. Most embedded systems cannot be shut down for
maintenance, or it is very difficult to repair, such as aerospace
systems. Some system will lose large amounts of money when shut
down.
Telephone switches, factory controls, bridge and elevator
controls, funds transfer and market making, automated sales and
service.
The constraints(limitation) of embedded system are also the
challenges for the system design and development.
o Resource constraint: Embedded systems are constrained for their
size, power capacity (may be battery operated), limited memory
capacity(especially RAM size), CPU speed and function capacity
o Time constraints: Real-time system has response time deadline to
meet.
o Environment constraint: extreme operation condition such as high or
low temperature, high pressure, high humidity, under water, under
collision, etc.
o Cost Constraint: Cost reduction of products has huge impact on the
market competition because the large volume of products for high
volume systems such as MP3 players or mobile, minimizing cost is
usually the primary design consideration. The selected hardware
should be just “good enough” to cover the necessary functions.
o Time to market constraint: Design and development cycle is very
limited in order to beat the competent in the market.
Contd…

• Wide variety of chips for selection


• Many RTOS selections available, even the selection of using
RTOS or not
• Language selections on high level or assembly
• Many I/O accessories components selections
• Programming on direct port operations
• Programming with multi-tasking and multi-threading execution
• Must use cross compiler and development tools
• Need emulator to provide simulation of all aspects of the
hardware and allow debugging on a normal PC.
• Need special emulation tools to debug
• Testing on Multitasking and scheduling execution
• Testing on the real world environment because embedded
software is embedded into devices.
Overall Hardware Architecture
Every embedded system consists of customer built hardware
components supported by a Central Processing Unit (CPU) which is the
heart of microprocessor(μP) or microcontroller(μC).
A microprocessor is a stand-alone CPU chip, memory and I/O
ports can be custom designed and expanded. There is no on-chip
memory and ports at all.
A microcontroller is an integrated chip which comes with built-
in memory, I/O ports, timers, and other components. Most embedded
systems are built on microcontrollers which run faster than custom
built system with microprocessor because all components are
integrated within a single chip. There is a wide variety of
microprocessors and microcontroller available. Figure 1.2 shows a list
of microprocessors.
In addition to CPU, a microcontroller typically includes small
amounts of RAM, PROM, timers, and I/O ports. All of them are
connected by the buses The two popular microcontrollers used for
embedded systems
Figure 1.2 A list of microprocessors and their
MIPS/MHz.
Microprocessor CPU MIPS at MHz year released
Intel 8080 640 kIPS / 2 MHz 003201974
Motorola 68000 1 MIPS / 8 MHz 00125 1979
Intel 286 2.66 MIPS / 12 MHz 1982
Motorola 68020 4 MIPS / 20 MHz 00200 1984
ARM2 4 MIPS / 8 MHz 1986
Motorola 68030 11 MIPS / 33 MHz 00330 1987
Intel 386DX 8.5 MIPS / 25 MHz 1988
Motorola 68040 44 MIPS / 40 MHz 01100 1990
Intel 486DX 54 MIPS / 66 MHz 00818 1992
PowerPC 600s (G2) 35 MIPS / 33 MHz 01060 1994
Motorola 68060 88 MIPS / 66 MHz 01330 1994
Intel Pentium Pro 541 MIPS / 200 MHz 02705 1996
ARM 7500FE 35.9 MIPS / 40 MHz 00897 1996
PowerPC G3 0005250 525 MIPS / 233 MHz 02253 1997

Zilog eZ80 80 MIPS / 50 MHz 01600 1999

Intel Pentium III 1,354 MIPS / 500 MHz 1999


AMD Athlon 3,561 MIPS / 1.2 MHZ 2000

AMD Athlon XP 2400+ 5,935 MIPS / 2.0 GHz 02967 2002

Pentium 4 Extreme 9,726 MIPS / 3.2 GHz 03039 2003

AMD Athlon 64 3800+ X2 (Dual Core) 14,564 MIPS / 2.0 GHz 07282 2005

Intel Core 2 X6800 27,079 MIPS / 2.93 GHz 09242 2006

Intel Core 2 Extreme QX9770 0594550 59,455 MIPS / 3.2 GHz 18580 2008
Figure 1.3 Block Diagram of 68HC11 Microcontroller
Figure 1.4 The Block Diagram of 8051 Microcontroller
Intel 8051 and Motorola 68HC11 are shown in the block
diagrams.

The Intel 80C51(CMOS) microcontroller has a 8 bit


microprocessor running at 1 MIPS/12 MHz frequency with small on-
chip RAM of 128 bytes for data and 4K on-chip ROM for code. It is
integrated with 4 bi-directional I/O ports, and Universal Asynchronous
Receiver Transmitter(UART) for RS232 serial communication, two 16
bit counter/timers, It can support up to 64K external RAM and ROM.
Memory
Embedded system memory can come on-chip
or off-chip. For same type memory, on-chip memory access is
much fast than off-chip memory but the size of on-chip memory
is much smaller than the size of off-chip memory.

The 8051 memory is divided into Data Memory and


Code Memory. Most of the data are stored in Random Access
Memory (RAM) and code is stored in Read Only Memory ( ROM).
This is due to the RAM constraint of embedded system and the
memory organizations

RAM

The RAM size of microprocessor and microcontroller is


rather small (<256 bytes in most cases). In order to access any byte
in a 256 bytes memory space, we need 8 address lines(internal
address bus) because 28 = 256.
RAM(Contd)

The small amount of automatic variable data ( local


variables of functions, interrupt service routine, stacks) are
stored on the on-chip RAM for fast and frequent access and
update while the large amount temporary data (array,
table) can be stored in off-chip RAM.
The RAM chip can be SRAM (static) or
DRAM(dynamic) depending on the manufacture. SRAM is
faster than DRAM but is more expensive.
ROM
The ROM, EPROM, and Flash memory are all read
only type memory used to store code in embedded
system. The embedded system code does not change
after the code is loaded into memory. The ROM is
programmed at the factory and can not be changed over
time. The newer microcontroller comes with EPROM or
Flash instead of ROM.
Most of microcontroller development kits come
with EPROM as well. EPROM and Flash memory are easier
to rewrite than ROM. EPROM is a Erasable Programmable
ROM in which the contents can be field programmed by a
special burner and can be erased by a UV light bulb. The
size of EPROM ranges up to 32kb in most embedded
systems.
ROM (Contd)

Flash memory is a long-life and non-volatile


storage chip that is widely used in embedded systems.
It can keep stored data and information even when
the power is off. It can be electrically erased and
reprogrammed. Flash memory was developed from
EEPROM (electronically erasable programmable read-
only memory).
All ROM type memory are non-volatile. This is
one of the reasons the embedded code firmware is
stored in ROM type memory.
The 8051 comes with 128 bytes RAM and 4k
ROM. The EPROM or Flash memory can be attached as
extended memory.
Bus
From the block diagram you can see all the CPU, memory, and
I/O ports are connected by the buses. There are three type buses: data
bus, address bus, and control bus. The bus is a pathway to connect all
the microcontroller components.
A 8-bit or 16-bit microcontroller has a 8 bits or 16 bits data bus
to deliver data from one component to another component within the
microcontroller.
The address bus is used to specify the memory location for CPU
to load instructions to be executed or to access data in the memory or
ports.
The control bus is used for CPU to control the operation in
sequence with the timing tick paces and specify the read/write memory
access operation.
I/O Ports
The I/O ports are used to connect input and output devices. The
common input devices for an embedded system include keypad, switch,
button, knob, all kinds of sensors (light, temperature, pressure, etc).

The output devices include Light Emitting Diode(LED), Liquid Crystal


display(LCD), printer, alarm, actuator, etc. Some devices support both
input and output such as communication interfaces including Network
Interface Card (NIC), modem, and mobile phone.

8051 has capability to perform parallel as well as serial


communication.
Parallel Port
A microcontroller is integrated with several parallel I/O ports
which are used to interface the microcontroller to outside devices such
as switches, LCD, keypad, and actuators. The parallel ports get or send 8
bits data at a time from/to connected outside devices. Many
microcontrollers have 4-8 ports, e.g., both the 8051 and 68HC11 have
four 8-bit I/O ports.

8051 includes an on-chip serial port that can operate in four


modes over a wide range of frequencies. Essential function of serial port
is to perform parallel-to-serial conversion for output data, and serial-to-
parallel conversion for input data.
Steps in the Embedded System Design Process

⚫The different steps in the embedded system design flow/flow diagram


include the following
⚫Abstraction

In this stage the problem related to the system is abstracted.


⚫Hardware – Software Architecture
Proper knowledge of hardware and software to be known before
starting any design process.
⚫Extra Functional Properties
Extra functions to be implemented are to be understood completely
from the main design.
⚫System Related Family of Design
When designing a system, one should refer to a previous system-
related family of design.
⚫Modular Design
Separate module designs must be made so that they can be used later
on when required.
⚫Mapping

Based on software mapping is done. For example, data flow and


program flow are mapped into one.
⚫User Interface Design
In user interface design it depends on user requirements,
environment analysis and function of the system. For example, on a mobile
phone if we want to reduce the power consumption of mobile phones we
take care of other parameters, so that power consumption can be reduced.
⚫Refinement

Every component and module must be refined appropriately so that


the software team can understand.
Architectural description language is used to describe the software
design.
Embedded System Design, Software Development Process Activities.There are
various design metric/Parameter required to design any system to function
properly

Design Parameters of an
Embedded System Function

Power Dissipation Always maintained low

Performance Should be high

Process Deadlines The process/task should be completed within a specified time.

Manufacturing Cost Should be maintained.

Engineering Cost It is the cost for the edit-test-debug of hardware and software.

Size Size is defined in terms of memory RAM/ROM/Flash Memory/Physical Memory.

Prototype It is the total time taken for developing a system and testing it.
System safety should be taken like phone locking, user safety like engine break
Safety
down safety measure must be taken
Proper maintenance of the system must be taken, in order to avoid system
Maintenance
failure.
It is the time taken for the product/system developed to be launched into the
Time to market
market.
Thanks

You might also like