player guitar critical design review lucas gilbride rick denney dan forrester randy hood lucas...

15
1 Chapter 2: Design of Algorithms Representing algorithms How to express algorithms the best? Possible solutions: Natural language Programming language Pseudo-Code Natural language + Known by everyone (that speaks it) -- Hides the structure of the algorithm -- Allows ambiguity in expressions Programming language + Language that computer understands (e.g. Fortran, C, Pascal) + Very exact and well structured -- Very restrictive particularly in early design phases

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Player GuitarCritical Design Review

Player GuitarCritical Design Review

Lucas GilbrideRick DenneyDan ForresterRandy Hood

Lucas GilbrideRick DenneyDan ForresterRandy Hood

IntroductionIntroduction

Our project is a device that plays downloaded music in MIDI format on an acoustic guitar. The design will use stepper motors attached to guitar picks to pluck the strings and will use solenoids to depress the strings so that different notes can be strummed.

Our project is a device that plays downloaded music in MIDI format on an acoustic guitar. The design will use stepper motors attached to guitar picks to pluck the strings and will use solenoids to depress the strings so that different notes can be strummed.

Presentation OverviewPresentation Overview

System OverviewHardware setup

Central Control UnitSolenoids &

Software PlanData FlowMIDI confusion

AdminScheduleDivision of labor

System OverviewHardware setup

Central Control UnitSolenoids &

Software PlanData FlowMIDI confusion

AdminScheduleDivision of labor

Hardware OverviewHardware Overview

User Interface

Microprocessor

RAM

ROM

MIDI Decoder(Optional

)

FPGA

Motor and Solenoid Controllers

Pick Motors

SolenoidsFlash Card

Central Control UnitCentral Control Unit Motorolla MC68HC11 Microprocessor Xilinx Spartan XCS10 FPGA ATMEL AT29C256 EPROM OKI M51257AL-10 RAM RALTRON CO6050-T 8.000 MHz clock Xilinx 18V256JC EEPROM Fairchild MC74HC373N Transparent Latch Texas Inst. SN74HC245N Bus Transceiver Power Circuitry:

Fairchild MC7805C 5V Regulator Fairchild 1587T33 3.3V Regulator

Motorolla MC68HC11 Microprocessor Xilinx Spartan XCS10 FPGA ATMEL AT29C256 EPROM OKI M51257AL-10 RAM RALTRON CO6050-T 8.000 MHz clock Xilinx 18V256JC EEPROM Fairchild MC74HC373N Transparent Latch Texas Inst. SN74HC245N Bus Transceiver Power Circuitry:

Fairchild MC7805C 5V Regulator Fairchild 1587T33 3.3V Regulator

Microprocessor SchematicMicroprocessor Schematic

RAM/ROM DiagramRAM/ROM Diagram

FPGA SchematicFPGA Schematic

SolenoidsSolenoids

Solenoids will be used to hold down strings in order to play notes. A solenoid will be picked basedon its size and power characteristics.The end of each solenoid will be padded in order to prevent damage to the guitar.

SOLENOID SETUPSOLENOID SETUP

Max Force: 2 lbsMin Force: 1 lbs

Stepper MotorsStepper Motors

Stepper motors will be used to strum the six strings on the guitar. The stepper motor used will be pick based on its size, price, and power specifications.

Still to come…Still to come…

Compact Flash Card

User InterfaceOn/off, play, track selectPossible LCD

Compact Flash Card

User InterfaceOn/off, play, track selectPossible LCD

Software OverviewSoftware Overview

User Interface OperatingSystem

MIDI Decoder

Flash Driver MIDIs to RAM

Data flow chartData flow chart

Flash CardFlash Card HC11HC11 RAMRAM

FPGAFPGA

MIDI

Modified MIDI

Note On/Off CodesPick Codes

Solenoid &Motor DriversSolenoid &

Motor Drivers SolenoidsSolenoidsStepper Motors

Stepper Motors

Separate Data Lines

Basic MIDI EventsBasic MIDI Events

90 3C 40 delta time

Midi Function:Note OnNote Off

Note:This caseMiddle C

Note Velocity

Time until Next Midi

Event

Midi InterpretationMidi Interpretation

Implement a parsing algorithmDecode Midi File Send Midi Command (Note On/Off) to

solenoids and stepper motors via FPGA

Wait designated delta timeRead next Midi Command and repeat

Implement a parsing algorithmDecode Midi File Send Midi Command (Note On/Off) to

solenoids and stepper motors via FPGA

Wait designated delta timeRead next Midi Command and repeat

ROM Test CodeROM Test Code

“WE’VE NOP’D!”

RAM Test CodeRAM Test Code

Division of LaborDivision of Labor

RandyMicroprocessorUser Interface

LucasFPGA

Mechanics

RickMIDI

(Reading and Storage)

DanMechanics

Overall Assembly

ScheduleSchedule

MilestonesMilestonesCDR

Research/Test ComponentsWorking ROM/RAM Understanding of Microprocessor

architecture Milestone 1

Implemented FPGA logicCompleted MIDI translator codeWorking motor and solenoid driversMechanics completed

CDRResearch/Test ComponentsWorking ROM/RAM Understanding of Microprocessor

architecture Milestone 1

Implemented FPGA logicCompleted MIDI translator codeWorking motor and solenoid driversMechanics completed

Milestones Cont.Milestones Cont.

Milestone 2Combine Code and SubsystemsBegin testing, debugging, and optimizing

ExpoFull functional designCosmetics addedPossible design extensions

More fretsImproved User Interface (LCD display)Rockin’ songs

Milestone 2Combine Code and SubsystemsBegin testing, debugging, and optimizing

ExpoFull functional designCosmetics addedPossible design extensions

More fretsImproved User Interface (LCD display)Rockin’ songs

Any Questions?Any Questions?