Audio Delay Module (4 / 12 stap)

Stap 4: Microprocessor


De microprocessor (U1) gebruikt hier is een 16F88 van de Microchip, en het dient als het hart van het systeem. Tijdens de loop van het hoofdprogramma, de micro leest de input audio, wordt geconverteerd naar een digitale waarde, en slaat ze op de RAM-chips. Vervolgens leest een steekproef output terug van de RAM-chips, en het-uitgang van de DAC. De micro voert deze functies, en ook beheert de adressering voor de RAM-buffer en berekent het adres van het vertraagde monster te halen.

Er zijn ook veel configuratie en huishouden functies uitgevoerd door de microprocessor.  De algemene functies uitgevoerd door de microprocessor, zoals hieronder beschreven.

Analoog naar digitaal conversie

De microprocessor bevat een interne ADC die een resolutie van 10 bits heeft, maar alleen 8 bits van de waarde worden gebruikt. De twee minst significante bits van de waarde worden verwijderd.

Er zijn twee analoge ingangen gelezen door de microprocessor tijdens het hoofdprogramma lus. Een is de audio-ingang, en de tweede is de instelling van de vertraging.

De vertraging ingang is een analoge ingang die bepaalt hoeveel vertraging er is tussen de input en output signalen. 0 volt komt overeen met 0% van de volledige schaaluitslag vertraging en VDD komt overeen met 100% van de volledige schaaluitslag vertraging. De waarde die wordt gelezen wordt gebruikt voor het berekenen van de RAM-adres van het vertraagde monster dat wordt afgespeeld.

Op amp U6-C wordt gebruikt om de buffer van de ingangsspanning vertraging aan op de microprocessor A/D-pin. De analoge waarde voor de vertraging-input kan worden gegenereerd door een potentiometer die wordt gebruikt om de spanning op deze pin, verstrekken van een vertraging van 0 seconden tot de schaaleindwaarde. Hierdoor kan een vaste vertraging bedrag te gemakkelijk worden ingesteld. Het kan ook nuttig zijn te gebruiken van een extern signaal om te bepalen van de vertraging. Allerlei vreemde geluidseffecten kunnen worden geproduceerd door het rijden van de vertraging instelling input met verschillende golfvormen. Om die reden ook mijn ontwerp een connector om een externe bron worden gebruikt om te rijden de vertraging instellen invoer toe te staan. Het schema toont de vertraging instellen potentiometer R24 met de Wisser op de ingang voor U6-C via een 10 k ohm weerstand, R3 aangesloten. Met de R3 in plaats, kan het externe signaal dat wordt ingevoerd via de connector nog steeds rijden de op-amp ingang, zelfs met de potmeter aangesloten. C24 helpt bij het low-pass filter het ingangssignaal van de vertraging.

SPI Bus Master

De micro communiceert met de RAM en DAC chips met de SPI communicatie-interface. De micro is geconfigureerd als de meester, en de RAM en DAC chips zijn slaaf apparaten. Alle mededelingen van de SPI zijn daarom gestart en bestuurd door de microprocessor.

Bepalen van de volledige schaaluitslag vertraging instelling

Het volledige schaalbereik vertraging bereik kan worden geconfigureerd door het instellen van de 3 digitale ingangen hoog of laag. Hierdoor kan de gebruiker een volledige schaal bereik dat kleiner is dan de totale grootte van de buffer van de RAM te selecteren. R10, R11 en R12 worden te trekken van het digitale ingangen gebruikt. Schakelaars S1-A, S1-B en S1-C zijn een quad DIP-schakelaar. Als een van de schakelopties zijn afgesloten, wordt de bijbehorende digitale ingang laag getrokken.

De tabel opgenomen hier ziet u de verschillende schaaleindwaarde vertragingswaarden mogelijk gebaseerd op de schakelaarinstelling samplefrequentie en de RAM-capaciteit,

Bepalen van de RAM-configuratie

De microprocessor bepaalt ook of het systeem is geconfigureerd voor één of twee RAM-chips. Weerstand R13 moet worden gebruikt als twee chips worden gebruikt. Wanneer het circuit is eerst ingeschakeld, leest de microprocessor de lijn als een input. Als de lijn hoog is, de software is geconfigureerd voor twee RAM-chips en intern de adressering gebruikt is daarvoor instellen. De lijn zal worden gebruikt voor de chip select signaal voor de tweede RAM-chip in die configuratie. Als er slechts één chip is te gebruiken, trekken de lijn laag R14 gebruiken. Slechts één van deze weerstanden (R13 of R14) in één keer moet worden gevuld, afhankelijk van hoeveel RAM chips worden gebruikt. Deze lijnen moeten worden geconfigureerd door koppelverkoop hen hoog of laag via een weerstand van grote waarde (10k werd hier gebruikt), anders is de regel met de microprocessor beschadigd.

Oscillator

De micro kunt bedienen met een maximum van 20MHz voor de klokfrequentie. Een externe 20MHz oscillator (X1) is hier gebruikt. Alle de circuits hier vanaf 3,3 v wordt uitgevoerd, maar de oscillator is een 5 Volt deel. Weerstand R16 series tussen de output van de oscillator en de klok van de microprocessor input wordt opgezet, om het huidige te beperken, zodat het de 3,3 v rijden kan aangedreven microprocessor zonder probleem. Binnen de microprocessor, de spanning van de pulsen van de klok is geklemd naar 3,3 v, en dus de inbreng van de microprocessor niet is beschadigd.

Condensator C6 is een condensator bypass voor de oscillator.

LED-Indicator

LED1 wordt gebruikt om het knipperen van de status- of foutcode codes aan de gebruiker. R15 wordt gebruikt voor het beperken van de stroom door de LED.  Condensator C5 is een condensator bypass voor de microprocessor.

Microprocessor Pin functies
Dit is een beknopte lijst van de functie die wordt uitgevoerd door elke pin van de microprocessor

Pin 1
Audio Input. Dit is een analoge ingang van de microprocessor dat de input audio samples.

Pin 2
RAM-configuratie Input, ook RAM2 Chip selecteren. Op deze regel de nodige energie is een inbreng gebruikt om aan te geven van de RAM-configuratie. Hoog = 2 RAM-chips, laag = 1 RAM-chip. Als twee chips worden gebruikt, wordt deze lijn vervolgens overgeschakeld op een uitvoer die gebruikt als de chip Kiesderegel door de microprocessor om SPI communicatie met de tweede RAM te initiëren

Pin 3
Modus instelling. Dit is een digitale ingang gebruikt om te bepalen als de testmodus of de normale modus wordt ingevoerd. De lijn wordt gelezen na de nodige energie, en de code wordt uitgevoerd op de modus die is geselecteerd. Hoog = normale modus, laag = test-modus.

Pin 4
Sample Rate selectie. Dit is een digitale ingang gebruikt om te bepalen of de samplefrequentie 11025 Hz of 8000 Hz. moet zijn hoog =, laag =. Deze instelling heeft alleen effect tijdens normale bedrijfsmodus, en het kan worden gewijzigd op elk moment tijdens de operatie.

Pin 5
GND (VSS)

Pin 6
Chip select voor DAC. Deze regel is een output die laag wordt veroorzaakt door de microprocessor om SPI communicatie met de DAC te initiëren.

Pin 7
Seriële Data Input. Gegevensinvoer met microprocessor. Deze regel is de inbreng van de gegevens van de andere SPI-apparaten met de microprocessor.

Pin 8
Seriële Data uit. Data output van microprocessor). Deze lijn is de output van de gegevens van de
microprocessor met de andere apparaten op de bus SPI.

Pin 9
Chip select voor RAM1. Deze regel is een output die laag wordt veroorzaakt door de microprocessor om SPI communicatie met de eerste RAM te initiëren

Pin 10
SCLK. Klok voor SPI communicatie. Deze regel is de klok door de SPI-apparaten gebruikt. Het wordt gegenereerd door de microprocessor en beheerst de klokken van gegevens naar en van apparaten op de bus SPI.

PIN 11
Vertraging bereik selecteert u Input A (minst significante bit)

Pin 12
Vertraging bereik Kies ingang B

Pin 13
Vertraging bereik Kies ingang C (meest significante bit)

Pin 14
VCC (+ 3,3 v power voor microprocessor)

Pin 15
LED indicator uitvoer. De LED wordt gebruikt als een indicator tijdens test-modus.

Pin 16
Oscillator Input. Een externe 20MHz oscillator wordt gebruikt om te rijden deze pin.

PIN 17
Ongebruikte

PIN 18
Vertraging instellen Input. Dit is een analoge ingang van de microprocessor die de vertraging instelling leest
ingang.

Gerelateerde Artikelen

Laser Audio zender en ontvanger

Laser Audio zender en ontvanger

Hier is iets interessant dat kostte me een weekend om te bouwen, ik dacht een maar dit voor maanden. Verzendende Audio door middel van een laserstraal. Per gebruikelijk heb ik de gedetailleerde instructies in de video. Want ik niet zo goed ben bij he
Interactieve Halloween pompoen (Arduino gebaseerd)

Interactieve Halloween pompoen (Arduino gebaseerd)

HET IDEEEen pompoen die gloeit, schudt en schreeuwt... [video]Het is Halloween, dus natuurlijk, dat we moesten een project die verband houdt met die.Het idee is om een pompoen, die zintuigen van de aanwezigheid van een persoon die probeert te krijgen
10 minuten onzichtbaar Bluetooth luidsprekers

10 minuten onzichtbaar Bluetooth luidsprekers

Hier is een zeer eenvoudig te bouwen uw eigen onzichtbare bluetoothspreker instructable.Dit project gebruik exciters. Deze ongelooflijke compacte onderdelen kunnen alle oppervlakken en materialen omzetten in een spreker. Wanneer aan oppervlakken, het
DIY upgraden draagbare luidspreker

DIY upgraden draagbare luidspreker

Geïnspireerd door sommige projecten ik heb hier met behulp van LM386... En ik kreeg mijn LM 386 van elektronische winkel de volgende dag.,. Maar ik denk waarom gaan met de LM386 zo snel, dus heb ik besloten om te upgraden van mijn oude aangedreven dr
Star Trek Red Alert geluid effect (met behulp van de 555 timers)

Star Trek Red Alert geluid effect (met behulp van de 555 timers)

Mijn familie ging op een Star Trek-kick onlangs en ik probeerde te maken iets verwante dus ik dit maakte te simuleren van de Star Trek rode waarschuwing.Eerst ik keek online te vinden van een schakeldiagram maar ik kon het niet vinden een werkende pr
Flux Capacitor - Back To The Future

Flux Capacitor - Back To The Future

Sinds de release van de film terug in de jaren 80 hebben ik zijn geobsedeerd door de film Back To The Future herhaaldelijk kijken van de trilogie. Ik zag het in de bioscoop steeds weer, ik was erg gelukkig dat mijn oudoom een filmoperateur, was dus i
Bluetooth buis ontvanger Project 5 Japanse vooroorlogse tijdperk is 3-buis

Bluetooth buis ontvanger Project 5 Japanse vooroorlogse tijdperk is 3-buis

Dit is de vijfde reeks van mijn project.Ik kocht het op een veilingsite enkele jaren geleden. Dat was solide en gemaakt met grote zorg, en was niet goedkoop.De oorspronkelijke verzameling was een drievoudige buis 0-V-1 ontvanger, 12B (rectifier)-24B
Bel Blocker / telemarketeer stop

Bel Blocker / telemarketeer stop

Sommige dagen lijkt het alsof het nooit stopt met de telefoon rinkelen. De beller-ID zegt altijd "Toll Free Call" of enige andere onzin. Ik wilde een manier om gewoon drop deze oproepen. Ik ging met een Arduino te kijken van de beller-ID en elke
BluetoothBox voor Stereo Hoofdtelefoons en sprekers

BluetoothBox voor Stereo Hoofdtelefoons en sprekers

Hoi allemaalIk hou van wat mijn koptelefoon, maar een paar weken geleden, mijn vriend kocht een nieuwe bluetooth-headset, ik ben van plan om over te schakelen naar bluetooth koptelefoon. Maar ik wil niet weg te gooien de liefde van mijn koptelefoon,
Goedkope Bluetooth box!

Goedkope Bluetooth box!

afgewerkt product!Stap 1: zoeken gebroken Bluetooth luidspreker!Mijn verloofde confituur weg te hard op haar CANZ 808 Bluetooth spreker, dus uiteraard ze blies de spreker. nutteloos om haar nu! schat voor mij!Stap 2: Verwijder audio/Bluetooth-module
Microduino mCookie Music Player - links magnetisch, LEGO® & Arduino-compatibele

Microduino mCookie Music Player - links magnetisch, LEGO® & Arduino-compatibele

Ik wil met u delen dit eenvoudig te maken mCookie muziekspeler van Microduino. Het hele project vereist slechts 5 mCookie modules, die link magnetisch om ervoor te zorgen dat er altijd de juiste verbinding wordt gemaakt. Het kan worden geprogrammeerd
Arduino digitale FM-Radio (TEA5767)

Arduino digitale FM-Radio (TEA5767)

Hallo! In dit project zal ik u tonen hoe gemakkelijk gebruiken TEA5767 module en bouwen van uw eigen digitale FM-Radio!Spullen die u nodig heeft:Arduino unoTEA5767 Radio moduleDisplay van de Nokia 5110 (pcb versie)2 x drukknopOptioneel, als u wilt ge
Audiable geheugen borst

Audiable geheugen borst

voor mijn goede vriend Elico de 40ste verjaardag, heb ik besloten om het bouwen van een geheugen borst met opnamen van veel van zijn (absurd groot aantal) vrienden, familie en collega's, die overeengekomen om samen te werken en om herinneringen uit d
Montage van de FloppyBot-09-robot...

Montage van de FloppyBot-09-robot...

ik ontwierp de FloppyBot robots voor meerdere doeleinden;1. nieuwe tekens voor RoboToons cartoons... beide nog en geanimeerd.2. zelf afdrukken robot onderdelen voor thuis hobbyisten.  U koopt een kit voor $3 bij 3DAGogo https://www.3dagogo.com/SolidW