Vous êtes sur la page 1sur 21

19CS7707 REAL TIME EMBEDDED SYSTEMS

OBJECTIVES

 Learn the architecture and programming of ARM


processor
 Be familiar with the embedded computing platform
design and analysis
 Be exposed to the basic concepts of real time Operating
system
 Learn the system design techniques and networks for
embedded systems.
 Apply the concepts in the real time scenario
What is an embedded system?

An embedded system is a combination of computer


hardware and software designed for a specific function.
Embedded systems may also function within a larger system.
The systems can be programmable or have a fixed
functionality.
Complex systems and micro processors

In order to understand design processes, we first


need to understand how and why microprocessors are
used for control, user interface, signal processing, and
many other tasks.
The microprocessor has become so common that
it is easy to forget how hard some things are to do
without it.
Complex systems and micro processors
laptop is a type of computer systems. A computer is a
stored program machine that fetches and executes
instructions from a memory. We can attach different
types of devices to the computer, load it with different
types of software, and build many different types of
systems.
So 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. But a fax machine or a clock built
from a microprocessor is an embedded computing
system.
Embedded computing system design is a useful skill for
many types of product design. Automobiles, cell phones,
and even household appliances
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.
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.

computers were proposed to control chemical processes in


the late 1940s
Embedding Computers

A microprocessor is a single-chip CPU. VLSI (very large


scale integration) technology has allowed us to put a complete
CPU on a single chip since the 1970s, but those CPUs were very
simple. The first microprocessor, the Intel 4004, was designed
for an embedded application, namely, a calculator.

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.
Embedding Computers
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
a 32-bit RISC microprocessor offers very high
performance for computation intensive applications.
There are many household uses of microprocessors. The
typical microwave oven has at least one microprocessor to
control oven operation.
A high-end automobile may have 100 microprocessors, but
even inexpensive cars today use 40 microprocessors.
Example 1.1 describes some of the microprocessors used in
the BMW 850i.
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 rakes.
An automatic stability control (ASC+T) system
intervenes with the engine during maneuvering to improve
the car’s stability.
they require inputs from and output to the
automobile.
first look at the ABS It sits between the hydraulic pump
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.
The 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 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.
Characteristics of Embedded Computing
Applications
embedded computing systems have to provide
sophisticated functionality:
1. Complex algorithms:
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.
2. User interface:
The moving maps in Global Positioning System
(GPS) navigation are good examples of sophisticated user
interfaces. embedded computing operations must often be
performed to meet deadlines
Characteristics of Embedded Computing
Applications

3. Real time:
Many embedded computing systems have to perform in
real time—if the data isn’t ready by a certain deadline, the
system breaks.
4. Multirate:
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
Characteristics of Embedded Computing
Applications

5. 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.
6. Power and energy:
Power consumption directly affects the cost of the
hardware, because a larger power supply may be necessary.
1.2.3 Why Use Microprocessors?
There are many ways to design a digital system: custom
logic, field programmable gate arrays (FPGAs), and so on. Why
use microprocessors?
There are two answers:
• Microprocessors are a very efficient way to implement digital
systems.
• Microprocessors make it easier to design families of products
that can be built to provide various feature sets at different
price points and can be extended to provide new features to
keep up with rapidly changing markets.
CPUs are flexible
CPUs are efficient

CPUs are highly optimized


Programmability

How many platforms?


Real time

Low power and low cost


Smartphones as platforms
Challenges in Embedded Computing System Design
External constraints are one important source of difficulty
in embedded system design. Let’s consider some important
problems that must be taken into account in embedded system
design.
How much hardware do we need?
How do we meet deadlines?
How do we minimize power consumption?
How do we design for upgradeability?
Does it really work? Reliability is always important
Complex testing:
Limited observability and controllability:
Restricted development environments
Performance of Embedded Computing Systems
Performance in general-purpose computing
Most programmers have a fairly vaguenotion of performance
—they want their program to run “fast enough” and they may be
worried about the asymptotic complexity of their program.
Performance in embedded computing
Embedded system designers, in contrast, have a very clear
performance goal in mind—their program must meet its
deadline.
Performance of Embedded Computing Systems
Understanding real-time performance
This notion of deadline-driven programming is at once simple
and demanding
We will work our way up from the lowest layers that
describe components of the system up through the highest
layers. Those layers include:
CPU:
• Platform:
Program:
Task:
Multiprocessor:

Vous aimerez peut-être aussi