Title: Networking for Embedded Systems
1Introduction to Embedded Systems
2Introduction
- What are embedded systems?
- What makes them different?
- Real time operation
- Many sets of constraints on designs
- Challenges in embedded computing system design.
- Design methodologies.
3Definition
- Embedded system any device that includes a
programmable computer but is not itself a
general-purpose computer. - Computer purchased as part of some other piece of
equipment - Typically dedicated software (may be user-
customizable) - Often replaces previously electromechanical
components - Often no real keyboard
- Often limited display or no general- purpose
display device dont need all the
general-purpose bells and whistles.
4What is an embedded system
5Examples
Office systems and mobile equipment Building systems Manufacturing and Process Control
Answering machines Copiers Faxes Laptops and notebooks Mobile Telephones PDAs, Personal organisers Still and video cameras Telephone systems Time recording systems Printer Microwave Air conditioning Backup lighting and generators Building management systems CTV systems Fire Control systems Heating and ventilating systems Lifts, elevators, escalators Lighting systems Security systems Security cameras Sprinkler systems Automated factories Bottling plants Energy control systems Manufacturing plants Nuclear power stations Oil refineries and related storage facilities Power grid systems Power stations Robots Switching systems Water and sewage systems
6Examples
Transport Communications Other equipment
Aeroplanes Trains Buses Marine craft Jetties Automobiles Air Traffic Control Signalling Systems Radar Systems Traffic Lights Ticketing machines Speed cameras, Radar speed detectors Telephone systems Cable systems Telephone switches Satellites Global Positioning System Automated teller systems Credit card systems Medical Imaging equipment Domestic Central Heating control VCRs
7Automotive embedded systems
- Todays high-end automobile may have 100
microprocessors - 4-bit microcontroller checks seat belt
- microcontrollers run dashboard devices
- 16/32-bit microprocessor controls engine.
8BMW 850i brake and stability control system
- Anti-lock brake system (ABS) pumps brakes to
reduce skidding. - Automatic stability control (ASCT) controls
engine to improve stability. - ABS and ASCT communicate.
- ABS was introduced first---needed to interface to
existing ABS module.
9BMW 850i, contd.
sensor
sensor
brake
brake
hydraulic pump
ABS
brake
brake
sensor
sensor
10Embedded systems rule the market place
- 80 Million PCs vs. 3Billion Embedded CPUs
Annually - Embedded market growing PC market mostly
saturated
11Why are embedded systems different from desktop
computers ?
12Four General Embedded Systems Types
General Computing Applications similar to
desktop computing, but in an embedded package
Video games, set- top boxes, wearable computers,
automatic tellers Control Systems Closed- loop
feedback control of real- time system Vehicle
engines, chemical processes, nuclear power,
flight control Signal Processing Computations
involving large data streams Radar, Sonar,
video compression Communication Networking
Switching and information transmission
Telephone system, Internet
13Characteristics of an embedded system
- Real-Time Operation
- Reactive computations must occur in response
to external events - Correctness is partially a function of time
- Small Size, Low Weight
- Hand- held electronics and Transportation
applications -- weight costs money - Low Power
- Battery power for 8 hours (laptops often last
only 2 hours) - Harsh environment
- Heat, vibration, shock, power fluctuations, RF
interference, lightning, corrosion - Safety- critical operation
- Must function correctly and Must not function
in correctly - Extreme cost sensitivity
- . 05 adds up over 1,000, 000 units
14Embedding a computer
output
analog
input
CPU
analog
mem
embedded computer
15Why use microprocessors?
- Microprocessors simplify the design of families
of products. - Microprocessors are often very efficient can use
same logic to perform many different functions,
but Microprocessors use much more logic to
implement a function than does custom logic. - Alternatives field-programmable gate arrays
(FPGAs), ASICs, custom logic, etc. - What about MicroControllers or DSPs.
- Custom logic is a clear winner for low power
devices.
16An Embedded Control System Designers View
17A Customer View
18Design teams
- Often designed by a small team of designers.
- Often must meet tight deadlines.
- 6 month market window is common.
- Cant miss back-to-school window for calculator.
19Challenges in embedded system design
- How much hardware do we need?
- How big is the CPU? Memory?
- How do we meet our deadlines?
- Faster hardware or cleverer software?
- How do we minimize power?
- Turn off unnecessary logic? Reduce memory
accesses?
20Challenges, etc.
- Does it really work?
- Is the specification correct?
- Does the implementation meet the spec?
- How do we test for real-time characteristics?
- How do we test on real data?
- How do we work on the system?
- Observability, controllability?
- What is our development platform?
21Embedded System Designer Skill Set
Appreciation for multi- disciplinary nature of
design Both hardware software skills
Understanding of engineering beyond digital
logic Ability to take a project from
specification through production Communication
teamwork skills Work with other disciplines,
manufacturing, marketing Work with customers to
understand the real problem being solved Make a
good presentation even better -- write trade
rag articles And, by the way, technical skills
too Low level Microcontrollers, FPGA/ ASIC,
assembly language, A/ D, D/ A High level
Object- oriented Design, C/ C, Real Time
Operating Systems Meta level Creative
solutions to highly constrained problems Likely
in the future Unified Modeling Language,
embedded networks Uncertain future Java,
Windows CE
22Design methodologies
- A procedure for designing a system.
- Understanding your methodology helps you ensure
you didnt skip anything. - Compilers, software engineering tools,
computer-aided design (CAD) tools, etc., can be
used to - help automate methodology steps
- keep track of the methodology itself.
23Design goals
- Performance.
- Overall speed, deadlines.
- Functionality and user interface.
- Manufacturing cost.
- Power consumption.
- Other requirements (physical size, etc.)
24Levels of abstraction
requirements
specification
architecture
component design
system integration
25Our requirements form
26Example GPS moving map requirements
- Moving map obtains position from GPS, paints map
from local database.
I-78
Scotch Road
lat 40 13 lon 32 19
27GPS moving map needs
- Functionality For automotive use. Show major
roads and landmarks. - User interface At least 400 x 600 pixel screen.
Three buttons max. Pop-up menu. - Performance Map should scroll smoothly. No more
than 1 sec power-up. Lock onto GPS within 15
seconds. - Cost 500 street price approx. 100 cost of
goods sold.
28GPS moving map needs, contd.
- Physical size/weight Should fit in hand.
- Power consumption Should run for 8 hours on four
AA batteries.
29GPS moving map requirements form
30Specification
- A more precise description of the system
- should not imply a particular architecture
- provides input to the architecture design
process. - May include functional and non-functional
elements. - May be executable or may be in mathematical form
for proofs.
31GPS specification
- Should include
- What is received from GPS
- map data
- user interface
- operations required to satisfy user requests
- background operations needed to keep the system
running.
32Architecture design
- What major components go satisfying the
specification? - Hardware components
- CPUs, peripherals, etc.
- Software components
- major programs and their operations.
- Must take into account functional and
non-functional specifications.
33GPS moving map block diagram
display
GPS receiver
search engine
renderer
database
user interface
34GPS moving map hardware architecture
CPU
display
frame buffer
GPS receiver
memory
panel I/O
35GPS moving map software architecture
database search
renderer
pixels
position
timer
user interface
36Designing hardware and software components
- Must spend time architecting the system before
you start coding. - Some components are ready-made, some can be
modified from existing designs, others must be
designed from scratch.
37System integration
- Put together the components.
- Many bugs appear only at this stage.
- Have a plan for integrating components to uncover
bugs quickly, test as much functionality as early
as possible.
38Summary
- Embedded computers are all around us.
- Many systems have complex embedded hardware and
software. - Embedded systems pose many design challenges
design time, deadlines, power, etc. - Design methodologies help us manage the design
process. - References
- Overheads for Computers as Components,
W.Wolf.Morgan Kaufman. - Embedded Systems in the Real World, Phillip
Koopman. Carnegie Mellon University.