Audio Delay modul (4 / 12 steg)

Steg 4: mikroprocessor



Mikroprocessor (U1) används här är ett mikrochip 16F88, och den fungerar som hjärtat i systemet. Under huvudprogrammet ögla, mikro läser inkommande ljud, konverteras till ett digitalt värde och lagrar den till RAM-chips. Därefter läser ett prov att mata tillbaka från RAM-chips, och utgångar till DAC. Mikro utför dessa funktioner, och även hanterar adressering för RAM-buffert och beräknar adressen till fördröjd provet att hämta.

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.

Se Steg
Relaterade Ämnen

Laser Audio sändare och mottagare

Här är något intressant som tog mig en helg att bygga, jag tänkte en men detta i månader. Överföra ljudet via en laserstråle. Som vanligt har jag detaljerade instruktioner i videon. Eftersom inte jag är så bra på att skriva saker, NjutHär är länkarna...

Ring Blocker / telefonförsäljare tillslut

Vissa dagar verkar det som telefonen slutar aldrig ringa. Nummerpresentatör säger alltid "Toll Free Call" eller några andra dumheter. Jag ville ha ett sätt att bara släppa dessa samtal. Jag skulle använda en Arduino att titta på Nummerpresentatö...

10minutes osynliga Bluetooth högtalare

Här är en mycket enkel instructable att bygga din egen osynliga bluetooth-högtalare.Detta projekt använder magnetiseringsmaskiner. Dessa otroligt kompakta komponenter kan förvandla alla ytor och material till en högtalare. När ansluten till ytor, det...

CHR'S 8 X 8 X 8 LED Cube Revisited med förbättringar!

Se steg 17 för mer information angående musik inmatningsläge för icke-RAMP brädor.Det finns nu 7 musik lägen i bokförda koden, och jag söker fler idéer för animeringar eller musik utlöste effekter!HOPPA direkt till steg 1 om du bara vill få till de f...

Audiable minne bröstet

för min gode vän Elico 40-årsdag, beslöt jag att bygga en minne Kista som innehåller inspelningar av många av hans (löjligt stort antal) vänner, familj och medarbetare, som gått med på att samarbeta och dela minnen från tidig barndom tills den senast...

Klass D Audio moduleras Kit för högspänning Generation och RF makt Demonstration

Detta kit är en hög spänning. Den är avsedd för personer över 18 år gammal med tillräcklig kunskap om elektroniska. Innan du använder satsen, kontrollera att du har noggrant läsa igenom informationen.Denna enhet kommer att generera elektriska och mag...

Linkit en audio messenger

Har du någonsin träffat på problemet att snarast du måste gå någonstans och du försöker ringa din fru eller barn för att berätta för dem om problemet men inte kan kalla dem på grund av vissa nätverksfel. Jag är säker på någon punkt i livet du har trä...

Trådlös Audio Streaming och taligenkänning med Arduino

i detta projekt jag ansluta min Arduino ombord till en WiFly modul (https://www.sparkfun.com/products/10822) från ambulerande nätverk och strömma ljud till datorn, så att BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) kan utföra taligenkänning....

Audio Laser

musik lagras på min mp3-spelare som magnetiska mönster som omvandlas till vibrationer av elektrisk ström. I mina hörlurar spolar skapar dessa vibrationer, i sin tur ett vibrerande magnetfält. Eftersom det finns en permanent magnet inuti spolen, orsak...

PlayCase v1.5: modulär bärbara konsolen väska, Full HD 19 tum, lagt till högtalare!

Få en full-HD skärm i minsta möjliga formfaktor: 19,5 tumStrippa bezel och sätta ramen till en flygning fallLägga till en modulär fixering system för att tillgodose de flesta konsolerna; PlayStation 3 och Playstation 4, sound decoder...Göra kyla mång...

Billiga hem Automation med trådlös utlopp moduler

det är den tiden på året igen, när butikerna är fulla av juldekorationer och tillbehör. Julen kan vara månader bort ännu, men aldrig underskatta kraften i hacking säsongsbetonade semester tillbehör, ett tillbehör i synnerhet är otroligt användbara år...

HY502B RFID modul för pcDuino

HY502B är en 14.3 Mhz nära fältet RFID modul.För ytterligare detaljer hänvisas du till http://linksprite.com/wiki/index.php5?title=RFID_Reader/Write_Module_B _(SPI_interface)HY502B använda SPI att kommunikation med värd. pcDuino ger SPI API, så att v...

Ljud Modulated Solid State Tesla Coil

här är en video av min nya SSTC är detta test endast på 24 volt, och dess redan över en tum lång, förhoppningsvis, blir det mycket mer imponerande på full effekt.Här är en video av spolen i audio modulering läge vid 90 volt (detta var en tidigare tes...

3D Stereo Audio Spectrum Visualizer

I en av våra tidigare instructables, byggde vi en Arduino baserade Audio Spectrum Visualizer med våra bi-color LED Matrix moduler för visning. Du kan kolla upp det påFör några månader sedan, designat vi jolliCube, en 8 x 8 x 8 LED cube. Vi är mycket...

Robot röst Modulator

detta är en enkel att bygga anordning som omvandlar din egen mänskliga rösten till en överlägsen robot röst. Den innehåller också ett antal söta funktioner som en audio-in-kontakten så att du kan koppla in alla dina favorit instrument, mikrofoner och...

Seeedstudio RePhone: Kul & kreativa modulära DIY smartphone

Jag är inte en Smartphone missbrukare, jag intresserad aldrig av funktionerna i Smartphone eller som Smartphone är bäst för mig. Dock som en DIY entusiast fångar Seeedstudio RePhone mitt öga.Öppen källkod tillverkaren (SeeedStudio) publicerade världe...

Mycket enkel PWM med 555... modulera varje sak

Obs: någon kan be mig om hjälp. Inte kommentera mig min stavning och grammatik... Eftersom min mor språk inte är engelska. OK LÅTER GÅoch även vänligen Vänligen Betygsätt min instructable välHej var och en. Idag ska jag visa dig hur man gör en PWM (p...

Baserade Arduino Bi-color LED Matrix Audio Spectrum Visualizer

Efter att vi kom med Bi-color LED Matrix drivrutinsmodulen kit, har vi letat efter intressanta projekt att arbeta med den.Du kan vara intresserad av några av de projekt som vi har lagt upp på instructables använder detta ledde matrisen kit.Instructab...

LinkIt en och en VFD modul

Min första steget till en personlig mobil säkerhetssystem använder en LinkIt är mänskliga gränssnittet. Med all elektronik behöver du ett mänskligt gränssnitt, en LCD- eller annan anordning för att berätta vad läge enheten du använder och vilken enhe...