Sie sind auf Seite 1von 12

Embedded Systems:

If we look around, we will find ourselves to be surrounded by computing systems. Every year
millions of computing systems are built destined for desktop computers (Personal Computers,
workstations, mainframes and servers) but surprisingly, billions of computing systems are built
every year embedded within larger electronic devices and still goes unnoticed. Any device
running on electric power either already has computing system or will soon have computing
system embedded in it.
Today, embedded systems are found in cell phones, digital cameras, camcorders, portable video
games, calculators, and personal digital assistants, microwave ovens, answering machines, home
security systems, washing machines, lighting systems, fax machines, copiers, printers, and
scanners, cash registers, alarm systems, automated teller machines, transmission control, cruise
control, fuel injection, anti-lock brakes, active suspension and many other devices/ gadgets.
What is Embedded System?
A precise definition of embedded systems is not easy. Simply stated, all computing systems other
than general purpose computer (with monitor, keyboard, etc.) are embedded systems.
System is a way of working, organizing or performing one or many tasks according to a fixed set
of rules, program or plan. In other words, an arrangement in which all units assemble and work
together according to a program or plan. An embedded system is a system that has software
embedded into hardware, which makes a system dedicated for an application (s) or specific part
of an application or product or part of a larger system. It processes a fixed set of pre-programmed
instructions to control electromechanical equipment which may be part of an even larger system
(not a computer with keyboard, display, etc).
A general-purpose definition of embedded systems is that they are devices used to control,
monitor or assist the operation of equipment, machinery or plant. Embedded reflects the fact
that they are an integral part of the system. In many cases, their embeddedness may be such
that their presence is far from obvious to the casual observer. Block diagram of a typical
embedded system is shown in fig.

An embedded system is an engineering artifact involving computation that is subject to physical


constraints (reaction constraints and execution constraints) arising through interactions of
computational processes with the physical world. Reaction constraints originate from the
behavioral requirements & specify deadlines, throughput, and jitter whereas execution
constraints originate from the implementation requirements & put bounds on available processor
speeds, power, memory and hardware failure rates. The key to embedded systems design is to
obtain desired functionality under both kinds of constraints.
CHARACTERISTICS
a)

Embedded systems are application specific & single functioned; application is known apriori,
the programs are executed repeatedly.

b)

Efficiency is of paramount importance for embedded systems. They are optimized for energy,
code size, execution time, weight & dimensions, and cost.

c)

Embedded systems are typically designed to meet real time constraints; a real time system
reacts to stimuli from the controlled object/ operator within the time interval dictated by the
environment. For real time systems, right answers arriving too late (or even too early) are wrong.

d) Embedded systems often interact (sense, manipulate & communicate) with external world
through sensors and actuators and hence are typically reactive systems; a reactive system is in
continual interaction with the environment and executes at a pace determined by that
environment.
e)

They generally have minimal or no user interface.


DESIGN METRICS FOR EMBEDDED SYSTEMS

In addition to meeting the desired functionality of an embedded system, embedded


system designer must optimize on the following design metrics

Non Recurring Engineering (NRE) Cost: Money invested in R&D and developing first,
functional and tested prototype.

Unit Cost: Cost of producing one unit

Electrical Power

Performance - System Throughput, Computational Power, response time

Functional Correctness

Dependability; Fault Tolerance, Reliability, Maintainability, Availability

Physical Size and Weight

Time to prototype

Time to market

Safety: It should not cause harm to others.

Maintenance, Ease of Use

These metrics compete amongst themselves; increasing one may affect others. Hence optimisation of
these metrics is a challenge for an embedded system designer.
ELEMENTS OF EMBEDDED SYSTEMS
.

Hardware
Core element of an embedded system is the processor or a computational unit.
Processors can act as brain of the system. They can be programmed to do perform a task. This
can be designed using variety of options.

General Purpose Microprocessors


General purpose microprocessors are single chip semi conductor device which is a

computer on chip, but not a complete computer. Its CPU contains an Arithmetic & Logic Unit(ALU),
a Program Counter(PC), a Stack Pointer(SP), registers, a clock and interrupts circuit on a single chip.
To make complete micro computer, one must add memory usually ROM and RAM, memory
decoder, an oscillator, a number of serial and parallel ports

A general-purpose processor is designed to cater for large amount of applications and


hence is produced in bulk. Using it in an embedded system offers various benefits. Design time
is low as only software is to be developed, no digital design is involved. Typical characteristics
of general purpose processors are relatively high cost, high speeds, higher Power consumption,
large architecture, large memory size, onboard flash and cache, an external bus interface for
greater memory usage.
Examples: Motorolas 680x0, Intels x86

Microcontrollers/ Embedded Processors


A microcontroller is a functional computer system-on-a-chip. It contains an integrated
processor, memory (a small amount of RAM, program memory, or both), several peripheral
devices, such as timers, analog to digital converters, and serial communication devices all on one
chip resulting in compact and low-power implementations. It is not expandable as it has no
external bus interface. Examples are PICs DSPIC33 / PIC24, Motorolas 6811, Intels 8051
typical characteristics of a microcontroller are: Low cost, Low speed, Low Power, small
architecture, Small memory size, Onboard Flash, Limited I/O.

Microcontrollers provide pin access which allows programs to easily monitor sensors, set actuators,
and transfer data with other devices. Providing specialized instructions improves performance for
embedded systems applications; thus, microcontrollers can be considered ASIPs to some degree.
Special microcontrollers are often called embedded processors. The difference between a
microcontroller and an embedded processor is not clear, but processors with large architectures
with fast processing, fast context-switching & atomic ALU operations are marketed by many
vendors as embedded processors. Examples of embedded processors are ARM 7, INTEL i960,
AMD 29050

ASIP/DSPs

An application-specific instruction-set processor (or ASIP) is designed for a specific class of


applications with common characteristics, such as digital-signal processing, telecommunications,
embedded control, etc. Using an ASIP in an embedded system can provide the benefit of
flexibility while still achieving good performance, power and size. However, such processors can
require large Non-Recurring Engineeing(NRE) cost (to build the processor, compiler if they
dont exist). Digital-Signal Processors (DSPs) are a common class of ASIP. DSP is a single chip
VLSI unit; a processor designed especially to support high-performance, repetitive, numerically
intensive tasks, including operations like multiply and add or shift and add.
Typical features of DSP processors are
1.

Harvard Architecture

2.

MAC Unit to support Multiply-ACcumulate operations in a single cycle.

3.

Ability to complete several accesses to memory in a single instruction cycle.

4.

One or more dedicated address generation units to speed up arithmetic processing.

Examples of a DSP are: TMS320Cxx, SHARC, and Motorola 5600xx.

ASICs
ICs are basically chips, i.e., Silicon Wafers with transistors, resistors, capacitors
fabricated

to

act

as

Microprocessors,

Amplifier,

Memory,

etc.

ASICs

(Application Specific Integrated Circuits) are designed for a special application. Digital to Audio
Converter, DSSS receiver, Mpeg2 Decoder are examples of ASICs. ASICs offer very high
performance, but NRE cost is very high. With ASICs, timing closure is an issue especially with
Deep-submicron geometries. Re-configurability is highly limited.

FPGA/CPLDs
Field Programmable Gate Array (FPGA) is a fully programmable alternative to a
customized chip. They are also called Reconfigurable Processing Unit. It is a two dimensional
array of logic blocks and flip flops with a means for user to configure interconnection between
logic blocks &

function of each block. FPGA technology allows you to embed a processor,

ROM, RAM, DSP, and any other block onto a single chip. This is replacing a lot of Application
Specific Integrated Circuit chips. FPGA offers performance advantage of parallel hardware with
the flexibility of the software. This has major advantages in terms of cost, reliability, reusability
of intellectual property, and time to market.
Based on Interconnections between cells, they are of two types of FPGAs
Reprogrammable (SRAM-based)- Xilinx, LatticeXP2, Altera, Atmel
One time programmable Actel, Quick logic
Complex Programmable Logic Devices (CPLD) is slightly different from
FPGAs; difference mainly lies in the architecture. A CPLD consists of one or more
programmable sum-of-products logic arrays feeding a relatively small number of clocked
registers. As a result, they are less flexible and hence offer the advantage of more predictable
timing delays and a higher logic-to-interconnect ratio. On the other hand, the FPGA architectures
are dominated by interconnect. This makes them far more flexible but also far more complex to
design for. Also, FPGAs are usually much larger in terms of resources than CPLDs. Another
common distinction is that CPLDs contain embedded flash to store their configuration while
FPGAs usually, but not always, require an external flash.

Reconfigurable SoCs
Technological evolution, particularly shrinking silicon fabrication geometries, is
enabling the integration of complex platforms in a single System-on-Chip (SoC). In addition to
specific hardware subsystems, a modern SoC also can include one or several CPU subsystems to
execute software and sophisticated interconnects. Multimedia platforms such as Nomadik and
Nexperia are examples of multiprocessor SoCs that use digital signal processors,
microcontrollers, and other kinds of programmable processors. Atmels FPSLIC (AVR+FPGA),
TIs OMAP (ARM Cortex + Custom GPU+TI DSP) are other examples.

2.

Software

If hardware forms the body of the embedded systems, software is a soul of embedded systems. The
software lends the functionality to an embedded system.
Variety of languages has emerged as the tasks to be performed by embedded systems are of quite
diverse nature. One language may be good for control-dominated application but may not so
good for signal processing applications.
a)

Hardware languages

Verilog and Very high speed integrated circuits Hardware Description Language (VHDL) are the
most popular languages in this category. Both describe systems with structural hierarchy, model
systems with discrete event semantics; allow concurrent processes to be described procedurally.
Verilog is destined for simulating digital integrated circuits whereas VHDL is much larger and
verbose and can handle wider class of modeling and simulation tasks.
b)

Software languages

Software languages use instructions to describe sequences to be executed. Software languages are of
two types: Assembly and high level languages. An assembly language program contains
instructions written in a symbolic form and is denied by opcodes, addressing modes, registers,
and memories. High level languages include C, C++, RT-Java, ADA, etc. They use various
constructs like functions, loops, arrays, variables, structures etc. and are written in easy to
understand language.
c)

Dataflow languages

Dataflow languages describe systems of procedural processes that run concurrently and
communicate through queues. A data flow model is composed of nodes, that transform data, and

arcs, which represent the passing of data between those nodes. They are not convenient for
general applications but very good for signal processing applications. Kahn process networks are
one of the applications. LUSTRE is an example of synchronous dataflow language.
d)

Hybrid languages

This category of languages combines ideas from other languages.


Esterel (intended for control-dominated reactive systems) combines abstract hardware semantics
(concurrency, and a synchronism of digital circuits) with different kinds of constructs of typical
software language.
SDL is a graphical language developed for describing telecommunication protocols (uses finite state
machines)
SystemC offers synchronous VHDL-like discrete event simulation models but allows for the
introduction of asynchronous execution and interaction mechanisms from software (C++).
Co-Centric System Studio combines Kahn-like dataflow with Esterel-like FSM semantics to
simulate and synthesize dataflow applications that also require control.

3.

Interface to physical world

Embedded systems interface with the physical world through Sensors and Actuators. Sensors act as
senses for an embedded system, whereas actuators act as limbs. Varieties of sensors working
on variety of sensing principles are used in embedded systems. Light, temperature, acceleration,
speed, mass, distance, etc. are common physical parameters which are sensed. Motors are one of
the actuators used in many systems.
These transducers interface to the processor through variety of interfaces:
. Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485 etc
. Synchronous Serial Communication Interface: I2C, SPI
. Universal Serial Bus (USB)
. Networks: Ethernet, Controller Area Network (CAN), etc
. Discrete IO: General Purpose Input/ Output (GPIO)
. Analog to Digital/Digital to Analog Converter (ADC/DAC).

RELEVANT IMPORTANT CONCEPTS


1.

Computer Architecture

Two common prevalent processor architectures are Neumann Vs Harvard. Von Neumann
architectures have same program and data memory space; both shares address bus and data bus.
Harvard architecture has different memory space for program and data. For each of them,
separate

data

bus

and

address

bus

are

provided.

2.

Instruction Set Architecture (ISA)


ISA serves as an abstraction layer between the software and
hardware. Reduced Instruction Set Computer (RISC) and Complex Instruction Set Computer
(CISC) stand for two different competing philosophies in designing modern computer
architecture.

RISC has simple primitive instructions and addressing modes. The instructions are of uniform
length, execute in one clock cycle & support pipelining. CISC chips have a large amount of
variable length, different and complex instructions and take longer than a clock cycle to execute.
CISC chips are relatively slow per instruction compared to RISC chips, but use fewer instructions
than RISC. Thus, RISC systems shorten execution time by reducing the clock cycles per
instruction, whereas CISC shorten execution time by reducing MIPS R2000 is a typical product
of pure RISC and Intel 80386 is a typical kind of pure CISC chip.
DESIGNING AN EMBEDDED SYSTEM
An embedded system design involves number of stages which are listed below

Requirement analysis

Defining the system specifications

o Modeling the system to be designed- Experimenting with different algorithms and their
preliminary evaluation. Factoring the task into smaller subtasks and modeling their interaction
o HW-SW partitioning (Allocating the tasks into H/W, S/W) or Co-design (H/W and S/W design
proceed in parallel with interactions and feedback between the two processes. Joint optimization
optimize design metrics)

Selection of technology

Resource Analysis Cost, Time & Manpower

Identification of components and development tools

Circuit design/ Schematic Capture, PCB layout design & fabrication

Firmware development Debugging & testing

System Integration

Testing functional, environmental

Certifications, if required.

Documentation
There is different design cycles methodologies used for designing embedded systems.

Waterfall model
Waterfall is a development model in which development is seen flowing steadily through
the phases of Requirement Analysis, Design, Implementation, Testing, Integration and
Maintenance. It allows good progress tracking due to clear milestones but its inflexibility (to
respond to changing requirements) is its demerit.
Top-down versus Bottom-up
In Top-Down Model, the overall functionality of a system is considered initially, without
going into finer aspects of the requirements. Further analyses will go deeper and deeper in
greater details. The Bottom-Up Model follows a reverse approach. First, it defines the individual
parts of the system in great detail. The individual subsystems are then integrated to form larger
systems, leading to whole system.

Spiral Model
Spiral model is the one commonly used in modern design practices. It uses both top-down
and bottom-up approach. The objectives, alternatives and constraints are first defined. Then
iterations are initiated to eliminate main risks. Finer details of each subsystem are then worked
out.
GANTT Charts
GANTT/PERT chart shows the relationships of various scheduled activities and helps to
monitor the progress of the project.

Das könnte Ihnen auch gefallen