Introduction To Embedded Systems: 1.1 What Is An Embedded System?
Introduction To Embedded Systems: 1.1 What Is An Embedded System?
Introduction To Embedded Systems: 1.1 What Is An Embedded System?
Introduction to
Embedded Systems
1.1 What Is an Embedded System?
01_Lipiansky_Ch01_p001-012.indd 1
10/27/11 5:36:32 PM
Chapter One
Address,
data, and
control
busses
Output devices
Input devices
Main memory
unit
called the CPU; the memory devices that hold program instructions,
input data, and application-generated data; the input devices; and
the output devices. These devices allow the system to be interfaced
with the external world.
An address bus, a data bus, and a control bus interconnect all such
major blocks. Greater discussion of busses can be found in Chap. 2. In
the OBD automobile example, some of the input devices can be air,
coolant, and oil temperature sensors; engine oil pressure sensors; and
oxygen sensors. Some of the output devices, for the same example,
can be the dashboard, which alerts the driver to the engine status;
electronic drivers that drive the fuel injectors; and relays and actuators
that control pumps, fans, and miscellaneous mechanical valves.
Figure 1.2 depicts a simplified block diagram of an automobile OBD
system. In the OBD system, many of the input devices are distributed
throughout the engine, some in the intake and exhaust manifolds;
some sensors are in the cooling system, while others are in the exhaust
system; and so on. The most informative output device is on the dashboard, where a malfunction indicator light (MIL) is located. This light
is also referred to as the check engine light.
01_Lipiansky_Ch01_p001-012.indd 2
10/27/11 5:36:33 PM
Sensors:
water temperature,
exhaust gas,
detonation, crank
angle
Switches:
ignition, throttle valve,
neutral, air conditioner,
oil pressure,
power steering, and
miscellaneous others
Battery voltage
Figure 1.3 depicts a functional block diagram of a microcontrollercontrolled DC motor. This system automatically generates an appropriate output signal to drive a motor, typically a stepper motor with
great accuracy.
The electric motor is the plant or the entity that needs its shaft
position to be accurately controlled. The digital computer on the left of
Fig. 1.3 is the error amplifier. The ADC and DAC are, respectively,
External
input
Digital
computer
Digital-to-analog
converter
(DAC)
Analog-todigital
converter
Power
amplifier
Motor
Shaft
position
being
controlled
Shaft position
encoder/
tachometer
01_Lipiansky_Ch01_p001-012.indd 3
10/27/11 5:36:34 PM
Chapter One
01_Lipiansky_Ch01_p001-012.indd 4
10/27/11 5:36:34 PM
Industry
Automobile
Civil engineering
Consumer electronics
Electrical engineering
Farming
Food industry
Office equipment
Manufacturing
Physical sciences
Retail
01_Lipiansky_Ch01_p001-012.indd 5
10/27/11 5:36:34 PM
Chapter One
01_Lipiansky_Ch01_p001-012.indd 6
10/27/11 5:36:34 PM
01_Lipiansky_Ch01_p001-012.indd 7
10/27/11 5:36:34 PM
Chapter One
experts will design the front-end analog signal conditioning circuitry, signal amplifiers, and system decoupling. The digital and
analog experts will work on the hardware interface of the microcontroller with the other functional blocks. Memories and network
interfaces are a few more functional blocks that the system may
require.
Hybrid, analog, and digital designers work on the analog-to-digital
and digital-to-analog interfacing. Other hardware blocks are clocks,
resets, power converters, and decoupling capacitors. Lets assume for
the sake of this example that a single printed-circuit board (PCB) will
contain the core of the design.
A computer-aided design (CAD) schematics capture tool is used
to enter the design. All the circuit components from microcontrollers,
memory chips, network interfaces, reset circuitry, data acquisition
components, decoupling capacitors, and filtering and all other components that need to sit on the PCB are entered into a schematics
database. This process can take from about a week or so to multiple
weeks depending on the complexity and number of circuits that need
to be interconnected. Schematics may vary from as little as a single
page to a few hundred pages. The components count may be in the
several thousands for very complex systems. Upon completion of
the schematics, not only does the engineering team who designed
them review them, but also several cross-functional groups participate in design reviews. Firmware and software will be mainly interested in the correct hardware support of the functions that the software
needs to implement. A manufacturing group will be interested in the
design following manufacturability guidelines, and a test group will
ensure that the design is testable. In parallel, other groups such as
purchasing or commodities work on the availability, lead time, cost,
and ultimately procurement of the components needed for a predetermined number of prototypes.
The next step is the physical design phase of the design. Within
this phase the PCB layout phase takes place. The first step is to produce a physical placement of all the electronic components on the
board. The components placement is by no means arbitrary. Fundamentally, functionality, electrical, timing, signal integrity, manufacturability, testing, and electromagnetic abatement considerations go
into producing a good PCB component placement. Greater discussion of those factors can be found in Chap. 12. Once the placement is
done, the routing of the copper traces that interconnect component
pins to other component pins and connectors begins. The routing,
like the placement, is also greatly driven by electrical, timing, signal
integrity, and electromagnetic interference abatement requirements
and considerations. It is important to observe that a good placement
is fundamental for a successful PCB design. If the placement is done
poorly, it will be next to impossible to have a good functional PCB.
01_Lipiansky_Ch01_p001-012.indd 8
10/27/11 5:36:34 PM
Some design engineers state that a good placement counts for more
than 70% or 80% of the design. Moreover, once the placement is good,
the routes pretty much fall into place. The physical design is done
with layout CAD tools that allow the PCB designer to do placement
and routing. Once the board file that contains all the physical information and the board are complete, the file is sent to a PCB manufacturer who fabricates the printed-circuit board described by its board
file. The PCB is just the physical structure where mostly electronic
and mechanical components are held together in place not only for
mechanical reasons but for electrical functionality as well. The blank
or unpopulated PCB is checked for basic connectivity, such as opens
and shorts.
After the board is fabricated, an assembly house populates the
PCB with all its components. Typically components are wave-soldered
to the PCB by automated machines; some are press-fit and sometimes
a few components are hand-installed. Electronic designers and manufacturers try to minimize the need for any hand operations in order
to achieve higher manufacturing volumes per time unit.
The bring-up is commonly performed by circuit design engineers
or by bring-up engineers in large organizations. The engineer brings
up the board little by little. Typically power is the first item on the
bring-up list, since nothing else would work without power. Once
power is reasonably stable, i.e., it works, the reset and clock circuit
verification follows. Every board subsystem is checked in an incremental fashion and without firmware running on the machine. The
idea is to validate the correct operation of the most fundamental
hardware functions. Without any firmware or software the testing
cannot go on much longer. There is a need to begin verifying the
board operation with some minimal amount of firmware and later on
application software. This part of the bring-up is also referred to as
hardware-software integration. During this phase, hardware and
software engineers work very closely to verify step by step the functional features of the board. This step, depending on the complexity
of the product, may last from days to weeks or even months. Once a
PCB correctly performs at least most of the critical hardware functions required by the product, the software engineers continue to
bring up and test the board. In many practical situations the software
and firmware are not fully developed, so that testing, bring-up, and
code development may take place concurrently. At times there are
setbacks and the hardware needs to be corrected. Once a handful of
prototype boards are believed to be working reasonably, two more
verification phases ensue. A larger number of prototypes are built,
and the engineering verification and test (EVT) phase begins.
When the board has some mature level of functionality, component placement is considered stable and automatic test equipment
(ATE) development begins. ATE typically involves checking that the
01_Lipiansky_Ch01_p001-012.indd 9
10/27/11 5:36:35 PM
10
Chapter One
1.5 Summary
This chapter describes the fundamentals of embedded hardware at a
high level. Its intent is to present to the reader the general scope of
where hardware fits within embedded design. Most of the available
01_Lipiansky_Ch01_p001-012.indd 10
10/27/11 5:36:35 PM
11
literature covers embedded systems largely from an embedded software design standpoint. Our intent is to provide the essential elements of hardware design to system software and other high-level
embedded system designers. The simplified and generalized chart
given in Fig. 1.4 is just a guideline or general document to give an
idea of the hardware development phases that exist in a hardware
design and how they interrelate with the software development.
From company to company and from industry to industry, clearly
variations and deviations are expected. In the design and development of a product, quality, schedule, and cost are three key factors that
drive the design process. In an ideal world, all three are equally
important; however, the most successful product manufacturers
know how to prioritize each of those three factors throughout the
development process, to obtain the highest possible quality in a product produced at a reasonable cost within the intended schedule.
1.6 References
1. Tim Wescott, Applied Control Theory for Embedded Systems, Newnes, 2006.
2. Jack Ganssle, Tammy Noergaard, Fred Eady, Lewin Edwards, David J. Katz, Rick
Gentile, Ken Arnold, et al., Embedded Hardware, Newnes, 2008.
3. Raj Kamal, Embedded Systems: Architecture, Programming and Design, McGrawHill, 2008.
4. Tammy Noergard, Embedded Systems Architecture: A Comprehensive Guide for
Engineers and Programmers, Newnes, 2005.
5. James K. Peckol, Embedded Systems: A Contemporary Design Tool, Wiley, 2008.
01_Lipiansky_Ch01_p001-012.indd 11
10/27/11 5:36:35 PM
01_Lipiansky_Ch01_p001-012.indd 12
10/27/11 5:36:35 PM