Audio Delay modul (4 / 12 steg)
Steg 4: mikroprocessor
Det finns också många konfiguration och städning funktioner utförs av mikroprocessorn. De allmänna funktioner som utförs av mikroprocessorn som beskrivs nedan.
Analog till Digital konvertering
Mikroprocessor innehåller en intern ADC som har en upplösning på 10 bitar, men bara 8 bitar av värdet används. De två minst signifikanta bitarna av värdet ignoreras.
Det finns två analoga ingångar läsa av mikroprocessorn under huvudprogrammet ögla. En är ljudingången och andra är inställningen fördröjning.
Förseningen ingång är en analog ingång som avgör hur stor fördröjning det är mellan inkommande och utgående signalerna. 0 volt motsvarar 0% av fullt skalutslag dröjsmål och VDD motsvarar 100% av fullt skalutslag dröjsmål. Det värde som avläses används för att beräkna RAM adressen till fördröjd provet som kommer att spelas upp.
Op-amp U6-C används för att buffra dröjsmål spänningen till mikroprocessor A/D stift. Det analoga värdet för fördröjning input kan genereras av en potentiometer som används för att ange spänning på denna pin, som ger en fördröjning från 0 sekunder till full skala. Detta gör att ett fast dröjsmål belopp anges enkelt. Det kan också vara bra att använda en extern signal för att styra förseningen. Alla typer av underliga ljud effekter kan produceras genom att köra dröjsmål inställningen indata med olika vågformer. Av den anledningen även min design en kontakt för att tillåta en extern källa för att köra förseningen ställa input. Schematiskt visar förseningen inställning potentiometer R24 med torkar ansluten till ingången på U6-C via en 10 k motstånd, R3. Med R3 på plats, kan den yttre signal som matas in via kontakten fortfarande köra op förstärkaren input, även med potentiometer ansluten. C24 hjälper till att lågpassfilter dröjsmål insignalen.
SPI Bus Master
Mikro kommunicerar med RAM och DAC marker i SPI kommunikation gränssnittet. Micro är konfigurerad som master och RAM och DAC Flisen slav enheter. Alla SPI kommunikation är därför initierat och kontrolleras av mikroprocessorn.
Bestämma fullt skalutslag fördröja inställning
Fullskalig är dröjsmål konfigurerbara genom att ange de 3 digitala ingångarna antingen hög eller låg. Detta tillåter användaren att välja en full skala rad som är mindre än den totala RAM buffertstorleken. R10, R11 och R12 används för att dra upp de digitala ingångarna. Brytare S1-A, S1-B och S1-C är en quad DIP-switch. När någon av växlarna är stängda, dras motsvarande digital ingång låg.
Ingår här tabellen visar olika fullt skalutslag förskjutningsvärden möjligt baserat på switch inställning, samplingsfrekvens och RAM-kapacitet,
Fastställa RAM-konfigurationen
Mikroprocessorn avgör också om systemet har konfigurerats för en eller två RAM-chips. Resistor R13 måste användas om två marker ska användas. När kretsen drivs först upp, läser mikroprocessorn linjen som indata. Om linjen är hög, programvaran är konfigurerad för två RAM-chips och den adressering används internt är inställd för detta. Linjen kommer att användas för chip Välj signal för det andra RAM-chippet i den konfigurationen. Om bara en marker är att användas, dra linjen låg med R14. Endast en av dessa motstånd (R13 eller R14) bör fyllas i på en gång, beroende på hur många RAM marker används. Dessa rader ska konfigureras genom att knyta dem höga eller låga via en stor värde motstånd (10k används här), annars raden till mikroprocessorn kan skadas.
Oscillator
Mikro kan fungera med högst 20MHz för processorns klockfrekvens. En extern 20MHz oscillator (X1) används här. Alla kretsar här körs från 3.3V, men oscillatorn ingår 5 Volt. Resistor R16 sätts i serien mellan oscillator utdata och mikroprocessor klockan ingång, för att begränsa strömmen så att det kan driva den 3.3V drivs mikroprocessor utan problem. Inuti mikroprocessorn, klockan pulserar spänning spänns till 3.3V, och så den mikroprocessor ingången inte är skadad.
Kondensator C6 är en bypass kondensator för oscillatorn.
LED-indikator
LED1 används blinka status eller fel koder till användaren. R15 används för att begränsa strömmen genom lysdioden. Kondensator C5 är en bypass kondensator för mikroprocessorn.
Mikroprocessor Pin funktioner
Detta är en kortfattad lista över de funktioner som varje stift i mikroprocessorn
Stift 1
Ljudingång. Detta är en analog ingång av mikroprocessor som tar prover in ljud.
Stift 2
RAM-konfigurationen Input, även RAM2 Chip välja. Power upp denna linje är en ingång, används för att ange RAM-konfigurationen. Hög = 2 RAM-chips, låg = 1 RAM-krets. Om två marker används kopplas här raden sedan till en produktion som används som chip markerar du raden av mikroprocessorn att inleda SPI kommunikation med andra RAM
Stift 3
Lägesinställning. Detta är en digital ingång som används för att fastställa om programmet kommer in normalläge eller testläge. Raden läses efter uppstart, och koden körs det läge som väljs. Hög = normalt läge, låg = testläge.
Stift 4
Kurs utbud. Detta är en digital ingång som används för att bestämma huruvida samplingsfrekvens bör 11025 Hz eller 8000 Hz. hög =, = låg. Den här inställningen har bara en effekt under normalt driftsläge, och den kan ändras när som helst under drift.
Stift 5
GND (VSS)
Stift 6
Chip Välj för DAC. Denna linje är en utgång som låg av mikroprocessorn initiera SPI kommunikation med DAC.
Stift 7
Seriell indata. Indata till mikroprocessor. Denna linje är inmatning av data från andra SPI-enheter till mikroprocessorn.
Stift 8
Seriella Data ut. Data från mikroprocessor). Denna linje är data utdata från den
mikroprocessorn till andra enheter på SPI-bussen.
PIN 9
Chip Välj för RAM1. Denna linje är en utgång som låg av mikroprocessorn initiera SPI kommunikation med första RAM
Stift 10
SCLK. Klocka för SPI kommunikation. Denna linje är den klocka som används av SPI-enheter. Den genereras av mikroprocessorn och styr klockning av data till och från enheter på SPI-bussen.
Stift 11
Dröjsmål intervall Välj ingång A (minst signifikanta biten)
Stift 12
Dröjsmål intervall Välj ingång B
Stift 13
Dröjsmål intervall Välj ingång C (mest signifikanta biten)
Stift 14
VCC (+ 3.3V power för mikroprocessor)
PIN 15
LED indikator utdata. LED används som en indikator under testläge.
PIN 16
Oscillator Input. En extern 20MHz oscillator används för att driva detta stift.
PIN 17
Oanvända
PIN 18
Försenar ställa Input. Detta är en analog ingång för mikroprocessorn som lyder inställningen fördröjning
input.