View
219
Download
0
Embed Size (px)
Citation preview
Embedded SystemsIntroduction to
Embedded Software C.-Z. Yang
http://syslab.cse.yzu.edu.tw/~czyang
Sept.-Dec. 2001
[email protected] Embedded Systems - Introduction to Embedded Software 2
元智大學資訊工程系
Before we start the course about Embedded Software ……...
• One very unfortunate aspect of embedded systems – The terminology surrounding term is not very consistent.
• Another unfortunate problem– The term embedded systems covers such a broad range of
products.
– Z8 to PowerPC
• One thing you must keep in mind– Embedded software is a field in which no wisdom is
universal.
[email protected] Embedded Systems - Introduction to Embedded Software 3
元智大學資訊工程系
An example project
• Moving map– A handheld device that displays for the user a map of the
terrain around the user’s current position.
– The map display changes as the user and the map device change position.
• Since you are a designer in the project, what will you do?
[email protected] Embedded Systems - Introduction to Embedded Software 4
元智大學資訊工程系
An example
• HP’s Websign (From Pradhan et al., 2001) – http://www.cooltown.hp.com
[email protected] Embedded Systems - Introduction to Embedded Software 5
元智大學資訊工程系
Xerox PARCTab
• From Want and Schilit (IEEE Computer, page 32, August 2001)
• Using a true palm-sized tablet computer with a pen interface linked to a diffuse microcellular infrared network.
[email protected] Embedded Systems - Introduction to Embedded Software 6
元智大學資訊工程系
[email protected] Embedded Systems - Introduction to Embedded Software 7
元智大學資訊工程系
What are the basic requirements?
• Functionality– The system should show major roads and other landmarks
available in standard topographic databases.
– Location-awareness.
• User interface– The screen should have at least 400x600 pixel resolution.
– The device should be controlled by no more than three buttons.
– A menu system should pop up on the screen when buttons are pressed to allow the user to make selections to control the system.
[email protected] Embedded Systems - Introduction to Embedded Software 8
元智大學資訊工程系
More basic requirements
• Performance– The map should scroll smoothly.
– Upon power-up, a display should take no more than one second to appear.
– The system should be able to verify its position an display the current map within 15 seconds.
• Cost– The selling cost (street price) should be no more than
$500.
[email protected] Embedded Systems - Introduction to Embedded Software 9
元智大學資訊工程系
More basic requirements
• Physical size and weight– The device should fit comfortably in the palm of the hand.
• Power consumption– The device should run for at least eight hours on four AA
batteries.
[email protected] Embedded Systems - Introduction to Embedded Software 10
元智大學資訊工程系
Name GPS moving mapPurpose Consumer-grade moving map for driving useInputs Power button, two control buttonsOutputs Black-lit LCD display 400x600Functions Uses 5-receiver GPS system; three user-
selectable resolution; always displays currentlatitude and longitude
Performance Updates screen within 0.25 seconds uponmovement
Manufacturingcost
$100
Power 100mWPhysical sizeand weight
No more than 2”x6”, 12ounces
A draft of the design proposal
• A more detailed chart
[email protected] Embedded Systems - Introduction to Embedded Software 11
元智大學資訊工程系
Finding technical details
• Location sensing technologies
[email protected] Embedded Systems - Introduction to Embedded Software 12
元智大學資訊工程系
Architecture design
• Block diagram
GPSreceiver
Database
RendererSearchEngine
User Interface
Display
[email protected] Embedded Systems - Introduction to Embedded Software 13
元智大學資訊工程系
Refine the block diagram
• Now we can have two separate diagrams– Hardware
– Software
[email protected] Embedded Systems - Introduction to Embedded Software 14
元智大學資訊工程系
What have we learned here?
• No universal wisdom exists in embedded system design
• Design goals (motivations)
• Related product survey
• Requirement specification
• Detailed technical information
• Architecture design
• Hardware/Software refinements
[email protected] Embedded Systems - Introduction to Embedded Software 15
元智大學資訊工程系
A Brief Overview of System Design Techniques
[email protected] Embedded Systems - Introduction to Embedded Software 16
元智大學資訊工程系
In the realistic world
• Now what you have done is just a very small case.
• More real embedded system designs are inherently complex.
[email protected] Embedded Systems - Introduction to Embedded Software 17
元智大學資訊工程系
Design methodologies
• Why?– Design process is important because without it, we cannot
reliably deliver the products we want to create.
• Necessary?– Thinking about the sequence of steps necessary to build
something may seem superfluous.
– If your are doing your work in your basement, having your own work habits is fine.
– However, when several people work together on a project, they need to agree on who will do things and how they will get done.
[email protected] Embedded Systems - Introduction to Embedded Software 18
元智大學資訊工程系
Product metrics
• Typical specifications– Functionality PDA
– Manufacturing cost Retail price < NT $7000
– Performance Must power up within 3 sec
– Power consumption 12 hr for 2 AA batteries
• Three important goals in design process– Time-to-market
– Design cost
– Quality
[email protected] Embedded Systems - Introduction to Embedded Software 19
元智大學資訊工程系
Time-to-market
• Why this goal is so important?– Win the market
– Set customer preferences for future generation
– Short profitable market life
• 3-6 months
– Calendar deadline
[email protected] Embedded Systems - Introduction to Embedded Software 20
元智大學資訊工程系
Design cost
• The costs of designing the system are distinct from manufacturing cost– The cost of engineers’ salaries,
– Computers used in design
– Equipment costs
[email protected] Embedded Systems - Introduction to Embedded Software 21
元智大學資訊工程系
Quality
• Customers not only want their products fast and cheap, they also want them to be right.
• Is this relevant to the design process?– We must address correctness, reliability, and usability
from the beginning of the design job.
– So a high-quality product can be available at the end.
• A good methodology is critical to building systems that work properly.
[email protected] Embedded Systems - Introduction to Embedded Software 22
元智大學資訊工程系
A Real Application Example
[email protected] Embedded Systems - Introduction to Embedded Software 23
元智大學資訊工程系
Loss of the Mars Climate Observer
• In September 1999, the Mars Climate Observer, an unmanned US spacecraft designed to study Mars, was lost.
• It most likely exploded as it heated up after approaching the planet too closely.
[email protected] Embedded Systems - Introduction to Embedded Software 24
元智大學資訊工程系
One of the causes
• Requirements – Design of a flight controller
– Lockheed Martin: values in units of pound force
– JPL: expecting in newtons
[email protected] Embedded Systems - Introduction to Embedded Software 25
元智大學資訊工程系
Design Process Flows
[email protected] Embedded Systems - Introduction to Embedded Software 26
元智大學資訊工程系
Design flows
• The waterfall model
• Not a realistic design process
[email protected] Embedded Systems - Introduction to Embedded Software 27
元智大學資訊工程系
Alternative model
• The spiral model
[email protected] Embedded Systems - Introduction to Embedded Software 28
元智大學資訊工程系
Successive refinement
• In this approach, the system is built several times.
[email protected] Embedded Systems - Introduction to Embedded Software 29
元智大學資訊工程系
Software/hardware codesign
• A simple software/hardware design process
[email protected] Embedded Systems - Introduction to Embedded Software 30
元智大學資訊工程系
Hierarchical design flows
• In fact, many complex embedded systems are themselves built of smaller designs.
[email protected] Embedded Systems - Introduction to Embedded Software 31
元智大學資訊工程系
Concurrent engineering
• When designing a large system along with many people, it is easy to lose track of the complete design flow.
• Concurrent engineering attempts to take a broader approach and optimize the total flow.
[email protected] Embedded Systems - Introduction to Embedded Software 32
元智大學資訊工程系
Concurrent engineering efforts
• Cross-functional teams
• Concurrent product realization
• Incremental information sharing
• Integrated project management
• Early and continual supplier involvement
• Early and continual customer focus
[email protected] Embedded Systems - Introduction to Embedded Software 33
元智大學資訊工程系
An example of concurrent engineering:
Telephone systems
[email protected] Embedded Systems - Introduction to Embedded Software 34
元智大學資訊工程系
Design of PBXs in AT&T
• Goals:– reduce design time
– make other improvements to the end product
• 7 Steps
[email protected] Embedded Systems - Introduction to Embedded Software 35
元智大學資訊工程系
7 Steps - 1
• Step 1:Benchmarking– Shooting for a 40% reduction in design time
AT&T
Competitor
Time for introducing a new product
[email protected] Embedded Systems - Introduction to Embedded Software 36
元智大學資訊工程系
7 Steps - 2
• Breakthrough improvement– Identify the factors that would influence their effort.
– Three major factors
• increased partnership between design and manufacturing
• continued existence of the basic organization of design labs and manufacturing
• support of manages at least two levels above the working level
Steering committee Project office Core team
[email protected] Embedded Systems - Introduction to Embedded Software 37
元智大學資訊工程系
7 Steps - 3
• Characterization of the current process– The core team built flowcharts and used other techniques
to understand the current product development process.
• Several problems– Too many tasks were performed sequentially
– Groups tended to focus on intermediate milestones related to their narrow job descriptions
– Too much time was spent waiting in queues
– Too many groups had their own databases
[email protected] Embedded Systems - Introduction to Embedded Software 38
元智大學資訊工程系
7 Steps - 4
• Create the target process
[email protected] Embedded Systems - Introduction to Embedded Software 39
元智大學資訊工程系
7 Steps - 4
• New target process
[email protected] Embedded Systems - Introduction to Embedded Software 40
元智大學資訊工程系
7 Steps - 5
• Verify the new process– A pilot product development project to test the new
process
– Some challenge were identified.
[email protected] Embedded Systems - Introduction to Embedded Software 41
元智大學資訊工程系
7 Steps - 6 and 7
• Implement across the product lines– After the pilot project, the new methodology was rolled
out across the product lines.
• Measure results and improve– The team found that product development time had been
reduced from 18-30 months to 11 months.
[email protected] Embedded Systems - Introduction to Embedded Software 42
元智大學資訊工程系
What is Embedded Software?