This document provides an overview of embedded systems. It defines an embedded system as a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time constraints. The document then discusses the history of embedded systems, their key characteristics including being special-purpose, tightly constrained, and reactive in real-time. It also covers the typical architecture of embedded systems including the use of real-time operating systems. A wide range of applications are presented, from devices like air conditioners and phones to the Lego Mindstorms NXT kit.
5. An embedded system is a special-purpose
computer system designed to perform one or
a few dedicated functions, often with real-time
computing constraints. It is usually embedded
as part of a complete device including
hardware and mechanical parts. In contrast, a
general-purpose computer, such as a
personal computer, can do many different
tasks depending on programming. Embedded
systems control many of the common devices
in use today.
-- Wikipedia
6. Definition
Hard to define
Computing systems embedded within
electronic devices
Nearly any computing system other than a
desktop computer
7. Examples
Air conditioner
ATM machine
Battery charger
Digital camera
DVD player
Fax machine
Home security system
Mobile phone
Modem
Navigation system
PDA
Photocopier
Printer
Router
Scanner
TV
Video game console
Wearable computer
12. History
In the earliest years of
computers in 1930 – 40s,
computers were
sometimes dedicated to a
single purpose task.
One of the first
recognizably modern
embedded system was
the
Apollo Guidance Computer
, developed by
Charles Stark Draper at
the MIT Instrumentation
Laboratory.
13. History
Since these early applications
in the 1960s, embedded
systems have come down in
price and there has been a
dramatic rise in processing
power and functionality. The
first microprocessor for
example, the Intel 4004 was
designed for calculators and
other small systems but still
required many external
memory and support chips.
14. History
By the mid-1980s, most of the
common previously external
system components had been
integrated into the same chip
as the processor and this
modern form of the
microcontroller allowed an
even more widespread use,
which by the end of the
decade were the norm rather
than the exception for almost
all electronics devices.
18. Characteristics (3/4)
Reactive and realtime
Reactive:
Continually
reacts to external
events
Real-time: Must
compute certain
results in real-time
19. Characteristics (4/4)
Hardware and
software co-exist
The
software written
for embedded systems
is often called
firmware
Is stored in read-only
memory or Flash
memory chips rather
than a disk drive
21. Differences from usual
computer programs
Several components of
vastly different functionalities
are found in embedded
system software
Response time constraint
and strict deadlines
All components must use the
memory optimally
22. Differences from usual computer
programs
Each software
component execution
speed must be optimum
Software must have
controlled complexity and
must be thoroughly
tested and debugged for
errors
23. Architecture
Real-time programming:
programming the processes or instruction set with
constraints of time for its response, process with
latencies, and process with deadlines.
Procedure-oriented C and object-oriented
programming C++ and Java languages are used in
most embedded systems programming.
Embedded programming is such that methods to
optimize the system memory requirements are also
used.
24. Real-Time Operating System
An RTOS is an OS for response time-controlled and eventcontrolled processes. It is very essential for large scale
embedded systems.
25. Real-Time Operating System
Function
1. Basic OS function
2. RTOS main functions
3. Time Management
4. Predictability
5. Priorities Management
6. IPC Synchronisation
7. Time slicing
8. Hard and soft real-time operability
When do we need RTOS?
26. When is RTOS necessary?
Software for a large number of small-scale embedded
system use no RTOS and these functions are
incorporated into the application software.
For small-scaled systems, RTOS’s function can be
replaced by C.
For example, instead of the memory allocation and deallocation functions of RTOS, the C function , melloc and
free can be used.
Software can directly handle inter-process
communication
27. When is RTOS necessary?
However, RTOS is essential when…
A common and effective way of handling of the hardware
source calls from the interrupts
I/O management with devices, files, mailboxes becomes
simple using an RTOS
Effectively scheduling and running and blocking of the
tasks in cases of many tasks
More…..
In conclusion, an RTOS may not be necessary in a
small-scaled embedded system. An RTOS is necessary
when scheduling of multiple processes and devices is
important.
28. CPU Platforms
Different from desktop computer
CPU Architectures: 65816, 65C02,
68HC08, 68HC11, 68k, 8051, ARM, AVR,
Blackfin, C167, Coldfire, COP8, eZ8,
eZ80, FR-V, H8, HT48, M16C, M32C,
MIPS, MSP430, PIC, PowerPC, R8C,
SHARC, ST6, SuperH, TLCS-47, TLCS870, TLCS-900, Tricore, V850, x86,
XE8000, Z80, etc.
29. Operating System
Usually there is no operating system
Embedded operating system: designed to
be very compact and efficient, forsaking
many functions that non-embedded
computer operating systems provide
31. System on chip (SoC)
Integrating all components of a computer or
other electronic system into a single integrated
circuit (chip).
It may contain digital, analog, mixed-signal, and
often radio-frequency functions – all on one chip.
A typical application is in the area of embedded
systems.
SiP (System in Package)
32.
33. Software Development
The software development process can be
represented by lifecycle, also called a
waterfall or linear incremental model.
Analysis, design, implementation and
maintenance are four stages of this
model.
34. User Interface
Embedded systems range from
no user interface at all —
dedicated only to one task — to
full user interfaces similar to
desktop operating systems in
devices such as PDAs.
37. Applications
Lover’s Cup
Two cups are wireless
connected to each other
with sip sensors and LED
illumination. The Lover's
cups will glow when your
lover is drinking.
Lover's Cups can let you
share a drink remotely
with someone you care.
When both of you are
drinking, the glowing
Lover's Cups represents
a celebration of the
shared drinking moment.
40. Lego Mindstorms
Programmable Logic Device
Lego sets combining programmable bricks with
electric motors, sensors, Lego bricks, and Lego
Technic pieces (such as gears, axles, and
beams)
First released in 1998
Created by Lego and MIT Media Laboratory
41. Lego Mindstorms NXT Technical
specifications
32-bit ARM7 microcontroller
256 Kbytes FLASH, 64 Kbytes RAM
8-bit AVR microcontroller
4 Kbytes FLASH, 512 Byte RAM
Bluetooth wireless communication (Bluetooth Class II V2.0 compliant)
USB full speed port (12 Mbit/s)
4 input ports, 6-wire cable digital platform (One port includes a IEC 61158
Type 4/EN 50 170 compliant expansion port for future use)
3 output ports, 6-wire cable digital platform
100 x 64 pixel LCD graphical display
Loudspeaker - 8 kHz sound quality. Sound channel with 8-bit resolution and
2-16 KHz sample rate.
Power source: 6 AA batteries
42. Lego Mindstorms NXT features
The NXT
Touch Sensor, Sound Sensor, Light Sensor,
Ultrasonic Sensor
Servo motors
Bluetooth, USB
NXT Software
Gears, axles, and beams
Lego bricks