290 likes | 474 Views
SE411: 2005/Mar/10. Systems Engineering. Andrew Schaumberg. What?. The function of systems engineering is to guide the engineering of complex systems. -Kossiakoff and Sweet, Systems Engineering. Why?. Software is just one aspect of device implementation.
E N D
SE411: 2005/Mar/10 Systems Engineering Andrew Schaumberg
What? The function of systems engineering is to guide the engineering of complex systems. -Kossiakoff and Sweet, Systems Engineering Why? • Software is just one aspect of device implementation. • SE concepts applicable to physical implementation. • Holistic benefits. Coupling. Optimization. SE411: 2005/Mar/10, Andrew Schaumberg
Guitar Case Study: Guitar • Why? • Familiar system. • Reengineered already. • Simple architecture. Architecture revision history SE411: 2005/Mar/10, Andrew Schaumberg
Lute • Requirements: • Powerless • Easy to build • Durable • Pleasant • Easy to play • Cons: • Terrible to tune • Poor sustain SE411: 2005/Mar/10, Andrew Schaumberg
Lute successors • Mandolin • Tuned better • High pitch, bad sustain • Acoustic guitar • Tunes like mandolin • Low pitch, sustain a bit better SE411: 2005/Mar/10, Andrew Schaumberg
Problem: Tone control • Acoustic resonant cavities fixed • Solution: Transduce sound • Electric signal easy to shape • Options: • Microphone • Pickup SE411: 2005/Mar/10, Andrew Schaumberg
Microphone Pro: Cheap add-on Con: Generally poor frequency response Pickup Pro: Simplifies architecture Con: Requires architecture reengineering SE411: 2005/Mar/10, Andrew Schaumberg
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
Typical build quality of electric guitar • Sucks! • Component quality • Ground loops • Shielding • Electric shock SE411: 2005/Mar/10, Andrew Schaumberg
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
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
Possible configurations amongst combinations • Coil selection • Coil wiring • Coil phasing What to do? Start working. SE411: 2005/Mar/10, Andrew Schaumberg
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
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
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
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
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
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
What just happened? Layered architecture SE411: 2005/Mar/10, Andrew Schaumberg
Software options • Low level, e.g. assembler • Mid level, e.g. C • High level, e.g. OS SE411: 2005/Mar/10, Andrew Schaumberg
Requirements • Standard • Do everything a typical electric guitar can • Built better • Configurable • Selections, wiring, phasing • Save/Recall configurations • Intonation • Built-in tuner • Harmonized infinite sustain • Communications • MIDI • OSC • File transfer SE411: 2005/Mar/10, Andrew Schaumberg
Harmonized infinite sustain • Strum once, sing forever • EBow • Fernandez SE411: 2005/Mar/10, Andrew Schaumberg
MIDI • Serial • Note • Velocity SE411: 2005/Mar/10, Andrew Schaumberg
OSC • Application level protocol • Ethernet • Wrap MIDI SE411: 2005/Mar/10, Andrew Schaumberg
File transfer • Internet Protocol suite: IP, ICMP, TCP, UDP, HTTP, FTP • USB SE411: 2005/Mar/10, Andrew Schaumberg
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
Prototype releases • Alpha • Beta • Gold Software extends hardware. Both play well together in a good system. SE411: 2005/Mar/10, Andrew Schaumberg
References Motorola 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 SE411: 2005/Mar/10, Andrew Schaumberg
SE411: 2005/Mar/10, Andrew Schaumberg, Systems Engineering Questions? SE411: 2005/Mar/10, Andrew Schaumberg