Vous êtes sur la page 1sur 10

1

Dr. Jeff Jackson Lecture 1-1 Electrical & Computer Engineering Embedded Systems
Embedded Systems
Introduction to Embedded Systems
Dr. Jeff Jackson Lecture 1-2 Electrical & Computer Engineering Embedded Systems
What is an Embedded System?
A computing system designed to perform one or more
specific functions with specific system constraints
Example constraints may include:
Physical
Size limited space for electronic or mechanical components
Weight flight-based systems as an example
Power limited power supply (battery, solar only, zero power
footprint, energy harvesting only systems, etc.)
Time time constraints on code execution, system response
Cost
It is embedded in the sense that it is part of a larger
system often including both electronic and mechanical
components

2
Dr. Jeff Jackson Lecture 1-3 Electrical & Computer Engineering Embedded Systems
Embedded Systems Processor
Characteristics
Embedded systems are controlled by one or more
main processing cores [1]:
Microcontrollers
Digital signal processors (DSP)
A key characteristic is being dedicated to handle a
particular task
May require a single, very simple microcontroller
A 4-bit microcontroller acting as the window control unit in an
automobile
May require many, very powerful processors
Avionics control system for jet aircraft
Dr. Jeff Jackson Lecture 1-4 Electrical & Computer Engineering Embedded Systems
Design Opportunities in Embedded Systems
Since embedded systems are dedicated to specific
tasks:
Design engineers can optimize it to:
Reduce the size and cost of the product and
Increase the reliability and performance
1983 Cell Phone 2010 Cell Phone
3
Dr. Jeff Jackson Lecture 1-5 Electrical & Computer Engineering Embedded Systems
Embedded Systems Physical Characteristics
Physically, embedded systems range from:
Portable devices like digital watches, cell
phones and MP3 players, to
Large stationary installations like traffic lights, factory
controllers, or the systems controlling nuclear power
plants
Complexity varies from:
Low, with a single microcontroller chip, to
Very high with multiple units, peripherals and networks
mounted inside a large chassis or enclosure
Dr. Jeff Jackson Lecture 1-6 Electrical & Computer Engineering Embedded Systems
Example Embedded Systems
Consumer electronics
Personal digital assistants (PDAs),
mp3 players, cell phones,
videogame units, digital cameras,
DVD players, EBook readers
Household appliances
Stoves, microwave ovens,
refrigerators, washing machines
and dishwashers
Typically include embedded
systems to provide flexibility,
efficiency and features
Home automation
Uses wired- and wireless-
networking to control lights,
climate, security, audio/visual,
surveillance, etc.
All use embedded devices for
sensing and controlling
4
Dr. Jeff Jackson Lecture 1-7 Electrical & Computer Engineering Embedded Systems
Example Automotive Embedded Systems
Automobiles, electric vehicles, and hybrid vehicles
are increasingly using embedded systems to:
Maximize efficiency and reduce pollution
Other automotive systems include:
Anti-lock braking system (ABS)
Electronic Stability Control (ESC/ESP)
Traction control (TCS)
Automatic four-wheel drive
Tire pressure sensing system
Automatic parallel parking system
Entertainment system
OnStar systems
Dr. Jeff Jackson Lecture 1-8 Electrical & Computer Engineering Embedded Systems
Example Anti-lock Braking System
Architecture [2]
5
Dr. Jeff Jackson Lecture 1-9 Electrical & Computer Engineering Embedded Systems
Example Embedded Systems and the
Processor Architecture Used
NASA Mars Sojourner Rover
(1997) Intel 8085 8-bit microprocessor
Vendo Vending Machine M68HC11
Sonicare Plus Toothbrush Zilog Z8 8-bit microprocessor
Dr. Jeff Jackson Lecture 1-10 Electrical & Computer Engineering Embedded Systems
Early Embedded Systems History [1]
One of the first recognizably modern embedded systems was the
Apollo Guidance Computer
Developed by Charles Stark Draper at the MIT Instrumentation
Laboratory
Employed the then newly developed monolithic integrated circuits to
reduce the size and weight
An early mass-produced embedded system was the Autonetics D-
17 guidance computer for the Minuteman missile, released in
1961
Built from transistor logic and had a hard disk for main memory
When the Minuteman II went into production in 1966, the D-17 was
replaced with a new computer that was the first high-volume use of
integrated circuits
This program alone reduced prices on quad NAND gate ICs from
$1000/each to $3/each, permitting their use in commercial products
The first microprocessor, the Intel 4004, was designed
for calculators and other small systems but still required many
external memory and support chips.
6
Dr. Jeff Jackson Lecture 1-11 Electrical & Computer Engineering Embedded Systems
Embedded Systems Performance
Requirements
Embedded systems are designed to do some
specific task, rather than be a general-purpose
computer for multiple tasks
Some also have real-time performance constraints
that must be met, for reasons such as safety and
usability
Others may have low or no performance
requirements, allowing the system hardware to be
simplified to reduce costs
A broad range of performance requirements
impossible to classify as a single group
Dr. Jeff Jackson Lecture 1-12 Electrical & Computer Engineering Embedded Systems
Embedded Systems Programs
The program instructions written for embedded
systems are often referred to as firmware
Various programming languages
C, C++, JAVA, assembly, etc.
Usually stored in read-only (ROM) memory or flash
memory, or other non-volatile storage
They execute with limited computer hardware
resources
Little memory
Hard disk support (maybe)
Small or non-existent keyboard and/or screen
7
Dr. Jeff Jackson Lecture 1-13 Electrical & Computer Engineering Embedded Systems
Processors in Embedded Systems
Embedded processors can be broken into two broad
categories
Ordinary microprocessors (P) and
Microcontrollers (C), which have many more peripherals on chip,
reducing cost and size
Contrasting to the personal computer and server markets, a
fairly large number of basic CPU architectures are used
Von Neumann as well as various degrees of Harvard architectures
RISC as well as non-RISC and VLIW
Word lengths vary from 4-bit to 64-bits and beyond (mainly
in DSP processors) although the most typical remain 8/16-bit
Most architectures come in a large number of different
variants and shapes, many of which are also manufactured
by several different companies
Dr. Jeff Jackson Lecture 1-14 Electrical & Computer Engineering Embedded Systems
Typical Embedded Systems Peripherals
Embedded Systems talk with the outside world
via peripherals
Serial Communication Interfaces (SCI): RS-232, RS-485 etc.
Synchronous Serial Communication Interface: I2C, SPI
Universal Serial Bus (USB)
Multi Media Cards (SD Cards, Compact Flash etc.)
Networks: Ethernet, Controller Area Network, etc.
Timers: PLL(s), Capture/Compare and Time Processing Units
Discrete IO: General Purpose Input/Output (GPIO)
Analog to Digital/Digital to Analog (ADC/DAC)
Debugging: JTAG, BDM Port, etc

8
Dr. Jeff Jackson Lecture 1-15 Electrical & Computer Engineering Embedded Systems
Embedded System Development Tools
Use of compilers, assemblers, and debuggers to develop
embedded system software (ours will be GNU-based)
More specific tools might include:
In circuit debuggers
A checksum or CRC added to a program or data (validity check)
For DSP systems, developers may use a math workbench such
MATLAB/Simulink to simulate the mathematics
Custom compilers and linkers for optimization for the particular
hardware (C2H, etc.)
An embedded system may have its own special language or design
tool, or add enhancements to an existing language
Another alternative is to add a real-time operating
system or embedded operating system
Modeling and code generating tools often based on state machines

Dr. Jeff Jackson Lecture 1-16 Electrical & Computer Engineering Embedded Systems
Embedded System Reliability
Embedded systems are commonly expected to run
continuously for years without errors, and possibly
recover by themselves if an error occurs
Software is usually developed and tested more carefully
than that for personal computers
Specific reliability issues may include:
The system cannot safely be shut down for repair, or it is too
inaccessible to repair
Space systems, undersea cables, navigational beacons, and
automobiles.
The system must be operational for safety reasons
Aircraft navigation, reactor control systems, safety-critical chemical
factory controls, train signals, engines on single-engine aircraft
The system will lose large amounts of money when shut down:
Telephone switches, factory controls, bridge and elevator controls,
funds transfer

9
Dr. Jeff Jackson Lecture 1-17 Electrical & Computer Engineering Embedded Systems
Basic Techniques to Improve Reliability
A variety of techniques are used, sometimes in
combination, to recover from errors -- both software
bugs such as memory leaks, and also soft errors in
the hardware:
Watchdog timer that resets the computer unless the
software periodically notifies the watchdog
Subsystems with redundant spares that can be switched
over to
Software "limp modes" that provide partial function

Dr. Jeff Jackson Lecture 1-18 Electrical & Computer Engineering Embedded Systems
Embedded Software Architectures
Software structure and complexity for an embedded
system can vary significantly according to the
application
Commonly used software architectures include:
Simple control loops
Interrupt Controlled System
Non-preemptive multitasking system
Preemptive multitasking or multi-threading (includes real-time
operating systems RTOS)
Microkernels (a step up from an RTOS to include memory
allocation, file system, etc.)
Monolithic Kernel (a relatively large kernel with sophisticated
capabilities adapted to suit an embedded environment).
Embedded Linux [3] and Windows CE [4], Mobile, and
Embedded are examples

10
Dr. Jeff Jackson Lecture 1-19 Electrical & Computer Engineering Embedded Systems
References
1. http://en.wikipedia.org/wiki/Embedded_system
2. http://www.ireference.ca/search/brake-by-wire/
3. http://en.wikipedia.org/wiki/Embedded_Linux
4. http://en.wikipedia.org/wiki/Windows_CE

Vous aimerez peut-être aussi