Professional Documents
Culture Documents
There are many definitions for this but the best way to
define it is to describe it in terms of what it is not and with examples
of how it is used.
An embedded system is a microprocessor-based system
that is built to control a function or range of functions and is not
designed to be programmed by the end user in the same way that
a PC is. Yes, a user can make choices concerning functionality but
cannot change the functionality of the system by adding/replacing software. With a PC, this is exactly what a user can do: one
minute the PC is a word processor and the next it s a games
machine simply by changing the software. An embedded system
is designed to perform one particular task albeit with choices and
different options. The last point is important because it differentiates itself from the world of the PC where the end user does
reprogram it whenever a different software package is bought and
run. However, PCs have provided an easily accessible source of
hardware and software for embedded systems and it should be no
surprise that they form the basis of many embedded systems. To
reflect this, a very detailed design example is included at the end
of this book that uses a PC in this way to build a sophisticated data
logging system for a race car.
If this need to control the physical world is so great, what is
so special about embedded systems that has led to the widespread
use of microprocessors? There are several major reasons and these
have increased over the years as the technology has progressed
and developed.
Embedded Systems or Electronics systems
that include an application Specific
Integrated Circuit or a Microcontroller to
perform a specific dedicated application.
Embedded System is pre-programmed to do
a specific function while a general purpose
system could be used to run any program of
your choice. Further, the Embedded
Processor Is only one component of the
electronic system of which it is the part. It is
cooperating with the rest of the components
to achieve the overall function
input into the first stage of the pipeline, the second stage processes
it before the third stage outputs data.
If this model is then applied to a motor controller, the inputs
would be the motor s actual speed and power consumption, and
the speed required by the operator. The outputs would be a pulse
width modulated waveform that controls the power to the motor
and hence the speed and an output to a control panel showing the
current speed. The middle stage would be the software that
processed the inputs and adjusts the outputs to achieve the required engine speed. The main types of peripherals that are used
include:
Binary outputs
These are simple external pins whose logic state can be
controlled by the processor to either be a logic zero (off) or
a logic one (on). They can be used individually or grouped
together to create parallel ports where a group of bits can be
input or output simultaneously.
Serial outputs
These are interfaces that send or receive data using one or
two pins in a serial mode. They are less complex to connect
but are more complicated to program. A parallel port looks
very similar to a memory location and is easier to visualise
and thus use. A serial port has to have data loaded into a
register and then a start command issued. The data may
also be augmented with additional information as required
by the protocol.
Analogue values
While processors operate in the digital domain, the natural
world does not and tends to orientate to analogue values.
As a result, interfaces between the system and the external
environment need to be converted from analogue to digital
and vice versa.
Displays
Displays are becoming important and can vary from simple
LEDs and seven segment displays to small alpha-numeric
LCD panels.
Time derived outputs
Timers and counters are probably the most commonly used
functions within an embedded system.
Software
The software components within an embedded system
often encompasses the technology that adds value to the system
and defines what it does and how well it does it. The software can
consist of several different components:
Initialisation and configuration
Operating system or run-time environment
The applications software itself
Error handling
Debug and maintenance support.
Algorithms
Algorithms are the key constituents of the software that
makes an embedded system behave in the way that it does. They
can range from mathematical processing through to models of the
3. Microcontroller
Microcontrollers can be considered as self-contained systems with a processor, memory and peripherals so that in many
cases all that is needed to use them within an embedded system is
to add software. The processors are usually based on 8 bit stackbased architectures such as the MC6800 family. There are 4 bit
versions available such as the National COP series which further
reduce the processing power and reduce cost even further. These
are limited in their functionality but their low cost has meant that
they are used in many obscure applications. Microcontrollers are
usually available in several forms:
Devices for prototyping or low volume production runs
These devices use non-volatile memory to allow the software to be downloaded and returned in the device. UV
erasable EPROM used to be the favourite but EEPROM is
also gaining favour. Some microcontrollers used a special
package with a piggyback socket on top of the package to
allow an external EPROM to be plugged in for prototyping.
This memory technology replaces the ROM on the chip
allowing software to be downloaded and debugged. The
device can be reprogrammed as needed until the software
reaches its final release version.
The use of non-volatile memory also makes these devices
suitable for low volume production runs or where the
software may need customisation and thus preventing
moving to a ROMed version.
These devices are sometimes referred to as umbrella devices with a single device capable of providing prototyping
support for a range of other controllers in the family.
Devices for low to medium volume production runs
In the mid-1980s, a derivative of the prototype device
appeared on the market called the one time programmable
or OTP. These devices use EPROM instead of the ROM but
instead of using the ceramic package with a window to
allow the device to be erased, it was packaged in a cheaper
plastic pack and thus was only capable of programming a
single time
hence the name. These devices are cheaper
than the prototype versions but still have the programming
disadvantage. However, their lower cost has made them a
suitable alternative to producing a ROM device. For low to
medium production quantities, they are cost effective and