COMPLEX SYSTEMS AND MICROPROCESSORS
What is
an embedded
computer system? Loosely defined, it is any device that includes a
programmable computer but is not itself intended to be a general-purpose
computer. Thus, a PC is not itself an embedded computing system, although PCs
are often used to build embedded computing systems. But a fax machine or a
clock built from a microprocessor is an embedded computing system.
This
means that embedded computing system design is a useful skill for many types of
product design. Automobiles, cell phones, and even household appliances make
extensive use of microprocessors. Designers in many fields must be able to
identify where microprocessors can be used, design a hardware platform with I/O
devices that can support the required tasks, and implement software that
performs the required processing.
Computer
engineering, like mechanical design or thermodynamics, is a fundamental
discipline that can be applied in many different domains. But of course,
embedded computing system design does not stand alone.
Many of
the challenges encountered in the design of an embedded computing system are
not computer engineering—for example,they may be mechanical or analog
electrical problems. In this book we are primarily interested in the embedded
computer itself, so we will concentrate on the hardware and software that
enable the desired functions in the final product.
Embedding
Computers
Computers
have been embedded into applications since the earliest days of computing. One
example is the Whirlwind, a computer designed at MIT in the late 1940s and
early 1950s. Whirlwind was also the first computer designed to support real-time
operation and was originally conceived as a mechanism for controlling an
aircraft simulator.
Even
though it was extremely large physically compared to today’s computers (e.g.,
it contained over 4,000 vacuum tubes), its complete design from components to
system was attuned to the needs of real-time embedded computing.
The
utility of computers in replacing mechanical or human controllers was evident
from the very beginning of the computer era—for example, computers were
proposed to control chemical processes in the late 1940s.
A
microprocessor is a single-chip CPU. Very large scale integration (VLSI) stet
the acronym is the name technology has allowed us to put a complete CPU on a
single chip since 1970s, but those CPUs were very simple.
The first
microprocessor, the Intel 4004, was designed for an embedded application,
namely, a calculator. The calculator was not a general-purpose computer—it
merely provided basic arithmetic functions. However, Ted Hoff of Intel realized
that a general-purpose computer programmed properly could implement the
required function, and that the computer-on-a-chip could then be reprogrammed
for use in other products as well.
Since
integrated circuit design was (and still is) an expensive and time consuming
process, the ability to reuse the hardware design by changing the software was
a key breakthrough.
The HP-35
was the first handheld calculator to perform transcendental functions [Whi72].
It was introduced in 1972, so it used several chips to implement the CPU,
rather than a single-chip microprocessor.
However,
the ability to write programs to perform math rather than having to design
digital circuits to perform operations like trigonometric functions was
critical to the successful design of the calculator.
Automobile
designers started making use of the microprocessor soon after single-chip CPUs
became available.
The most
important and sophisticated use of microprocessors in automobiles was to
control the engine: determining when spark plugs fire, controlling the fuel/air
mixture, and so on. There was a trend toward electronics in automobiles in
general—electronic devices could be used to replace the mechanical distributor.
But the
big push toward microprocessor-based engine control came from two nearly
simultaneous developments: The oil shock of the 1970s caused consumers to place
much higher value on fuel economy, and fears of pollution resulted in laws
restricting automobile engine emissions.
The
combination of low fuel consumption and low emissions is very difficult to
achieve; to meet these goals without compromising engine performance,
automobile manufacturers turned to sophisticated control algorithms that could
be implemented only with microprocessors.
Microprocessors
come in many different levels of sophistication; they are usually classified by
their word size. An 8-bit microcontroller is designed for
low-cost applications and includes on-board memory and I/O devices; a 16-bit
microcontroller is often used for more sophisticated applications that may
require either longer word lengths or off-chip I/O and memory; and a 32-bit RISC
microprocessor offers very high performance for computation-intensive
applications.
Given the
wide variety of microprocessor types available, it should be no surprise that
microprocessors are used in many ways. There are many household uses of microprocessors.
The typical microwave oven has at least one microprocessor to control oven
operation.
Many
houses have advanced thermostat systems, which change the temperature level at
various times during the day. The modern camera is a prime example of the
powerful features that can be added under microprocessor control.
Digital
television makes extensive use of embedded processors. In some cases,
specialized CPUs are designed to execute important algorithms—an example is the
CPU designed for audio processing in the SGS Thomson chip set for DirecTV
[Lie98]. This processor is designed to efficiently implement programs for
digital audio decoding.
A
programmable CPU was used rather than a hardwired unit for two reasons: First,
it made the system easier to design and debug; and second, it allowed the
possibility of upgrades and using the CPU for other purposes.
A
high-end automobile may have 100 microprocessors, but even inexpensive cars
today use 40 microprocessors. Some of these microprocessors do very simple
things such as detect whether seat belts are in use. Others control critical
functions such as the ignition and braking systems.
BMW 850i brake and stability
control system:
The BMW
850i was introduced with a sophisticated system for controlling the wheels of
the car. An antilock brake system (ABS) reduces skidding by pumping the brakes.
An
automatic stability control (ASC +T) system intervenes with the engine during
maneuvering to improve the car’s stability. These systems actively control
critical systems of the car; as control systems, they require inputs from and
output to the automobile.
Let’s
first look at the ABS. The purpose of an ABS is to temporarily release the
brake on a wheel when it rotates too slowly—when a wheel stops turning, the car
starts skidding and becomes hard to control. It sits between the hydraulic
pump, which provides power to the brakes, and the brakes themselves as seen in
the following diagram. This hookup allows the ABS system to modulate the brakes
in order to keep the wheels from locking.
The ABS
system uses sensors on each wheel to measure the speed of the wheel. The wheel
speeds are used by the ABS system to determine how to vary the hydraulic fluid
pressure to prevent the wheels from skidding.
T he ASC + T system’s job is to
control the engine power and the brake to improve the car’s stability during
maneuvers.
The ASC+T
controls four different systems: throttle, ignition timing, differential brake,
and (on automatic transmission cars) gear shifting.
The ASC +
T can be turned off by the driver, which can be important when operating with
tire snow chains.
The ABS
and ASC+ T must clearly communicate because the ASC + T interacts with the
brake system. Since the ABS was introduced several years earlier than the ASC +
T, it was important to be able to interface ASC + T to the existing ABS module,
as well as to other existing electronic modules.
The
engine and control management units include the electronically controlled
throttle, digital engine management, and electronic transmission control. The
ASC + T control unit has two microprocessors on two printed circuit boards, one
of which concentrates on logic-relevant components and the other on
performance-specific components.
Characteristics of Embedded Computing
Applications
Embedded
computing is in many ways much more demanding than the sort of programs that
you may have written for PCs or workstations. Functionality is important in
both general-purpose computing and embedded computing, but embedded
applications must meet many other constraints as well.
On the
one hand, embedded computing systems have to provide sophisticated
functionality:
Complex algorithms: The
operations performed by the microprocessor may be very sophisticated. For example, the microprocessor that
controls an automobile engine must perform complicated filtering functions to
optimize the performance of the car while minimizing pollution and fuel
utilization.
User interface: Microprocessors are frequently
used to control complex user interfaces that may include multiple menus and many options. The moving maps in Global
Positioning System (GPS) navigation are good examples of sophisticated user
interfaces.
To make
things more difficult, embedded computing operations must often be performed to
meet deadlines:
Real time: Many embedded computing systems
have to perform in real time— if the
data is not ready by a certain
deadline, the system breaks. In some cases, failure to meet a deadline is
unsafe and can even endanger lives. In other cases, missing a deadline does not
create safety problems but does create unhappy customers—missed deadlines in
printers, for example, can result in scrambled pages.
Multirate: Not only must operations be
completed by deadlines, but many embedded computing systems have several real-time activities going on at the same
time. They may simultaneously control some operations that run at slow rates
and others that run at high rates. Multimedia applications are prime examples
of multirate
behavior. The audio and video portions of a multimedia stream run at very
different rates, but they must remain closely synchronized. Failure to meet a
deadline on either the audio or video portions spoils the perception of the
entire presentation.
Costs of
various sorts are also very important:
Manufacturing cost: The total
cost of building the system is very important in many cases. Manufacturing cost is determined by
many factors, including the type of microprocessor used, the amount of memory
required, and the types of I/O devices.
Power and energy: Power
consumption directly affects the cost of the hardware, since a larger power supply may be necessary. Energy
consumption affects battery life, which is important in many applications, as
well as heat consumption, which can be important even in desktop applications.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2026 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.