systems engineering andrew schaumberg se411: 2005/mar/10

29
Systems Engineering Andrew Schaumberg SE411: 2005/Mar/10

Upload: owen-ray

Post on 17-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Systems Engineering

Andrew Schaumberg

SE411: 2005/Mar/10

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

19

What just happened?

Layered architecture

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

23

MIDI

• Serial

• Note

• Velocity

SE411: 2005/Mar/10, Andrew Schaumberg

24

OSC

• Application level protocol

• Ethernet

• Wrap MIDI

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

SE411: 2005/Mar/10, Andrew Schaumberg

29

Questions?

SE411: 2005/Mar/10, Andrew Schaumberg, Systems Engineering