Académique Documents
Professionnel Documents
Culture Documents
Introduction
Why do we embed microprocessors in systems? What are embedded computing systems? Challenges in embedded computing system design. Design methodologies. System Specification
Definition
Embedded computing system: any device that includes a programmable computer but is not itself a general-purpose computer. Take advantage of application characteristics to optimize the design:
Embedding a computer
output analog
CPU
input
analog
embedded computer
2011 Dr. AL-Saif (CISE 414)
mem
Examples
Cell phone. Printer. Automobile: engine, brakes, dash, etc. Airplane: engine, flight controls, nav/comm. Digital television. Household appliances.
Early history
Late 1940s: MIT Whirlwind computer was designed for real-time operations.
First microprocessor was Intel 4004 in early 1970s. HP-35 calculator used several chips to implement a microprocessor in 1972.
Control fuel/air mixture, engine timing, etc. Multiple modes of operation: warm-up, cruise, hill climbing, etc. Provides lower emissions, better fuel efficiency.
Microprocessor varieties
Microcontroller: includes I/O devices, onboard memory. Digital signal processor (DSP): microprocessor optimized for digital signal processing. Typical embedded word sizes: 8-bit, 16-bit, 32-bit.
Application examples
Simple control: front panel of microwave oven, etc. Canon EOS 3 has three microprocessors.
Digital TV: programmable CPUs + hardwired logic for video/audio decode, menus, etc.
Aerospace
Navigation systems, automatic landing systems, flight attitude controls, engine controls, space exploration (e.g., the Mars Pathfinder).
10
Automotive
Fuel injection control, passenger environmental controls, anti-lock braking, air bag controls, GPS mapping.
11
Children's Toys
Nintendo's "Game Boy", Mattel's "My Interactive Pooh", Tiger Electronics "Furby".
12
Motorcycles
Trains
13
Telecommunication
14
Home
Dishwashers, microwave ovens, VCRs, televisions, stereos, fire/security alarm systems, lawn sprinkler controls, thermostats, cameras, clock radios, answering machines.
15
Office Automation
16
Consumer electronics
17
Personal
Personal Digital Assistants (PDAs), pagers, cell phones, wristwatches, videogames, portable MP3 players, GPS.
18
Medical
Imaging systems (e.g., XRAY, MRI, and ultrasound), patient monitors, and heart pacers.
19
Smart buildings
20
21
Industrial
Robotics
22
Pedometer
Count steps Keep time Averages etc. Actually identify when a step is taken Sensor feels motion of device, not of user feet
23
Mobile phones
Multiprocessor 8-bit/32-bit for UI DSP for signals 32-bit in IR port 32-bit in Bluetooth 8-100 MB of memory All custom chips Power consumption & battery life depends on software
24
Telecom Switch
Rack-based
25
Sewing Machine
User interface
Embroidery patterns Touch-screen control Sets pressure of foot depending on task Raise foot when stopped
Smart
26
Forestry Machines
Controlling arms & tools Navigating the forest Recording the trees harvested Crucial to efficient work 16-bit processors in a network
Processors
27
Operator Panel
Embedded PC
28
Extremely Large
Radar Weapons Damage control Navigation basically everything Large servers 1000s of processors
Computers:
29
Inside your PC
Custom processors
Graphics, sound IR, Bluetooth Network, WLAN Harddisk RAID controllers USB Keyboard, mouse
32-bit processors
8-bit processors
30
Cars
ABS: Anti-lock braking systems ESP: Electronic stability control Airbags Efficient automatic gearboxes Theft prevention with smart keys Blind-angle alert systems ... etc ...
31
Cars
8-bit door locks, lights, etc. 16-bit most functions 32-bit engine control, airbags
Processing where the action is Sensors and actuators distributed all over the vehicle
32
33
4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine.
34
Anti-lock brake system (ABS): pumps brakes to reduce skidding. Automatic stability control (ASC+T): controls engine to improve stability. ABS and ASC+T communicate.
35
Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams.
37
Functional complexity
38
Real-time operation
Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance.
Many systems are multi-rate: must handle operations at widely varying rates.
39
Non-functional requirements
Many embedded systems are mass-market items that must have low manufacturing costs.
40
Design 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.
41
Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc. Microprocessors are often very efficient: can use same logic to perform many different functions. Microprocessors simplify the design of families of products.
42
Microprocessors use much more logic to implement a function than does custom logic. But microprocessors are often at least as fast:
43
Power
Custom logic uses less power, but CPUs have advantages: Modern microprocessors offer features to help control power consumption. Software design techniques can help reduce power consumption. Heterogeneous systems: some custom logic for well-defined functions, CPUs+software for everything else.
44
Platforms
Embedded computing platform: hardware architecture + associated software. Many platforms are multiprocessors. Examples:
45
Executing software consumes energy, requires time. To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs.
46
In general-purpose computing, performance often means average-case, may not be welldefined. In real-time systems, performance means meeting deadlines.
Missing the deadline by even a little is bad. Finishing ahead of the deadline may not help.
47
Characterizing performance
48
49
Challenges, etc.
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? Observability, controllability? What is our development platform?
50
Design 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:
51
Design goals
Performance.
Functionality and user interface. Manufacturing cost. Power consumption. Other requirements (physical size, etc.)
52
Levels of abstraction
requirements specification architecture component design system integration
2011 Dr. AL-Saif (CISE 414)
53
Top-down design:
start from most abstract description; work to most detailed. work from small components to big system.
Bottom-up design:
54
Stepwise refinement
analyze the design to determine characteristics of the current state of the design; refine the design to add detail.
55
Requirements
Plain language description of what the user wants and expects to get. May be developed in several ways:
talking directly to customers; talking to marketing representatives; providing prototypes to users for comment.
56
Functional requirements:
output as a function of input. time required to compute output; size, weight, etc.; power consumption; reliability; etc.
Non-functional requirements:
57
58
lat: 40 13 lon: 32 19
2011 Dr. AL-Saif (CISE 414)
59
Scotch Road
Moving map obtains position from GPS, paints map from local database.
I-78
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: $120 street price = approx. $30 cost of goods sold.
60
Physical size/weight: Should fit in hand. Power consumption: Should run for 8 hours on four AA batteries.
61
62
Specification
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.
63
GPS 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.
64
Architecture design
Software components:
GPS receiver
search engine
renderer
display
database
user interface
66
display
frame buffer
memory
panel I/O
67
position
database search
renderer
pixels
user interface
timer
68
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.
69
System integration
Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible.
70
Summary
Embedded systems pose many design challenges: design time, deadlines, power, etc. Design methodologies help us manage the design process.
71