SE411: 2005/Mar/10, Andrew Schaumberg
2
What?The function of systems engineering is to guide theengineering of complexsystems.
Why?• Software is just one aspect of device implementation.• SE concepts applicable to physical implementation.• Holistic benefits. Coupling. Optimization.
-Kossiakoff and Sweet,Systems Engineering
SE411: 2005/Mar/10, Andrew Schaumberg
3
Case Study: Guitar
Why?• Familiar system.• Reengineered already.• Simple architecture.
Architecture revision history
Guitar
SE411: 2005/Mar/10, Andrew Schaumberg
4
Lute
Requirements:• Powerless• Easy to build• Durable• Pleasant• Easy to play
Cons:• Terrible to tune• Poor sustain
SE411: 2005/Mar/10, Andrew Schaumberg
5
Mandolin• Tuned better• High pitch, bad sustain
Acoustic guitar• Tunes like mandolin• Low pitch, sustain a bit better
Lute successors
SE411: 2005/Mar/10, Andrew Schaumberg
6
Problem: Tone control• Acoustic resonant cavities fixed
Solution: Transduce sound• Electric signal easy to shape
Options:• Microphone• Pickup
SE411: 2005/Mar/10, Andrew Schaumberg
7
Microphone
Pro: Cheap add-onCon: Generally poor frequency response
Pickup
Pro: Simplifies architectureCon: Requires architecture reengineering
SE411: 2005/Mar/10, Andrew Schaumberg
8
Consider Requirements
Need a quick fix for some old acoustics?• Get a mic
Need something new that is cheap and lasts?• Get an electric
Rough SE analogy:Functional vs. Architectural reengineering
SE411: 2005/Mar/10, Andrew Schaumberg
9
Typical build quality of electric guitar
• Sucks!• Component quality• Ground loops• Shielding• Electric shock
SE411: 2005/Mar/10, Andrew Schaumberg
10
So yeah, it sucks. So we make our own.
And all is good.
Until we realize it still sucks…...but for different reasons.
SE411: 2005/Mar/10, Andrew Schaumberg
11
Problem: The pickup select switch• Combinations hard-wired
Solution:• Hardwire new combinations• Add a bigger switch
What just happened?Functional vs. Architectural reengineering
SE411: 2005/Mar/10, Andrew Schaumberg
12
Possible configurations amongst combinations• Coil selection• Coil wiring• Coil phasing
What to do?Start working.
SE411: 2005/Mar/10, Andrew Schaumberg
13
Electromechanical: toggles, rotaries, pots• Need functionality? Add switches!
Pros:• Simple, at first• No added power consumption
Cons:• Heavy real-estate costs• Doesn’t scale
SE411: 2005/Mar/10, Andrew Schaumberg
14
Solid-state: BJTs, MOSFETs, vacuum tubes• Switches are now just logical inputs
Pros:• Simplifies architecture• Cheap
Cons:• Power required• Scales terribly
SE411: 2005/Mar/10, Andrew Schaumberg
15
IC: Integrated circuit• Solid-state now just does signal routing
Pros:• Black-boxing saves devel and maint time• Still cheap
Cons:• Limited by vendor supplies• Scales poorly
SE411: 2005/Mar/10, Andrew Schaumberg
16
MCU: MicroController Unit• ICs, if used at all, now only supplement MCU functionality
Pros:• Eliminates need for most ICs• Programmable
Cons:• High power consumption• Hurts wallet• Requires programmer
SE411: 2005/Mar/10, Andrew Schaumberg
17
Choose your MCU architecture wisely
• ARM: Most popular. Pure, small RISC.
• Atmel AVR: C efficient. Dedicated hobbyist following.
• Basic Stamp: Fast learning curve. Dedicated hobbyist following.
• Intel 8051: Very popular. Boolean processing engine.
• Microchip PIC: Wide supplementary software support. Dedicated hobbyist following.
• Motorola 68xx: Highly optimized. HCF instruction.
• TI: Cool calculator programs in BASIC. Dedicated hobbyist following.
SE411: 2005/Mar/10, Andrew Schaumberg
18
SoC: System on a Chip• Only need interface, routing, and this chip
Pros:• Entire system on a single chip• Compile hardware from software
Cons:• Very high power consumption, especially FPGA• Very hurtful on wallet, especially ASIC
SE411: 2005/Mar/10, Andrew Schaumberg
20
Software options
• Low level, e.g. assembler
• Mid level, e.g. C
• High level, e.g. OS
SE411: 2005/Mar/10, Andrew Schaumberg
21
Requirements
Standard• Do everything a typical electric guitar can• Built better
Configurable• Selections, wiring, phasing• Save/Recall configurations
Communications• MIDI• OSC• File transfer
Intonation• Built-in tuner• Harmonized infinite sustain
SE411: 2005/Mar/10, Andrew Schaumberg
22
Harmonized infinite sustain
• Strum once, sing forever
• EBow
• Fernandez
SE411: 2005/Mar/10, Andrew Schaumberg
25
File transfer
• Internet Protocol suite: IP, ICMP, TCP, UDP, HTTP, FTP
• USB
SE411: 2005/Mar/10, Andrew Schaumberg
26
Embedded OSes• Pick something with requirements in mind
Examples:• AvrX - Assembly. Speed.• Contiki - C. Dynamic.• DCOS - C. Minimalist.• NutOS - C. Networking.• Salvo - C. Small.• TinyOS - Pseudo-C. Static modules.
Oh my Gosh! COTS!
SE411: 2005/Mar/10, Andrew Schaumberg
27
Prototype releases
• Alpha
• Beta
• Gold
Software extends hardware.Both play well together in a good system.
SE411: 2005/Mar/10, Andrew Schaumberg
28
ReferencesMotorola 6800. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/6800 Intel 8051. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/8051 Arm architecture. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/ARM_architecture Atmel AVR 8-Bit RISC. Retrieved: 2005/02/27. http://www.atmel.com/products/AVR/ AvrX. Retrieved: 2005/02/27. http://www.barello.net/avrx/ BASIC Stamp. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/Basic_Stamp ConfiGuitar Info Index. Retrieved: 2005/02/27. http://www.uwplatt.edu/~schaumba/configuitar/ Dunkels, Adam. The Contiki Operating System. Retrieved: 2005/02/27. http://www.sics.se/%7Eadam/contiki/ Hofmeijer, Dullman, Jansen, and Havinga. DCOS, A REAL-TIME LIGHT-WEIGHT DATA CENTRIC OPERATING SYSTEM. Retrieved: 2005/02/27. http://wwwes.cs.utwente.nl/smartsurroundings/publications/Hofmeijer04.pdf The Amazing EBow. Retrieved: 2005/02/27. http://www.ebow.com/ Electric Guitar. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Electric_guitar Ethernet. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Ethernet Fernandes - Sustainer Audio Demos. Retrieved: 2005/02/27. http://www.fernandesguitars.com/sustainer/susdemos.html Internet Protocol. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Internet_Protocol Les Paul 2005. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Les_Paul Lute. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Lute EMUSIC-L - MIDI specification. Retrieved: 2005/02/27. http://www.ibiblio.org/pub/multimedia/emusic/info-docs-FAQs/MIDI-doc/ MIPS architecture. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/MIPS_architecture nesC: A Programming Language for Deeply Networked Systems. Retrieved: 2005/02/27. http://nescc.sourceforge.net/ Ethernut Software. Retrieved: 2005/02/27. http://www.ethernut.de/en/software.html Atchley, John. GuitarNuts.com - The Internet Home for Wayward Pickers. Retrieved: 2005/02/27. http://www.guitarnuts.com/index.php OpenSoundControl. Retrieved: 2005/02/27. http://www.cnmat.berkeley.edu/OpenSoundControl/ OpenSound Control. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/OpenSound_Control PIC microcontroller. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/PIC_microcontroller Stang, Pascal. Procyon AVRlib - C-Language Function Library for Atmel AVR Processors. Retrieved: 2005/02/27. http://hubbard.engr.scu.edu/embedded/avr/avrlib/ Point-to-Point Protocol. Retrieved: 2005/02/27. http://en.wikipedia.org/wiki/Point-to-Point_Protocol Pumpkin: Salvo, the RTOS that runs in tiny places. Retrieved: 2005/02/27. http://www.pumpkininc.com/ Han, Rengaswamy and Shea. Reconfigurable Sensor Networks with SOS. Retrieved: 2005/02/27. http://deerhound.ats.ucla.edu: 7777/pls/portal/docs/PAGE/NEWS_EVENTS/EVENTS/ 04_REVIEW_POSTERS/2ND_ANNUAL_REVIEW_POSTERS_FILES/SOS.PDF Texas Intruments. Retrieved: 2005/03/09. http://en.wikipedia.org/wiki/Texas_Instruments TinyOS Community Forum || An open-source OS for the networked sensor regime.. Retrieved: 2005/02/27. http://www.tinyos.net/ Verilog. Retrieved: 2005/03/07. http://en.wikipedia.org/wiki/Verilog