Réveil de jouer de la musique (14 / 24 étapes)

Étape 14 : Introduction à la VS1033D

Le VS1033d est un décodeur de musique, convertisseur analogique, numérique et pilote casque tout intégré dans un seul paquet, avec quelques autres cloches et sifflets telles que l’enregistrement. En fait ces puces VLSI. SparkFun vend la VS1033D sur une carte de dérivation, allez acheter un ou quelque chose de similaire.

VS1033D page du produit : http://www.vlsi.fi/en/products/vs1033.html
Carte de dérivation SparkFun : http://www.sparkfun.com/products/8792
Fiche technique : http://www.vlsi.fi/fileadmin/datasheets/vlsi/vs1033d.pdf

La carte de dérivation SparkFun a déjà les circuits externes recommandés pour la puce VS1033D nue, si vous n’utilisez pas cette carte de dérivation, vous devrez implémenter les circuits externes recommandée vous-même, qui vous devez comprendre en lisant la feuille de données. Mais je ne vais pas vous montrer comment faire cela, mon schéma de câblage vous montrera à l’aide de la carte de dérivation. Si vous jetez un oeil à des schémas de Conseil de SparkFun VS1033D en petits groupes, vous pouvez faire des comparaisons entre les schémas recommandées à l’intérieur de la feuille de données et la carte de dérivation.

Cette puce possède deux interfaces de SPI, une pour les commandes et paramètres (vitesse d’horloge, volume, etc.) appelé SCI, l’autre pour les flux de données audio appelées SDI. Les deux bus SPI utilisent SPI mode 0 (CPOL et l’ACSP fois 0, identique à notre carte SD, ce qui est bon), sens l’horloge démarre faible et laisse faible et les données sont lues sur le front. Il y a une sélection active puce faible pour les deux interfaces (CS pour SCI et DCS pour SDI, la broche DCS est également appelée BSYNC parfois). Avec le cristal à 12.288 MHz sur la carte de dérivation, votre vitesse d’horloge SPI ne peut pas être plus de 2 MHz (alors... nous devons ralentir l’horloge SPI avant d’envoyer des données à le VS1033D et l’élever en arrière jusqu'à 4 MHz après, depuis la carte SD utilise 4 MHz SPI horloge et nous devons la carte SD pour être rapide).

(Notez que c’est coupé de http://www.frank-zhao.com/cache/mp3_decoder.htm , qui est de mon propre site Web)

Toutes les commandes, lit / écrit VS1033D interne registres sont font par l’intermédiaire de l’interface de la SCI.
Vous devez lire la feuille de données pour comprendre les différentes commandes et autres, faites-le.

Les seules données qui sont envoyées via l’interface SDI sont le contenu d’un fichier de la chanson. Nous n’avez pas besoin d’envoyer sur le nom du fichier, les données à l’intérieur d’une chanson contient déjà des informations d’identification afin que le VS1033D sait toujours quel format de fichier que nous envoyons, qui est une chose de moins que nous avons besoin de s’inquiéter. En outre, envoyant des données non valides provoquera la VS1033D simplement jeter ces données et demander plus de données, autrement dit, même si nous l’envoyer via un fichier incorrect, le VS1033D ne va pas paniquer ou congeler.

Il y a un tampon FIFO (premier entré premier sorti) de décodeur interne à l’intérieur de la VS1033D. La broche « DREQ » est l’axe de requête de données, et si elle est élevée, cela signifie que nous sommes autorisés à envoyer plus de 32 octets de données de chanson.

La fiche technique parlera d’un VS1002 et un mode de compatibilité VS1001. C’est parce que les VS1002 et leurs jetons après le VS1002 (y compris la VS1033) est venu après le VS1001, mais peuvent être configurés pour être compatibles avec la VS1001. Cela peut être configuré avec le registre de la « MODE », mais nous nous en tenons avec le mode plus récent.

Aussi les deux interfaces SPI, SDI et SCI, peuvent partager la même puce, sélectionnez. Cette option peut être activée dans le registre de la « MODE ». Nous ne pouvons pas utiliser cette fonction, parce que nous avons une puce supplémentaire select de la carte MicroSD pour prendre soin de.

Selon les schémas de la carte de dérivation VS1033D de SparkFUn, le cristal utilisé est à 12.288 MHz. Le « CLOCKF » enregistrer doit être réglé à 0 x 9000 selon la feuille de données. La fiche technique a plus de détails concernant ce paramètre. Dans mon propre code, c’est de 0xF800 pour soutenir WMA et AAC décodage.

Il y a plusieurs façons efficaces de déterminer combien de temps une chanson est et la position actuelle dans la chanson que nous jouons. Par efficace, je veux dire que nous n’avons pas réellement lire le contenu de la chanson. La fiche technique dit « SCI_DECODE_TIME » stocke le temps qui a été joué en quelques secondes, assez simples. La feuille de données détaille également les « SCI_HDAT0 » et « SCI_HDAT1 », qui contient le type de fichier actuel et le débit, et si nous connaissons la taille du fichier débit et total (ce que nous faisons, GAFI raconte), alors nous pouvons simplement calculer la taille totale d’une chanson.

Le volume est commandé par l’intermédiaire du Registre « SCI_VOL ». Les plus signi? cative octet du Registre volume contrôle le volume du canal gauche, la partie basse de régler le volume du canal droit. Habituellement, volume est une valeur logarithmique (une augmentation linéaire en amplitude de l’onde n’équivaut pas à une augmentation linéaire du volume produit) et nous ne voulons pas faire un calcul logarithmique sur un microcontrôleur petit, mais le VS1033D s’occupe de cela pour nous. Le volume du canal définit l’atténuation entre le niveau de volume maximum par pas de 0,5 dB. Étant donné que le changement est en étapes de décibel, cela signifie que le VS1033D a pris soin des mathématiques pour nous. Le volume maximum est 0 x 0000 et silence total est 0xFEFE, puisque « atténuer » signifie « inférieure ».

La séquence d’initialisation générale pour le VS1033D est comme ceci :
1. remise à zéro
2. Réglez le registre de la « MODE » pour que nous n’utilisons pas de mode de compatibilité VS1001 et nous ne partageons pas puce choisir entre SDI et SCI
3. Réglez la vitesse d’horloge correct à l’aide de Registre « CLOCKF »
4. régler le volume, cette étape est facultative, mais nous tenons à rappeler les paramètres précédents de l’utilisateur

Le câblage pour cette démonstration de l’exemple est plus compliqué, et vous devez également connecter vers le haut de la carte SD. Télécharger-compiler-exécuter l’exemple que j’ai fournis. Il doit jouer tous les fichiers sur votre carte SD au volume max. S’il vous plaît lire le code source pour comprendre l’API, j’ai créé et ce qui se passe. Le port de débogage affichera aussi bien des messages simples.

J’ai également fourni la logique de fichiers de l’analyseur, qui montre quand j’envoie les données où. Peu important. Vous pouvez faire correspondre les commandes que j’ai envoyer à la VS1033D aux commandes dans la feuille de données et trouver où je leur envoie dans mon code.

Je ne peux pas joindre le fichier de session de forme d’onde analyseur logique cru cette fois parce que c’est trop gros. Elle est contenue dans le. ZIP package plutôt

Cette démo jouera simplement tous les fichiers dans le répertoire racine de la carte SD à volume maximum.

Articles Liés

Jouer de la musique de tube à essai (orgue de la musique de l’eau)

Jouer de la musique de tube à essai (orgue de la musique de l’eau)

1. vous devez 6 tube à essai.2. vous avez besoin d'un marqueur.Étape 1: Désigner le tube à essai 2. désigner le tube à essai et met l'eau à eux, comme photo.Étape 2: Les notes de musique Il y a C - notes de B (Do - Re - moi - Fa - Sol - La - Si)Étape
Jouer de la musique avec votre Edison Intel

Jouer de la musique avec votre Edison Intel

Qui d'autre aime la musique ? Je parie que ceux qui le font se trouve cette Instructable intéressant et amusant à faire. Il y a tant d'ordinateurs monocarte que nous avons tous et l'amour dont Raspberry Pi, Beaglebone et maintenant l'Edison Intel. Ce
Jouer de la musique avec Arduino, la manière simple

Jouer de la musique avec Arduino, la manière simple

Il y a déjà des moyens de rendre un Arduino à jouer de la musique à l'aide d'un buzzer, et ils travaillent beaucoup. Toutefois, vous devez écrire chaque chanson ou un effet sonore en C, et la mise au point peut prendre beaucoup de temps.Donc si vous
Comment jouer de la musique sur votre TV téléphone

Comment jouer de la musique sur votre TV téléphone

toujours voulu jouer de la musique à haute voix, mais tu ne voulais pas payer et cher dock ou un câble adaptateur cher ? Ce tutoriel va vous montrer comment en faire un pour à peu près moins de 10 $!Étape 1: Les choses dont vous avez besoin : Vous au
Jouer de la musique par le biais de votre guitare

Jouer de la musique par le biais de votre guitare

dans ce instructable je vais vous apprendre à jouer de la musique par le biais de votre guitare.Étape 1: Ce que vous devezCe que vous devez :Une guitare (évidemment)casque (le genre que vous mettez dans vos oreilles)un amplificateurun câble de guitar
Entendre vos plantes à jouer de la musique !  (Version Wi-Fi)

Entendre vos plantes à jouer de la musique ! (Version Wi-Fi)

Ce guide vous montrera comment construire un capteur pour la surveillance de l'entourage de votre plante et utilisez des Stats dans Sound ERC-20 app pour transformer ces données en musique, ce qui vous permet d'écouter la réaction de la plante à son
Réveiller votre don pour la musique — — Motion Sensing veste

Réveiller votre don pour la musique — — Motion Sensing veste

Ces dernières années, l'application de la technologie somatosensorielle est plus largement. Dans la vie, la chose la plus inséparable avec nous est vêtements, comme veste. Et la musique est un merveilleux enjoy. Technologie somatosensorielle, veste,
Jouer de la musique sur Pi framboise à l’aide de XMMS2

Jouer de la musique sur Pi framboise à l’aide de XMMS2

IntroductionJ'ai installé et testé les joueurs de musique/media suivants dans mon Raspberry Pi :rhythymbox - s'est écrasé chaque fois que j'ai cliqué sur une chansonaudacieux - n'a pas répondu à chaque fois que j'ai cliqué sur une chansonMPlayer - a
Arduino jouer de la musique de (micro) sans bouclier

Arduino jouer de la musique de (micro) sans bouclier

micromusic, musique 8 bit, arduino musique !Étape 1: sujetPour un projet d'un collectif d'art, j'ai fait une lecture de musique avec Arduino. La musique commence avec capteur à ultrasons.Étape 2: CodeLe code pour la musique, vous écrivez à la main, j
À l’aide de vieux tambour cymbales à jouer de la musique de la pluie

À l’aide de vieux tambour cymbales à jouer de la musique de la pluie

j'ai trouvé un ensemble de cymbales à la friperie pour 10 $.  Hmmm... Voyons voir... nous pourrions les attacher à un marteau de sonnette... Ce serait amusant des deux premières ou trois fois, quelqu'un a sonné la cloche.  J'ai décidé de laisser la p
Simple iPod jouer boîte à musique - danse LEDs

Simple iPod jouer boîte à musique - danse LEDs

il s'agit d'un tutoriel de lumière danse assez simple.Voici une vidéo d'elle en action...Vous aurez besoin :TIP31 Transistor (doit avoir (pour la danse des lumières en tout cas)) - 1 $ à Radio Shack3.5 Jack (aka tous les vieux casques) - trouver quel
Hack Turtle Beach à jouer de la musique tout en jeu

Hack Turtle Beach à jouer de la musique tout en jeu

s'il vous plaît votez pour moi dans le coin supérieur droit!!! XDMatériaux-Casque de jeu turtle Beach (ou autre)-câble pour casque Bose AE2 : http://www.amazon.com/AE2-headphones-replacement-audio-cable/dp/B0057XZSF2/ref=sr_1_1?ie=UTF8&qid=1353858743
Jouer de la musique sur le Raspberry Pi

Jouer de la musique sur le Raspberry Pi

Installer un lecteur de musique simple sur la Pi de la framboise.Étape 1: Installation du logiciel Pour installer le terminal ouvert de logiciel et entrez la commande suivante :sudo apt-get install lxmusicUne fois que le logiciel a télécharger menu o
Jouer de la musique sur votre Boe-bot

Jouer de la musique sur votre Boe-bot

Hi there ! aujourd'hui, je vais vous montrer comment programmer une parallaxe de Boe-bot pour chanter la glorieuse ! permet donc de regarder certains du code que j'ai écrit ! l'essayer ! vous pouvez pirater le code un peu en regardant ce que j'ai fai