guitar effects processor critical design review october, 07, 2003
DESCRIPTION
Guitar Effects Processor Critical Design Review October, 07, 2003. Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef. System Overview. Guitar effects generator - PowerPoint PPT PresentationTRANSCRIPT
Guitar Effects ProcessorGuitar Effects ProcessorCritical Design ReviewCritical Design Review
October, 07, 2003October, 07, 2003
Groups Members:Groups Members:
Adam BernsteinAdam Bernstein
Hosam GhaithHosam Ghaith
Jasenko AlagicJasenko Alagic
Matthew Iyer Matthew Iyer
Yousef AlyousefYousef Alyousef
System OverviewSystem Overview
Guitar effects generator Guitar effects generator – Takes input from standard audio source and Takes input from standard audio source and
produces output to standard amplifiers in real-produces output to standard amplifiers in real-time output time output
– Employs a modular design of effects Employs a modular design of effects including “Distortion” and “Octave” circuitsincluding “Distortion” and “Octave” circuits
– Is programmed by musician though user Is programmed by musician though user friendly interfacefriendly interface
– Produces good audio qualityProduces good audio quality
System Block DiagramSystem Block Diagram
MICRO-PROCESSING
UNITRAM
USER INTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
SIGNALPROCESSING
CIRCUIT(EFFECT 1)
SIGNALPROCESSING
CIRCUIT(EFFECT 2)
SIGNALPROCESSING
CIRCUIT(EFFECT 3)
AUDIOSIGNALINPUT
ROM
User InterfaceUser Interface Effect Configuration fileEffect Configuration file Real-time control softwareReal-time control software User program softwareUser program software
Effect Configuration FileEffect Configuration File
Specify port-to-effect mappingSpecify port-to-effect mapping Enables software to be user friendlyEnables software to be user friendly Example:Example:
– port 0 : Distortionport 0 : Distortion– port 1 : Octaveport 1 : Octave
Real-time Control SoftwareReal-time Control Software
Reads effect configuration file and Reads effect configuration file and generates a GUIgenerates a GUI
Demo!Demo!
User Program SoftwareUser Program Software
A user program consists of two simple A user program consists of two simple commands:commands:– StateState– Sequence of State commands in timeSequence of State commands in time
Software interprets an ASCII file containing Software interprets an ASCII file containing commands and sends it to the HC11 to be commands and sends it to the HC11 to be stored in SRAMstored in SRAM
Uses effect configuration file for user-Uses effect configuration file for user-friendly programmingfriendly programming
StateState
A State command specifies the intensity of A State command specifies the intensity of each effecteach effect
Examples:Examples:– state <id> : <effect_name> <value> <…>state <id> : <effect_name> <value> <…>– state 0 : distortion 128 octave 64state 0 : distortion 128 octave 64– state 1 : distortion 192 octave 128state 1 : distortion 192 octave 128– state 2 : distortion 256 octave 64state 2 : distortion 256 octave 64
SequenceSequence
Allows the user to specify a series of states Allows the user to specify a series of states and timesand times
Example:Example:– sequence <id > : <state_id> <time in ms> <…> sequence <id > : <state_id> <time in ms> <…>
<end_sequence_tag> <loop_bit><end_sequence_tag> <loop_bit>– sequence 0 : 0 0 1 5000 2 10000 % 1sequence 0 : 0 0 1 5000 2 10000 % 1
Digital Control SystemDigital Control SystemHC11HC11
System Block DiagramSystem Block Diagram
MICRO-PROCESSING
UNITRAM
USER INTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
SIGNALPROCESSING
CIRCUIT(EFFECT 1)
SIGNALPROCESSING
CIRCUIT(EFFECT 2)
SIGNALPROCESSING
CIRCUIT(EFFECT 3)
AUDIOSIGNALINPUT
ROM
EPROM ContentsEPROM Contents
Code to Initialize the systemCode to Initialize the system Interrupt driven serial communication with Interrupt driven serial communication with
PCPC Code to write to the SPI interface to adjust Code to write to the SPI interface to adjust
effectseffects Code to interpret user programsCode to interpret user programs
SRAMSRAM
Save the current system stateSave the current system state– Store connected effect circuitsStore connected effect circuits– Store effects variablesStore effects variables
Store user programs (loaded from user Store user programs (loaded from user interface)interface)
PeripheralsPeripherals
Support for up to 4 effect circuitsSupport for up to 4 effect circuits Each effect circuit can have 2 digitally Each effect circuit can have 2 digitally
controlled devicescontrolled devices
Communication with PeripheralsCommunication with Peripherals
Serial Peripheral Interface (SPI) to Serial Peripheral Interface (SPI) to communicate with effect circuitscommunicate with effect circuits
RS-232 interface to communicate with PC RS-232 interface to communicate with PC (user interface)(user interface)
I/O port (Port A)I/O port (Port A)– Turn effects on/offTurn effects on/off– Determine which effects are connectedDetermine which effects are connected
Port APort A
4 out of the 8 pins will be used as parallel 4 out of the 8 pins will be used as parallel inputsinputs– Used to detect which effects are connected.Used to detect which effects are connected.– CNCT0’-CNCT3’ bits (active low)CNCT0’-CNCT3’ bits (active low)
The rest are used as outputs to turn effects The rest are used as outputs to turn effects on and offon and off– ON0-ON3 bitsON0-ON3 bits
Port A ConnectionsPort A Connections
Effect 0
Memory Mapping SchemeMemory Mapping Scheme
Increasing Addresses
Address in Binary Hex Address Use 1111xxxxxxxxxxxx FFFFh 1110xxxxxxxxxxxx 1101xxxxxxxxxxxx 1100xxxxxxxxxxxx 1011xxxxxxxxxxxx 1010xxxxxxxxxxxx 1001xxxxxxxxxxxx 1000xxxxxxxxxxxx 8000h
SRAM (32KB)
0111xxxxxxxxxxxx 7FFFh 0110xxxxxxxxxxxx 6000h
Peripherals (8KB)
0101xxxxxxxxxxxx 5FFFh 0100xxxxxxxxxxxx 0011xxxxxxxxxxxx 0010xxxxxxxxxxxx 0001xxxxxxxxxxxx 0000xxxxxxxxxxxx 0000h
EPROM (24KB)
Address DecodingAddress Decoding
SRAM
Peripherals
EPROM
Mixed Signal InterfaceMixed Signal Interface
Communication between HC11 and Communication between HC11 and analog effect circuitsanalog effect circuits
System Block DiagramSystem Block Diagram
MICRO-PROCESSING
UNITRAM
USER INTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
SIGNALPROCESSING
CIRCUIT(EFFECT 1)
SIGNALPROCESSING
CIRCUIT(EFFECT 2)
SIGNALPROCESSING
CIRCUIT(EFFECT 3)
AUDIOSIGNALINPUT
ROM
SPI (Serial Peripheral Interface)SPI (Serial Peripheral Interface) The SPI is a typical Master/Slave partnership in The SPI is a typical Master/Slave partnership in
which directional communication takes placewhich directional communication takes place There are four channels that make up this interfaceThere are four channels that make up this interface
– SCLK (Serial Clock)SCLK (Serial Clock)– MOSI (Master Out Slave In)MOSI (Master Out Slave In)
» One way communication channel from the master to the slave(s)One way communication channel from the master to the slave(s)
– MISO (Master In Slave Out )MISO (Master In Slave Out )» Opposite of MOSIOpposite of MOSI
– SS (Slave Select)SS (Slave Select)» The request line controlled by the master to initiate communication The request line controlled by the master to initiate communication
with the slave(s)with the slave(s)
Sample SPI Data TransferSample SPI Data Transfer
Connection between Effect and Connection between Effect and HC11HC11
SCK: Serial Clock
MOSI: Master Out Slave In
MISO: Master In Slave Out
SS’: Slave Select bits (Active Low) Multiplexed
CNCT’: Device connected bit (Active Low)
ON: Turns device on
MOSI MISO SS1’SCK SS2’ CNCT’ ON
Physical SPI LayoutPhysical SPI Layout
Xicor X9250Xicor X9250 Digitally Controlled Digitally Controlled
PotentiometerPotentiometer Turns on/off a series of Turns on/off a series of
~1000 gates moving a ~1000 gates moving a “Wiper Arm” up and “Wiper Arm” up and down the potentiometer down the potentiometer altering the effective altering the effective resistanceresistance
System Block DiagramSystem Block Diagram
MICRO-PROCESSING
UNITRAM
USER INTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
MIXED-SIGNALINTERFACE
SIGNALPROCESSING
CIRCUIT(EFFECT 1)
SIGNALPROCESSING
CIRCUIT(EFFECT 2)
SIGNALPROCESSING
CIRCUIT(EFFECT 3)
AUDIOSIGNALINPUT
ROM
Octave Effect TheoryOctave Effect Theory
The octave effect doubles the frequency of The octave effect doubles the frequency of the input signal then superimposes the new the input signal then superimposes the new signal onto the original soundsignal onto the original sound
The user controls how much the original The user controls how much the original signal is to be mixed back in with its signal is to be mixed back in with its octave.octave.
Octave Effect Theory Cont’dOctave Effect Theory Cont’d
The input signal is first The input signal is first passed through a full wave passed through a full wave rectifier creating the rectifier creating the following signalfollowing signal
Lowpass filter to “smooth Lowpass filter to “smooth out” sharp edges, out” sharp edges, effectively creating DC-effectively creating DC-biased sinusoidbiased sinusoid
High-pass filter with High-pass filter with cutoff frequency < 80 Hz cutoff frequency < 80 Hz eliminating the DC-bias of eliminating the DC-bias of the signalthe signal
Octave Effect LayoutOctave Effect Layout
Distortion Effect TheoryDistortion Effect Theory
Signal is clipped from both the top and bottom, Signal is clipped from both the top and bottom, effectively adding higher frequency harmonics.effectively adding higher frequency harmonics.
The two voltage levels at which the signal is The two voltage levels at which the signal is clipped are fixed. To increase distortion, the input clipped are fixed. To increase distortion, the input signal is amplified, leading to more distortion but signal is amplified, leading to more distortion but also to higher volume (increased RMS value).also to higher volume (increased RMS value).
To keep volume fixed: a gain stage must be To keep volume fixed: a gain stage must be cascaded decreasing the amplitude of the output cascaded decreasing the amplitude of the output signal at the same rate that the distortion is signal at the same rate that the distortion is increased.increased.
Distortion Effect LayoutDistortion Effect Layout
Milestone I GoalsMilestone I Goals
Design and fully implement analog effect Design and fully implement analog effect circuits using knob potentiometers as effect circuits using knob potentiometers as effect intensity controllersintensity controllers
Implement real-time computer GUI Implement real-time computer GUI interfaceinterface
Be able to read/write to SRAM with Be able to read/write to SRAM with microprocessormicroprocessor
Milestone II Milestone II
Be able to communicate to PC via RS-232Be able to communicate to PC via RS-232 Write software to parse an effects program Write software to parse an effects program
filefile Program digitally controlled components Program digitally controlled components
through SPIthrough SPI Replace knob analog potentiometers with Replace knob analog potentiometers with
digitally controlled componentsdigitally controlled components
Division of LaborDivision of Labor
Tasks:Tasks: Done by:Done by:
Design and Implementation of Design and Implementation of Distortion CircuitDistortion Circuit
Adam, Jasenko and HosamAdam, Jasenko and Hosam
Design and Implementation of Design and Implementation of Octave CircuitOctave Circuit
Adam, Jasenko and HosamAdam, Jasenko and Hosam
Mixed-Signal InterfaceMixed-Signal Interface Adam, Jasenko, Yousef, HosamAdam, Jasenko, Yousef, Hosam
Microprocessor/SoftwareMicroprocessor/Software Matthew, YousefMatthew, Yousef
Systems IntegrationSystems Integration EverybodyEverybody
Testing and Quality AssuranceTesting and Quality Assurance EverybodyEverybody
Updated ScheduleUpdated ScheduleID Task Name Duration Start Finish
1 Initial Idea Proposal 6 days Mon 8/25/03 Mon 9/1/03
2 Investigation Phase 6 days Mon 8/25/03 Mon 9/1/03
3 Critical Design Review 6 days Tue 9/2/03 Tue 9/9/03
4 Preliminary Design Review 20 days Wed 9/10/03 Tue 10/7/03
5 Milestone 1 15 days Wed 10/8/03 Tue 10/28/03
6 Milestone 2 15 days Wed 10/29/03 Tue 11/18/03
7 Preliminary User Manual 6 days Tue 9/2/03 Tue 9/9/03
8 Final User Manual 62 days Wed 9/10/03 Thu 12/4/03
9 Technical Reference Manual 63 days Tue 9/9/03 Thu 12/4/03
10 Analog "Distortion" Circuit 20 days Tue 9/9/03 Mon 10/6/03
11 Analog "Octave" Circuit 14 days Thu 10/9/03 Tue 10/28/03
12 Mixed-Signal Interface 45 days Tue 9/9/03 Mon 11/10/03
13 Working protoboard w/CPU 23 days Tue 9/9/03 Thu 10/9/03
14 Create a CPU 45 days Tue 9/9/03 Mon 11/10/03
15 Interface SRAM with MPU 17 days Mon 10/6/03 Tue 10/28/03
16 Software Development 45 days Tue 9/9/03 Mon 11/10/03
17 Comm. to PC via RS-232 32 days Mon 10/6/03 Tue 11/18/03
18 Real Time GUI Interface 17 days Mon 10/6/03 Tue 10/28/03
19 Additional analog effects 12 days Mon 11/10/03 Tue 11/25/03
20 System Integration 12 days Mon 11/10/03 Tue 11/25/03
21 Testing and Quality Assurance 4 days Wed 11/26/03 Mon 12/1/03
22 Internal Expo 1 day Tue 12/2/03 Tue 12/2/03
23 Capstone Expo 3 days Wed 12/3/03 Fri 12/5/03
Team
Everybody
Everybody
Everybody
Everybody
Eveybody
Everybody
Everybody
Everybody
Jasenko and Adam
Jasenko, Adam
Jasenko, Adam, Yousef
Matthew, Hosam, Yousef
Matthew, Hosam, Yousef
Matthew, Hosam, Yousef
Matthew, Yousef,Jasenko
Matthew
Jasenko, Adam, Yousef
Everybody
Everybody
Everybody
Everybody
22 25 28 31 3 6 9 12 15 18 21 24 27 30 3 6 9 12 15 18 21 24 27 30 2 5 8 11 14 17 20 23 26 29 2 5 8 11 14 17 20August 2003 September 2003 October 2003 November 2003 December 2003
Questions?Questions?