Reminder Course project team forming deadline Friday 9/8 11:59pm You will be randomly assigned to a team after the deadline Course project ideas If you have difficulty in finding team mates, send your ideas to me for distribution ECE 1160/2160 Embedded Systems Design 1
ECE 1160/2160 Embedded Systems Design Design Methodology Wei Gao ECE 1160/2160 Embedded Systems Design 2
System Characteristics Non-functional requirements 1. Real-time 2. Low power 3. Low cost Performance constraints Marketing issues Short development cycles Small yet efficient teams ECE 1160/2160 Embedded Systems Design 3
1. Real-Time System works properly only if it meets its timing constraints Timing constraints Deadline: complete a task within D millisec E.g., ABS, GPS Throughput / rate: complete N tasks per sec E.g., portable DVD player ECE 1160/2160 Embedded Systems Design 4
1. Real-Time Hard real time: violating timing constraints causes failure Anti-lock Brake System (ABS) CD burner Software modem Soft real time: missing deadline results in degraded performance Video GPS map Audio (MP3 player)? ECE 1160/2160 Embedded Systems Design 5
2. Low Power Battery-powered devices Cell phone, ipod, wireless sensors... Wall-powered devices: excessive power consumption increases system cost Cooling Energy bills ECE 1160/2160 Embedded Systems Design 6
Great Duck Island Require 9 month lifetime on batteries! ECE 1160/2160 Embedded Systems Design 7
3. Low Cost Source: Lama Nachman, presentation at TinyOS Technology Exchange Constraints on memory size, processor speed, I/O interfaces Example: Intel imote 2 ECE 1160/2160 Embedded Systems Design 8
imote 2 Price Sheet Source: Lama Nachman, presentation at TinyOS Technology Exchange Item Description Cost Intel PXA 270/271/273 processor Discrete / 32M F+S / 32M F $17.75 / $32.44 / $23 PMIC Dialog power management IC $3.75 CC2420 ChipCon 802.15.4 Radio $3.6 Crystals 13 MHz, 16 MHz, 32KHz ~$2.8 Antenna Giga Ant surface mount $1.5 LED + Driver Agilent $1 Connectors Basic (2) + Advanced (2) $1 + $1.6 Passives ~ $9 Fab + Assembly Rough estimate from imote 1 ~ $10 Total With PXA 270 / 271 / 273 $52 + F / $67 / $57 Prices above assume 1K units, except for PXA and PMIC (special Intel pricing) PXA 270 configuration will need an external flash + bringing out addr/data bus ECE 1160/2160 Embedded Systems Design 9
imote 2 : Cost Consideration Source: Lama Nachman, presentation at TinyOS Technology Exchange No A/D on mote board Reduce cost Digital sensors don t need it Applications have different A/D requirements (number of channels, sampling rate, filtering ) A/D will be integrated into the sensor board SDIO (Secure Digital I/O) Connector is too big (30x30 mm) and costly ($1.74) to be included on Imote 2 board Pins will be exposed through basic connector ECE 1160/2160 Embedded Systems Design 10
Performance Constraints Due to the requirements of low power and low cost Example: Crossbow TelosB http://www.willow.co.uk/telosb_datasheet.pdf Processing capability 8 MHz TI MSP430 microprocessor Memory size 10kB RAM 48kB Flash memory for program 1Mb external flash for data logging Data transmission ZigBee: 250kbps data rate ECE 1160/2160 Embedded Systems Design 11
Design Teams Often designed by a small team Often have to meet tight deadlines 6 month market window is common. Example: Can t miss back-to-school window for calculator. Compare to teams for Pentium Windows XP, Vista ECE 1160/2160 Embedded Systems Design 12
Embedding A Computer output analog analog actuators CPU input analog analog sensors embedded computer mem ECE 1160/2160 Embedded Systems Design 13
Alternative Technology for CPU Application-Specific Integrated Circuits (ASICs) Microprocessors Field-Programmable Gate Arrays (FPGAs) Why do we use a microprocessor? ECE 1160/2160 Embedded Systems Design 14
ASIC Example: Digital baseband processing for cell phones Performance: Fast! Power: Fewer logic elements low power Development cost: Very high 2 million $ for starting production of a new ASIC Needs a long time and a large team Reprogrammability: None! Single-purpose devices Difficult to upgrade systems ECE 1160/2160 Embedded Systems Design 15
Microprocessors Performance Paradox Von Neumann (or Harvard) architecture is fundamentally slow! Fetch, decode instructions But engineering optimization often fixes it! heavily pipelined cache clock frequency circuit density aggressive VLSI technology multi-core processor ECE 1160/2160 Embedded Systems Design 16
Microprocessors Power However, microprocessors improve performance at the cost of power! Performance/watt remains low. Solution Modern microprocessors offer features to help control power consumption. Software can help reduce power consumption. ECE 1160/2160 Embedded Systems Design 17
Microprocessors Reprogrammability and Development Cost Let software do the work! Fast and cheap development Easy to upgrade, patch, and reuse Simplify the design of families of products Multi-purpose device: same hardware can run multiple applications (e.g., camera phones) ECE 1160/2160 Embedded Systems Design 18
FPGA Programmable hardware Combine the benefits of ASIC and microprocessor Hardware implementation good performance/watt Reprogammable lower development cost ECE 1160/2160 Embedded Systems Design 19
FPGA - Limitations Current FPGAs are not ready as a standalone platform Many overhead transistors waste power! Configurable connections Personalization memory: contribute to 70% of the transistors on a chip More difficult to program than software More commonly used for prototyping ECE 1160/2160 Embedded Systems Design 20
State of The Practice Microprocessor is the dominant player Flexibility and low development cost >> performance/watt consideration Power management techniques are crucial To be covered in this class. Microprocessor + ASIC is common Ex: cell phone FPGA is expected to play an increasingly important role ECE 1160/2160 Embedded Systems Design 21
Design Challenges Non-functional constraints How do we meet deadlines? Faster hardware or better software? How do we minimize power? Turn off unnecessary logic? Reduce memory accesses? Slow down CPU? Cost considerations Trade-offs among constraints Optimization & analysis are important! Will be covered in this course ECE 1160/2160 Embedded Systems Design 22
Design Methodologies requirements specification Top-down design architecture component design system integration Bottom-up design ECE 1160/2160 Embedded Systems Design 23
Requirements Plain language description of what the user wants and expects to get. May be developed in several ways: Talking directly to customers; Providing prototypes to users for comment. Functional vs. non-functional requirements Functional: output as a function of input Non-functional: timing constraints, power consumption, size, weight, etc. ECE 1160/2160 Embedded Systems Design 24
Requirements Form name purpose inputs outputs functions performance manufacturing cost power physical size/weight ECE 1160/2160 Embedded Systems Design 25
Example: GPS Moving Map Requirements Purpose: Obtains position from GPS, paints map from local database. I-78 Scotch Road lat: 40 13 lon: 32 19 ECE 1160/2160 Embedded Systems Design 26
GPS Moving Map Requirements Functionality For car driving use, not for airplanes or boats Show major roads and landmarks. User interface At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. Performance No more than 1 sec power-up. Lock onto GPS within 15 seconds. Update location every 0.25 sec. ECE 1160/2160 Embedded Systems Design 27
GPS Moving Map Requirements Cost: street price no more than $100 Physical size/weight: Should fit in hand. Power consumption: Should run for at least 8 hours on four AA batteries. ECE 1160/2160 Embedded Systems Design 28
GPS Map Requirements From name GPS moving map purpose consumer-grade moving map for driving inputs power button, two control buttons outputs back-lit LCD 400 X 600 functions performance manufacturing cost power 5-receiver GPS; three resolutions; displays current lat/lon updates screen within 0.25 sec of movement $100 cost-of-goodssold 100 mw physical size/weight no more than 2: X 6:, 12 oz. ECE 1160/2160 Embedded Systems Design 29
Specification 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. UML: Unified Modeling Language Not required in this course ECE 1160/2160 Embedded Systems Design 30
GPS Specification Should include: what is received from GPS; map data, format; user interface, menu items; operations required to satisfy user requests; background operations needed to keep the system running Event-driven or periodic?. ECE 1160/2160 Embedded Systems Design 31
Architecture Design What major components can satisfy the specifications? Hardware components: CPUs, memory, GPS receiver, etc. Software components: Topographical database, access functions, etc. Must take into account functional and non-functional specifications. ECE 1160/2160 Embedded Systems Design 32
GPS Moving Map Block Diagram GPS receiver search engine renderer display database user interface ECE 1160/2160 Embedded Systems Design 33
GPS Moving Map Hardware Architecture display frame buffer CPU GPS receiver memory panel I/O ECE 1160/2160 Embedded Systems Design 34
GPS Moving Map Software Architecture position database search renderer pixels user interface timer ECE 1160/2160 Embedded Systems Design 35
Designing Hardware and Software Components Must spend time architecting the system before you start coding. Components maybe ready-made modified from existing designs designed from scratch Components in an embedded system will be covered in following classes ECE 1160/2160 Embedded Systems Design 36
System Integration Put together the components. Many bugs appear only at this stage. Individual components should be tested first! ECE 1160/2160 Embedded Systems Design 37
Summary Characteristics of embedded systems Non-functional requirements: real-time, low-power, low-cost Why do we use microprocessors today? Embedded systems pose many design challenges: Design time Deadlines Power Cost Design methodologies help us manage the design process. Top-down vs. bottom-up ECE 1160/2160 Embedded Systems Design 38