Muziek afspelen van de wekker (14 / 24 stap)

Stap 14: Inleiding tot de VS1033D


De VS1033d is een muziek-decoder, digitaal naar analoog converter, en hoofdtelefoon-driver alle ingebouwd in één pakket, met enkele andere bells en fluitjes zoals opname. VLSI maakt deze chips. SparkFun verkoopt de VS1033D op een breakout-board, ga koop een, of iets dergelijks.

VS1033D productpagina: http://www.vlsi.fi/en/products/vs1033.html
SparkFun breakout board: http://www.sparkfun.com/products/8792
Datasheet: http://www.vlsi.fi/fileadmin/datasheets/vlsi/vs1033d.pdf

De SparkFun breakout board heeft al de aanbevolen externe circuits voor de kale VS1033D-chip, als u niet dit breakout board, gebruikt u zal moet implementeren de aanbevolen externe circuits jezelf, waarin je moet achterhalen door het lezen van het gegevensblad. Maar ik zal niet tonen u hoe dat te doen, mijn bedradingsschema leert u met behulp van de breakout board. Als u een kijkje op de SparkFun VS1033D breakout board schema nemen, kunt u vergelijkingen tussen de aanbevolen schema's binnen het gegevensblad en de breakout board.

Deze chip heeft twee SPI interfaces, een voor opdrachten en instellingen (kloksnelheid, volume, etc) genoemd SCI, de andere voor het streamen van audiogegevens SDI genoemd. Zowel SPI bussen SPI-modus 0 (CPOL en CPHA beide 0, hetzelfde als onze SD-kaart, die goed is) gebruiken, zin de klok begint laag en laat laag, en de gegevens op de stijgende rand wordt gelezen. Er is een actieve laag chip select voor beide interfaces (CS voor SCI en DCS voor SDI, de DCS-pin is een afkorting voor BSYNC soms). Met de 12.288 MHz kristal geboden op de breakout board, mag de kloksnelheid van uw SPI niet meer dan 2 MHz (dus... we moeten vertragen de SPI klok voordat gegevens worden verzonden naar de VS1033D, en verhogen het terug tot 4 MHz na, omdat de SD-kaart maakt gebruik van SPI klok van 4 MHz en we moeten de SD-kaart te snel).

(Let op, dit is gesneden uit http://www.frank-zhao.com/cache/mp3_decoder.htm , die mijn eigen website is)

Alle opdrachten, van leest / schrijft naar VS1033D interne registers worden gedaan via de SCI-interface.
U moet lezen het gegevensblad te begrijpen de verschillende commando's en dergelijke, kunt u dit doen.

De enige gegevens die wordt verzonden via de SDI-interface is de inhoud van het bestand van een lied. We hoeven niet te verzenden via de bestandsnaam, de gegevens binnen een song al identificerende informatie bevat zodat de VS1033D altijd weet welk bestandsformaat we sturen, die één minder ding die wij nood voor kopzorg zowat. Ook de VS1033D gewoon negeren die gegevens en vragen voor meer gegevens, dit betekent dat zelfs als we via een beschadigd bestand verzenden ongeldige gegevens verzenden zal veroorzaken, de VS1033D is not gonna freak out, of bevriezen.

Er is een interne decoder FIFO (eerst in first-out) buffer binnen de VS1033D. De pin "DREQ" is de gegevens verzoek pin, en als het hoog is, betekent dit dat wij zijn toegestaan voor het verzenden van meer dan 32 bytes van songdata.

Het gegevensblad zal spreken over een VS1002-modus en de wijze van de verenigbaarheid van een VS1001. Dit is omdat de VS1002, en hun chips na de VS1002 (met inbegrip van de VS1033) kwam na de VS1001, maar kunnen worden geconfigureerd om compatibel met de VS1001. Dit kan worden geconfigureerd met de "MODE"-register, maar we zijn steken met de nieuwere modus.

Ook kunnen de twee interfaces van SPI, SDI en SCI, delen de zelfde chip select. Deze optie kan worden ingeschakeld in het register van de "MODE". We deze functie niet gebruiken, want we een extra chip hebben select van de MicroSD-kaart te verzorgen.

Volgens de shematics van de VS1033D breakout board van SparkFUn is het kristal gebruikt 12.288 MHz. De "CLOCKF" registreren moet worden ingesteld op 0x9000 volgens het gegevensblad. Het gegevensblad heeft meer informatie over deze instelling. In mijn eigen code, it's 0xF800 ter ondersteuning van de WMA- en AAC-decodering.

Er zijn verschillende efficiënte manieren om te bepalen hoe lang een liedje is en de huidige positie in de song we spelen. Met efficiënte, bedoel ik dat we niet moeten daadwerkelijk het lezen van de inhoud van het lied. Het gegevensblad zegt "SCI_DECODE_TIME" slaat de tijd die is gespeeld in seconden, eenvoudig genoeg. Het gegevensblad details ook "SCI_HDAT0" en "SCI_HDAT1", dat de huidige bestandstype en bit-rate bevatten zal, en als we weten de bit rate en de totale bestandsgrootte (die we doen, FatFs vertelt ons), dan kunnen we eenvoudig berekenen van de totale grootte van een lied.

Volume is geregeld via de "SCI_VOL"-register. De meest signi? cant byte van het volume register regelt het volume van het linker kanaal, het lage deel bepaalt het volume van het rechterkanaal. Meestal, volume is een logaritmische waarde (een lineaire verhoging van een Golf amplitude is niet hetzelfde als een lineaire verhoging van het volume geproduceerd), en we willen niet logaritmische wiskunde op een kleine microcontroller te doen, maar de VS1033D zorgt ervoor dat dit voor ons. Het kanaal volumesets de demping van het hoogste volumeniveau in stappen van 0,5 dB. Sinds de wijziging in decibel stappen is, betekent het dat de VS1033D zorgde voor de wiskunde voor ons. Het maximale volume is 0x0000 en totale stilte is 0xFEFE, omdat "verzachten" betekent "lager".

De algemene initialisatie sequentie voor het VS1033D is als volgt:
1. reset
2. Stel de "MODE" Registreer zodat we geen gebruik van de wijze van de verenigbaarheid van de VS1001 maakt en we zijn niet het delen van chip kies tussen SDI en SCI
3. Stel de juiste kloksnelheid met behulp van de "CLOCKF" register
4. Stel het volume, dit is optioneel, maar wij willen herinneren de eerdere instellingen van de gebruiker

De bedrading voor de demonstratie van dit voorbeeld is ingewikkelder en moet u ook kabellengte tot de SD-kaart. Compile-upload-run het voorbeeld dat ik heb verstrekt. Het moet alle bestanden op uw SD-kaart spelen bij max volume. Gelieve te lezen de broncode om te begrijpen van de API die ik heb gemaakt en wat er gaande is. De seriële poort van debug zal eenvoudige boodschappen ook weergeven

Ik heb ook verstrekt de logic analyzer bestanden, waaruit blijkt dat wanneer ik welke gegevens sturen waar. Soort belangrijk. U kunt de opdrachten dat ik de VS1033D tot de opdrachten in het gegevensblad verzenden en vinden waar stuur ik ze in mijn code overeen.

Ik kan niet het rauwe logic analyzer golfvorm sessiebestand ditmaal hecht omdat het te groot. Het opgenomen in de. ZIP pakket in plaats daarvan

Deze demo zal gewoon alle bestanden op de rootdirectory van de SD-kaart spelen op maximaal volume.

Gerelateerde Artikelen

Afspelen van muziek met Arduino, de gemakkelijke manier

Afspelen van muziek met Arduino, de gemakkelijke manier

Er zijn al manieren om te verdienen een Arduino muziek afspelen met een zoemer, en ze werken prima. Echter u moet schrijven van elke song of geluidseffect in C en de fijnafstelling veel tijd kan duren.Dus als u veel muziek voor een project maken, zeg
Afspelen van muziek met uw Intel Edison

Afspelen van muziek met uw Intel Edison

Wie houdt van muziek? Ik wed dat degenen die doen vindt dit Instructable interessant en leuk om te doen. Er zijn zo veel single-board computers die we allemaal hebben en liefde met inbegrip van de Raspberry Pi, Beaglebone en nu de Intel Edison. Deze
Afspelen van de audio van SD-kaart met Arduino

Afspelen van de audio van SD-kaart met Arduino

Afspelen van audio bestanden van SD-kaart zal vertellen. Zonder gebruik te maken van een willekeurige module speelt MP3-audiobestanden alleen met SD-kaartlezer.Stap 1: materialen:Materialen:ArduinoSD kaart moduleLuidsprekerSD-kaart en de adapterStap
RFI-DJ: MP3 afspelen van RFID ding

RFI-DJ: MP3 afspelen van RFID ding

de RFI-DJ is een USB-apparaat voor het afspelen van MP3-bestanden van uw computer. Heb je een set van RFID kaarten, elke één met de naam van een liedje geschreven. U kiest een kaart en plaats deze op de RFI-DJ, en uw computer zal spelen dat liedje. H
Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Dit is een korte introductie over hoe te spelen geluiden via de Intel Edison board als met behulp van Arduino als een programmeeromgeving.Sinds de Arduino board voor Intel Edison niet elk geluid capbabilities hoeft, we gebruiken een goedkope bluetoot
Muziek rippen van YouTube met gemak

Muziek rippen van YouTube met gemak

heb je ooit een stukje achtergrondmuziek die wordt afgespeeld op YouTube video's en probeerde om het te downloaden als audio bestanden voor andere toepassingen gevonden?YouTube is een grote website en updates op basis van gebruikers of artists muziek
Hoe om muziek opnemen van microfoon

Hoe om muziek opnemen van microfoon

weliswaar zijn er een heleboel goede recorders die kan worden geserveerd als een hulpmiddel om muziek opnemen uit internet bron, ik heb geconcentreerd op hoe om muziek opnemen van microfoon.Ik bedoel hoe we vrienden prestaties nummers of gewoon onsze
Hoe muziek rippen van Last.fm

Hoe muziek rippen van Last.fm

Last.fm website is krachtig voor het hosten van's werelds grootste muziek catalogi en high speed service bijwerken. Wanneer u naar radio station of muziek kanaal op haar website via muziekspeler of insteekapparaat luistert, kunt zijn bevelen systeem
Hoe muziek rippen van FLV-video

Hoe muziek rippen van FLV-video

FLV, waardoor flash-video, is een zeer populaire media-indeling voor consistente overdracht van video op de meeste video-sharing sites zoals YouTube, enzovoort. Terwijl u stream video van hoge kwaliteit in FLV op het internet of via Adobe flash-spele
Muziek afspelen door reageerbuis (muziek waterorgel)

Muziek afspelen door reageerbuis (muziek waterorgel)

1. gewenste 6 reageerbuis.2. u moet een marker.Stap 1: Duiden reageerbuis 2. duiden de reageerbuis en zet water in hen, zowel foto.Stap 2: Muziek notities Er zijn C - B notities (Do - Re - Me - Fa - Sol - La - Si)Stap 3: Vul ze uit het water en spele
Mod je 4.0 Wii voor het afspelen van ups, homebrew installeren en laden vanuit usb, allemaal zonder een mod chip!

Mod je 4.0 Wii voor het afspelen van ups, homebrew installeren en laden vanuit usb, allemaal zonder een mod chip!

Zodat u een upgrade hebt uitgevoerd naar 4.0 alvorens de homebrew channel te installeren?Geprobeerd de twilight hack, maar het is mislukt? Ja werd dat exploiteren opgelost in 4.0Deze handleiding kunt u installeren van homebrew-kanaal en downgraden na
De ultieme mediaspeler te krijgen voor gratis (especialy goed voor het afspelen van alle formaten van anime)

De ultieme mediaspeler te krijgen voor gratis (especialy goed voor het afspelen van alle formaten van anime)

In dit instructable leert u het gemakkelijk verkrijgen van een media-speler die is geoptimaliseerd voor het afspelen van alle formaten van video.Stap 1: steeds de mediaplayer. De gewenste mediaplayer classic is mediaspeler deze MediaPlayer is gemakke
Muziek opnemen van YouTube

Muziek opnemen van YouTube

Eerlijk gezegd, ben ik een eerlijke fan van muziek. Bent u ook vergelijkbaar met mij, ik denk dat u vertrekt altijd tijd om te luisteren naar muziek en online video's bekijken op YouTube. Dit is nog niet voldoende; Soms wilt u misschien om te geniete
Hoe voor het afspelen van Blu-Ray film-schijven op een Mac

Hoe voor het afspelen van Blu-Ray film-schijven op een Mac

OS / X voor Mac heeft geen native ondersteuning voor het afspelen van de film van productie Blu-Ray -schijven. Wat we hier hebben worden enkele "creatieve" oplossingen als u een externe Blu-Ray-schijf voor uw Mac hebt en u wilt de mogelijkheid n