Construction d`un baladeur MP3 (MemoryStick)
Transcription
Construction d`un baladeur MP3 (MemoryStick)
SOUBIGOU Antoine PAILLARD Jean-Noël GE3S Semestre 5 – 2003 Baladeur MP3 et sa carte MemoryStick Janvier 2003 Professeur : M. Boyer ECOLE NATIONALE SUPERIEURE DES ARTS ET INDUSTRIES DE STRASBOURG 24, Boulevard de la Victoire - 67084 STRASBOURG Cedex - tél. (33) 03 88 14 47 00 Télécopie : Administration : (33) 03 88 24 14 90 - Enseignement/Recherche : (33) 03 88 24 52 76 Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Introduction................................................................................................................... 1 I. La carte mémoire MemoryStick ............................................................................. 2 I.1. Généralités ..................................................................................................................................... 2 I.1.1. Rappel sur les mémoires flash ...................................................................................................2 I.1.2. Description physique .................................................................................................................3 I.2. Principe de fonctionnement.......................................................................................................... 3 I.2.1. Organisation de la mémoire ......................................................................................................3 I.2.2. Le brochage ...............................................................................................................................4 I.2.3. Les chronogrammes...................................................................................................................4 II. Le baladeur MP3 ...................................................................................................... 6 II.1. Préliminaires............................................................................................................................... 6 II.1.1.La compression MP3 .................................................................................................................6 II.1.2.Approche du sujet ......................................................................................................................7 II.2. Réalisation de la carte ................................................................................................................ 8 II.2.1.Choix du microcontrôleur .........................................................................................................8 II.2.2.Présentation du MAS3507D ......................................................................................................9 II.2.3.Présentation du DAC3550A ....................................................................................................10 II.2.4.Interface utilisateur .................................................................................................................10 II.2.5.Controle du volume ................................................................................................................12 II.2.6.Les découplages.......................................................................................................................12 Conclusion ................................................................................................................... 14 Sources ......................................................................................................................... 15 Table des figures ......................................................................................................... 16 Annexes ........................................................................................................................ 17 SOUBIGOU Antoine PAILLARD Jean-Noël -1- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Introduction Depuis la fin des années 80, l’avancée sur les mémoires prend de l’ampleur grâce aux nouvelles technologies. Apparaissent alors les mémoires flashs, petites et rapides. De plus elles sont purement électroniques, réinscriptibles à l'infini et non-volatiles. C’est pourquoi beaucoup de constructeurs de matériel portable, tels les baladeurs, appareils photos, voire les téléphones ont largement privilégié ce support de stockage de l’information. L’année précédente, un projet de baladeur MP3 a vu le jour et a connu une belle réussite. Pour ce cours de microcontrôleur, un sujet proposait une étude semblable. Le projet fut de construire un baladeur MP3 mais ayant comme carte mémoire la MemoryStick, dernière née de Sony. Le principe est donc de mettre en place un module indépendant qui par l’intermédiaire d’un microcontrôleur PIC, achemine les données de la carte vers un décodeur MP3 qui alors transfert la nouvelle trame audio vers un convertisseur numérique analogique qui finalement émet la musique correspondante. Dans ce rapport, nous allons tout d’abord introduire la MemoryStick de façon générale ainsi que les protocoles de lecture et d’écriture, ensuite nous verrons les éléments constitutifs de notre modèle de baladeur puis sa réalisation sur plaquette. SOUBIGOU Antoine PAILLARD Jean-Noël -2- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 I La carte MemoryStick I.1. Généralités I.1.1. Rappel sur les cartes mémoires flash "Flash" est un terme générique qui désigne une technologie de mémoire ultra rapide. Les mémoires flash se trouvent un peu partout dans les appareils informatiques (le BIOS des cartes mères est enregistré sur une mémoire de type flash), dans les appareils photo numériques (sous la forme de petites cartes appelées "Smart Media", "Compact Flash", "MemoryStick" etc. selon les constructeurs), etc. Une mémoire flash peut être effacée ou modifiée par l'utilisateur, comme une mémoire SDRAM. Mais contrairement aux mémoires SDRAM, elles n'ont pas besoin d'électricité pour conserver leurs informations. Elles peuvent donc être facilement transportées. Le terme de flash provient ainsi des capacités très rapides d'écriture et d'effacement des données (de 1 à 1.5 Mo/s). Il existe deux types de mémoires flash qui diffèrent par leurs applications. La mémoire flash de type NAND a ses cellules de stockage disposées en série. Elle possède des capacités d'écriture et d'effacement rapides et permet une gestion aisée des fichiers de données en stockant ces dernières sous forme de "block" c'est-à-dire une unité de stockage variable, différente du bit ou de l'octet, et qui est spécifique au produit. C'est cette technologie qui est principalement utilisée dans les cartes mémoires et elle est bien adaptée pour le stockage d'informations dans les appareils numériques. L'autre type, appelée mémoire flash NOR, a ses cellules de stockage disposées en parallèle. Elle est plus lente dans les fonctions d'écriture et d'effacement, mais plus rapide dans les temps d'accès et permet une écriture au niveau du bit et de l'octet. Elle est vouée à remplacer la mémoire morte classique du BIOS. À la différence d'autres cartes de mémoire instantanées, la MemoryStick a été conçu pour enregistrer, transférer et partager de divers types de contenu numérique, tels que des images, la musique, la voix, et des données et des applications immobiles et mobiles d'ordinateur. Avec l'éventail d'aujourd'hui disponible de produits compatibles, la MemoryStick rend facile la création de notre propre réseau personnel pour relier les produits, le contenu et les personnes. Son seul problème aujourd’hui est de n’être utilisable qu’avec les produits de marque Sony. Parallèlement, d’autres cartes flash, telles la Smart Media ou la Compact Flash, continuent de progresser et ont l’avantage de pouvoir s’utiliser avec plusieurs gamme de produits de marques différentes. SOUBIGOU Antoine PAILLARD Jean-Noël -3- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 I.1.2. Description physique Elle a l’avantage d’être petite, très légère et solide. Voici son allure : Figure 1 : La MemoryStick I.2. Principe de fonctionnement I.2.1. Organisation de la mémoire Comparée à la Smart Media, la MemoryStick a un architecture interne de mémoire beaucoup plus développée. On remarque ici que, suivant le type de données, ces dernières occupent un emplacement précis dans la mémoire. Ainsi, les fichiers audio sont ensemble, il en est de même pour les images, les données ou bien la vidéo. Figure 2 : Organisation de la mémoire SOUBIGOU Antoine PAILLARD Jean-Noël -4- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 I.2.3. Le brochage Figure 3 : Le Brochage Trois broches nous intéressent pour notre projet de baladeur MP3 : BS , c’est la broche du bus d’état pour signaler si c’est une lecture ou un enregistrement DIO, les données utiles sont envoyées en série SCLK est le signal d’horloge Les autres broches sont VSS et VCC pour l’alimentation, les broches 5 et 7 sont réservées aux matériels Sony, et la broche 6 informe si la carte est enclenchée dans son adaptateur. I.2.3. Les chronogrammes I.2.3.1. La lecture Figure 4 : Protocole de lecture SOUBIGOU Antoine PAILLARD Jean-Noël -5- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 I.2.3.2. L’enregistrement Figure 5 : Protocole d’écriture Figure 6 : Blocs internes à la MemoryStick La liaison « horloge » : SCK - La fréquence des impulsions sur le bus SCK détermine la vitesse de l’échange d’information entre la carte mémoire et le PIC. En l’absence de transmission, SCK est à 0. La liaison « état du bus » : BS - Lorsqu’aucune donnée n’est transmise, BS est à BS0. Lorsque l’on transmet, BS passe d’abord à BS1. L’état de BS1 indique le sens des données . Lorsque des données sont transmises, BS est à BS2. Lorsqu’il y a raccrochage, BS est à BS3 En fin de transmission, BS retrouve son état de repos BS0 SOUBIGOU Antoine PAILLARD Jean-Noël -6- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 La liaison « données » : SDIO - Le signal TPC contient l’information sur la commande à exécuter. (Lire, écrire, effacer) Dans notre cas, il s’agit d’une commande de lecture. Cette commande est stockée dans le registre commande du contrôleur de la carte. Celui-ci attend alors l’adresse où il doit aller lire la mémoire Flash. Cette adresse est envoyé par le PIC et est stockée dans le registre d’écriture du contrôleur interne. Ce dernier exécute alors la commande de lecture : o Il signale sur le bus SDIO qu’il est en train d’effectuer la commande (BUSY). o Il va chercher la page de 512ko à l’adresse contenue dans le registre d’écriture et la stocke dans le Page Buffer. o Une fois que la totalité est stockée, il indique qu’il est prêt à envoyer les informations (READY) et attend un signal d’interruption. o Ce signal reçu, il envoie le flot de données suivi d’un contrôle d’erreur par redondance (CRC). - L’opération de lecture est alors terminée. II Le baladeur MP3 II.1. Préliminaires II.1.1. La compression MP3 Le MP3 (Mpeg-1 Audio Layer 3) est un format de fichier son compressé par perte de données. L'intérêt principal de ce format est d'atteindre un taux de compression important de fichiers sons (WAV, AIFF, etc.) sans que cela n'altère la qualité sonore : la différence entre le son original d'un CD et le son de ce même CD qu'on a compressé en MP3 est inaudible et comme la compression est de 1:12 (et même plus, mais dans ce cas la qualité s'en ressent), les fichiers obtenus sont de taille tout à fait raisonnable : aux alentours de 1 Mo pour une minute de son qualité CD (16 bits, 44.1 KHz, Stéréo) là où un fichier WAV prendrait près de 50 Mo. Mais pour en profiter, il faut une configuration suffisamment puissante pour pouvoir effectuer la compression/décompression. A l'aide du MP3, il est désormais possible de stocker facilement 150 morceaux soit près de 12 albums sur un seul CD-R. Cependant, il n'est actuellement possible de lire des MP3 pratiquement que sur des ordinateurs car la lecture nécessite une décompression en temps réel qui n'est pas gérée par les matériels de lecture de CD Audio. Mais vu les quantités d'opportunités qu'apporte ce nouveau format, le MP3 commence réellement à prendre de l'ampleur auprès du public et des fabricants de matériel informatique et HI-FI. Diamond Multimédia, célèbre entre autres pour ses cartes graphiques, a conçu le premier baladeur MP3 nommé Rio à peine plus gros qu'une carte de crédit. Il permet de stocker 60 minutes de MP3 de qualité CD sur une mémoire de masse. SOUBIGOU Antoine PAILLARD Jean-Noël -7- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Un fichier MP3 se compose d’unités élémentaires plus petites, les trames MP3. Une trame fait quelques centaines d’octets. Elle contient un en-tête et les données audio compressées proprement dites. • Structure de la trame MP3 Dans le cas d'un layer I ou II, les trames sont des parties totalement indépendantes, ainsi vous pouvez couper n'importe quelle partie le fichier MPEG et le jouer correctement. Le lecteur jouera alors la musique commençant à la première trame valide trouvée. Cependant, dans le cas d'un layer III, les trames ne sont pas toujours indépendantes. En raison de l'utilisation possible du "réservoir de byte", qui est une sorte de buffer, les trames sont souvent dépendantes les unes des autres. Dans le plus mauvais cas, 9 trames peuvent être nécessaires avant de pouvoir décoder une trame. Quand on veut lire les infos à propos d’un fichier MPEG, il est souvent suffisant de trouver la première trame, lire son header et en déduire que les autres trames sont les mêmes. Mais ce n’est pas toujours le cas, par exemple pour les fichiers à débit variable. Dans ces fichiers, le débit peut changer à chaque trame. Ceci est utilisé par exemple lorsque l’on veut garder une qualité de son constante durant l’intégralité du MP3, en utilisant davantage de bits aux endroits où la musique nécessite d’être plus encodée. L’entête de la trame a une longueur de 32 bits. Les 12 premiers sont toujours à l’état 1 et sont appelés : « frame sync ». Des trames peuvent avoir une partie optionnelle CRC. Elle a une longueur de 16 bits et est placée après l’entête. Après le CRC suivent les données audio. En recalculant le CRC et en le comparant à celui obtenu précédemment, il est possible de savoir si il y a eu erreur lors de la transmission du bitstream. L’annexe 2 décrit entièrement le contenu de l’entête. II.1.2. Approche du sujet Notre première approche du projet fut de savoir comment restituer les données MP3 en signal sonore. La complexité des algorithmes misent en œuvre ne permettent pas leur implémentation sur un microcontrôleur 16 bits par exemple. Il est alors nécessaire d’utiliser des puces spécialisées dans ce traitement. Nous avons alors fait quelques recherches sur Internet afin de voir ce qu’il se faisait dans ce domaine. Une puce récente permet de faire tout le travail de décodage et de conversion, il s’agit du VS1001G. Le projet MP3 de l’année dernière utilisait déjà cette puce. Nous avons décidé d’utiliser le MAS3507D pour le décodage et le DAC3550A pour la conversion N/A. SOUBIGOU Antoine PAILLARD Jean-Noël -8- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Voici donc le schéma de notre étude de lecteur MP3. La source MP3 venant d’une carte mémoire MemoryStick. Le microcontrôleur est la partie centrale du baladeur. Il est le point de transfert des données venant de la carte mémoire vers le décodeur MAS. Ensuite, le MAS envoie les informations décodées vers le convertisseur numérique analogique qui transforme le tout pour permettre l’écoute sur un casque audio. A noter aussi que le MAS a sa propre horloge (CLKI) et que le DAC est esclave de ce dernier car il lui demande sa fréquence d’horloge (CLKO) ce qui permet un travail à la même vitesse. Figure 7 : processus de décodage du MP3 II.2. Réalisation de la carte C’est donc le microcontrôleur qui gère l’ensemble. C’est lui qui va demander les données à la MemoryStick. Ensuite, suivant l’état du décodeur, il envoie les informations demandées au MAS, qui une fois qu’il les à décodées, les transmet au DAC afin d’en sortir le signal audio. Nous allons maintenant voir les caractéristiques des différents composants. II.2.1. Choix du microcontrôleur Comme tout projet en microélectronique, le microcontrôleur est le « «cerveau » du système. Il est donc nécessaire de le choisir avant tout autre commencement. Le choix est très vaste au niveau des PIC. Il en existe de toute sorte suivant le nombre d’entrée, de sorties, de la quantité de mémoire souhaité et de bien autre chose. Nos seules contraintes étaient l’alimentation possible en 3,3V, un nombre d’entrée/sorties suffisant, une programmation simple et rapide. Le microcontrôleur PIC 16LF877 répond tout à fait à nos demandes. Il dispose de 40 broches, d’une mémoire programme de 8Kmots, d’une RAM de 368 octets, il est disponible en boîtier CMS qui ne prend que très peu de place, il dispose de nombreux modules périphériques internes (voir documentation en annexe 3). SOUBIGOU Antoine PAILLARD Jean-Noël -9- GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Figure 8 : Brochage du PIC 16LF877 II.2.2. Présentation du MAS3507D La MAS 3507 D est une puce de décodage audio MPEG layer 2/3 utilisée essentiellement pour les applications utilisant des supports de mémoire. De plus, sa faible consommation et sa mémoire intégrée sont tout à fait recommandées pour les projets portables. Figure 9 : Diagramme bloc du MAS 3507D On observe donc les quatre blocs qui nous intéressent. Le premier est le bloc « serial in ». C’est à cet endroit que la trame MP3 venant du microcontrôleur arrive par paquet de 32 bits. Les données sont décodées puis intervient le second bloc. Le « serial out I²S » a alors pour but d’envoyer vers un convertisseur les données décodées. Le troisième bloc concerne le bus I²C. C’est ici que l’information de demande de décodage parvient. Il a donc sa propre horloge à 14,5 MHZ, indépendante du PIC. SOUBIGOU Antoine PAILLARD Jean-Noël - 10 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 II.2.3. Présentation du DAC3550A Figure 10 : Diagramme bloc du DAC3550A Le convertisseur DAC est relié au MAS par l’interface I²S. C’est à cet endroit que les données décodées arrivent. Elles sont ensuite interpolées, c’est-à-dire filtrées, puis après être converties en analogique et amplifiées, le flux sortant est écoutable à partir d’un casque. Un réglage du volume est possible. Néanmoins, on utilise généralement le réglage du MAS. L’annexe 1 décrit plus précisément les blocs de ce DAC II.2.4. Interface utilisateur Après avoir réfléchi à différentes solutions (dont l’intégration d’un afficheur LCD), notre choix s’est arrêté, surtout pour des raisons de consommation électrique, sur un clavier à 8 touches servant à indiquer au PIC ce que l’utilisateur veut faire. Les huit fonctions associées à chacune des touches sont : Play/Pause Augmenter le volume Stop Diminuer le volume Chanson précédente Mode aléatoire Chanson suivante Avance rapide Figure 11 : Description des touches Il est bien sur possible de relier les huit boutons directement au PIC. Une solution plus « économique » et plus technique est la suivante : SOUBIGOU Antoine PAILLARD Jean-Noël - 11 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Figure 12 : Interface clavier/microcontrôleur Pour économiser les entrées/sorties du PIC, on insère un encodeur de priorité (74HC148) qui ramène de 8 à 4 les pattes nécessaires sur le PIC, avec la possibilité de gérer plus simplement les appuis grâce aux interruptions. Notons qu’on active ou désactive le clavier avec un interrupteur à glissière (fonction « HOLD » utile lorsque le baladeur est dans la poche…). Le circuit arrivant à la broche EI de l’encodeur de priorité assure la fonction « hold ». Si cet interrupteur est enclenché, alors quelque soit la touche enfoncée, le programme en cours dans le PIC suit son cours. Cela permet par exemple d’éviter que la lecture soit interrompue si une touche est enfoncée par mégarde. Pour informer l’utilisateur du fonctionnement courant du baladeur, nous avons intégré deux diodes électroluminescentes. L’utilisation de la fonction PWM (modulation de largeur d’impulsion) du PIC permet de moduler l’éclairement d’une LED bleue branchée directement sur une sortie. La seconde diode est une LED bicolore. Il s’agit en fait de deux diodes rouge et verte montées tête-bêche dans un unique boîtier. Figure 13 : LED bicolore SOUBIGOU Antoine PAILLARD Jean-Noël - 12 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 II.2.5. Contrôle du volume En utilisant le montage suivant associé à une sortie PWM du PIC, on alimente la LED rouge α % du temps, et la LED verte (100-α) % du temps, α étant réglable logiciellement. Si la fréquence du PWM est suffisante (> 50 Hz environ), on peut ainsi passer du rouge au vert par 1024 nuances d’orange (résolution du PWM). Bien sûr, l’œil ne distingue pas toutes ces nuances, mais cette LED offre des possibilités pour à indiquer par exemple la valeur courante du volume (vert=volume à 0, rouge=volume au maximum) ou la position dans la chanson courante. Figure 14 : Commande de la LED bicolore Le circuit comportant une partie analogique et une partie numérique, nous les avons séparées au maximum afin d’éviter les possibles perturbations de l’une sur l’autre. Un régulateur 3.3 V est prévu pour permettre l’alimentation par piles (3*1,5=4,5 V) ou par des accumulateurs rechargeables (3*1.2=3.6 V). II.2.6. Les découplages On observe le découplage du PIC, et du 74148. L’alimentation de 3.3V sera obtenue avec un régulateur 78L05. A noté aussi que toutes les alimentations du MAS et du DAC ont leurs propres découplages afin d’obtenir un traitement du signal propre. Le schéma global du lecteur MP3 est disponible en annexe 4. Figure 15 : Découplage du MAS et du DAC SOUBIGOU Antoine PAILLARD Jean-Noël - 13 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Figure 16 : Découplages des autres alimentations SOUBIGOU Antoine PAILLARD Jean-Noël - 14 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Conclusion Ce projet de microcontrôleur sur l’élaboration d’un baladeur MP3 à partir d’une carte mémoire MemoryStick fut passionnant. Cela nous a d’abord fait découvrir la technologie des cartes flash. Comment elles sont structurées, quels sont leurs avantages, les possibilités qu’elles offrent. De plus, Nous avons aussi appris comment un lecteur MP3 fonctionnait. On voit ces baladeurs apparaître de plus en plus sur le marché et leur popularité grandir. Ce projet nous a permis de comprendre leur fonctionnement. Nous avons pourtant un grand regret qui est de n’avoir pas pu utiliser la carte mémoire. En effet, Sony, le constructeur de la carte, protège vivement les sources des différents protocoles, par raison de sécurité sûrement car son apparition est encore récente. Peut-être qu’un autre groupe pourra continuer le projet une fois les sources ouvertes au public. En effet, nous avons testé la carte et chacune de ses parties et elle fonctionne très bien. SOUBIGOU Antoine PAILLARD Jean-Noël - 15 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Sites Internet • • • • Description générale de la MemoryStick : www.sony.net/Products/MS/ Site de Microchip : www.microchip.com Site de projets MP3 : www.mp3projects.com Site lecteur MP3 commercialisé : www.chez.com/imap3/ SOUBIGOU Antoine PAILLARD Jean-Noël - 16 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Figure 1 : La MemoryStick ..........................................................................................................3 Figure 2 : Organisation de la mémoire........................................................................................3 Figure 3 : Le brochage ..................................................................................................................4 Figure 4 : Protocole de lecture .....................................................................................................4 Figure 5 : Protocole d’écriture.....................................................................................................5 Figure 6 : Blocs internes à la MemoryStick................................................................................5 Figure 7 : Processus de décodage du MP3 ..................................................................................8 Figure 8 : Brochage du PIC 16F877 ............................................................................................9 Figure 9 : Diagramme bloc du MAS3507D.................................................................................9 Figure 10 : Diagramme bloc du DAC3550A.............................................................................10 Figure 11 : Desription des touches.............................................................................................10 Figure 12 : Interface clavier/microcontrôleur ..........................................................................11 Figure 13 : LED bicolore ............................................................................................................11 Figure 14 : Commande de la LED bicolore ..............................................................................12 Figure 15 : Découplage du MAS et du DAC.............................................................................12 Figure 15 : Découplage des autres alimentations .....................................................................13 SOUBIGOU Antoine PAILLARD Jean-Noël - 17 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick SOUBIGOU Antoine PAILLARD Jean-Noël - 18 - Janvier 2003 GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Annexe 1 : Description des blocs du DAC SOUBIGOU Antoine PAILLARD Jean-Noël - 19 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Annexe 2 : Structure de la trama d’un MP3 Voici une représentation du contenu de l’entête. Les caractères A à M sont utilisés pour indiquer les différents champs. Puis nous verrons le détail de chaque champ. AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM Lettre Long. Position Description (bits) (bits) A 11 (31-21) Frame sync (Tous les bits à 1) B 2 (20,19) MPEG Audio version ID 00 - MPEG Version 2.5 01 - réservé 10 - MPEG Version 2 (ISO/IEC 13818-3) 11 - MPEG Version 1 (ISO/IEC 11172-3) C 2 (18,17) Description du Layer 00 - réservé 01 - Layer III 10 - Layer II 11 - Layer I D 1 (16) Bit de protection 0 – Protégé par le CRC (16bit CRC suivent l’entête) 1 – non protégé E 4 (15,12) Index des différents débits bits V1,L1 V1,L2 V1,L3 V2,L1 V2, L2 & L3 0000 libre libre libre libre libre 0001 32 32 32 32 8 0010 64 48 40 48 16 0011 96 56 48 56 24 0100 128 64 56 64 32 0101 160 80 64 80 40 0110 192 96 80 96 48 0111 224 112 96 112 56 1000 256 128 112 128 64 1001 288 160 128 144 80 1010 320 192 160 160 96 1011 352 224 192 176 112 1100 384 256 224 192 128 1101 416 320 256 224 144 1110 448 384 320 256 160 1111 Mauv. Mauv. Mauv. Mauv. Mauv. SOUBIGOU Antoine PAILLARD Jean-Noël - 20 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 NOTES: Valeurs en kbps V1 - MPEG Version 1 V2 - MPEG Version 2 et Version 2.5 L1 - Layer I L2 - Layer II L3 - Layer III "libre" veut dire format libre. The free bitrate must remain constant, an must be lower than the maximum allowed bitrate. Decoders are not required to support decoding of free bitrate streams. "Mauv." Veut dire que la valeur n’est pas alouée. F 2 (11,10) Index des fréquence d’écoute bits MPEG1 MPEG2 MPEG2.5 00 44100 Hz 22050 Hz 11025 Hz 01 48000 Hz 24000 Hz 12000 Hz 10 32000 Hz 16000 Hz 8000 Hz 11 reserv. reserv. reserv. G 1 (9) Bit de remplissage 0 – La trame n’est pas remplie 1 – Slot supplémentaire dans la trame Le remplissage est utilise pour adjuster parfaitement le débit. Voici un exemple : 128kbps 44.1kHz layer II uses a lot of 418 bytes and some of 417 bytes long frames to get the exact 128k bitrate. For Layer I slot is 32 bits long, for Layer II and Layer III slot is 8 bits long. H 1 (8) Bit privé. Il est seulement informatif. I 2 (7,6) Mode d’écoute 00 - Stéréo 01 - Joint stéréo (Stéréo) 10 – Voie double (2 voie mono) 11 – Une seule voie (Mono) Note: Dual channel files are made of two independant mono channel. Each one uses exactly half the bitrate of the file. Most decoders output them as stereo, but it might not always be the case. One example of use would be some speech in two different languages carried in the same bitstream, and then an appropriate decoder would decode only the choosen language. J 2 (5,4) Mode d’extension (Utilisé que pour le joint stéréo) Mode extension is used to join informations that are of no SOUBIGOU Antoine PAILLARD Jean-Noël - 21 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 use for stereo effect, thus reducing needed bits. These bits are dynamically determined by an encoder in Joint stereo mode, and Joint Stereo can be changed from one frame to another, or even switched on or off. Complete frequency range of MPEG file is divided in subbands There are 32 subbands. For Layer I & II these two bits determine frequency range (bands) where intensity stereo is applied. For Layer III these two bits determine which type of joint stereo is used (intensity stereo or m/s stereo). Frequency range is determined within decompression algorithm. Layer I and II Layer III value Layer I & II Intensity stereo MS stereo 00 bands 4 to 31 off off 01 bands 8 to 31 on off 10 bands 12 to 31 off on 11 bands 16 to 31 on on K 1 (3) Copyright 0 – Le fichier est en copyright 1 – Le fichier n’est pas en copyright L 1 (2) Original 0 – Copie du média original 1 – Média original M 2 (1,0) Emphasis 00 - none 01 - 50/15 ms 10 - reserved 11 - CCIT J.17 The emphasis indication is here to tell the decoder that the file must be de-emphasized, ie the decoder must 'reequalize' the sound after a Dolby-like noise supression. It is rarely used. SOUBIGOU Antoine PAILLARD Jean-Noël - 22 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Annexe 3 : Informations sur le PIC 16LF877 SOUBIGOU Antoine PAILLARD Jean-Noël - 23 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Structure CMOS du PIC Particularités principales SOUBIGOU Antoine PAILLARD Jean-Noël - 24 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Le mode PWN pour la diode bicolore de volume SOUBIGOU Antoine PAILLARD Jean-Noël - 25 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Annexe 4 : Le schéma électrique du baladeur SOUBIGOU Antoine PAILLARD Jean-Noël - 26 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 Exemple de programme simple du PIC Gestion du clavier et de la diode bicolore de volume list p=16f877 ; list directive to define processor #include <p16f877.inc> ; processor specific variable definitions __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF ; Code_protection ; Watchdog ; Brown out detection ; Power On timer activé ; Oscillateur ; LVP désactivé désactivé désactivé (permet le fonctionnement à moins de 4 V) HS désactivé ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Définition des variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;dans la bank 0 travail delai EQU EQU 0x20 0x24 ; Registre de travail ; utilisé pour générer une tempo logicielle val_bouton EQU 0x4E ; sauvegarde du PORTB ; adresses 0x70 -> 0x7F (16 octets) : communes aux Bank 0,1,2,3 ; utilisées pour les variables de sauvegarde du contexte lors d'une interruption w_temp EQU 0x70 ; Pour sauvegarder W (interruption) status_temp EQU 0x71 ; Pour sauvegarder STATUS (interruption) pclath_temp EQU 0x72 ; Pour sauvegarder PCLATH (interruption) ;********************************************************************** ; RESET ;********************************************************************** ORG 0x000 goto main ; adresse du vecteur de RESET ; On saute au programme principal ;********************************************************************** ; INTERRUPTION ;********************************************************************** test2 ; Teste l'interruption RB4:RB5 BTFSS INTCON,RBIF ; test du flag "mismatch" sur RB4 ou RB5 goto test3 ; si ce n'est pas lui -> test suivant call inter_RB45 ; si c'est lui -> saut à la routine associée BCF INTCON,RBIF ; interruption traitée, on efface le flag goto fin_inter ; -> fin de l'interruption ; Restauration du contexte d'avant l'interruption fin_inter movf pclath_temp,w ; récupère le PCLATH d'avant interruption movwf PCLATH ; restauration swapf status_temp,w ; récupère le STATUS d'avant interruption movwf STATUS ; restauration swapf w_temp,f swapf w_temp,w ; restauration de W sans affecter STATUS retfie SOUBIGOU Antoine PAILLARD Jean-Noël - 27 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 ;********************************************************************** ; Programme principal ;********************************************************************** main call init_PIC ; on initialise les ports du PIC et ses périphériques ; ici on arrive dans la boucle pricipale du programme qui ne fait rien d'autre ; qu’attendre les diverses interruptions. attente_interruption goto attente_interruption ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; init_PIC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; paramétrage du Timer2 (utilisé pour le PWM) movlw b'00000111' ; Timer2 on, Prescaler=16 movwf T2CON ; banksel 0x80 movlw 0xFF ; On compte jusqu'a 255 movwf PR2 ; => Fpwm=732 Hz environ (on ne peut pas faire moins) ; démarrage du PWM banksel 0x00 clrf CCPR1L movlw b'00001111' movwf CCP1CON ; désactivation du CAN : banksel 0x80 movlw b'00000110' movwf ADCON1 ; direction du port A : TRISA : movlw B'00010000' movwf TRISA ; direction du port C : TRISC: movlw b'00010000' movwf TRISC banksel 0 clrf PORTC banksel 0x80 ; fixe le rapport cyclique à 0 pour commencer ; activation du mode PWM ; ; désactive complètement le CAN ; RA4/RY est une entrée ; tout le reste est en sortie ; tout en sortie sauf patte SDI ; par défaut tout est inactif ; bank 1 ; les autres ports sont en entrée par défaut ; paramétrage du TIMER0 et Interruptions externes : banksel 0x80 ; Bank 1 movlw b'11000111' ; pas de pull-ups sur le port B ; interruption externes générées sur front montant ; source du TIMER0 = l'horloge interne ; prescaler affecté au TIMER0 = 1:256 movwf OPTION_REG banksel 0x00 ; Bank 0 ; activation des interruptions des périphériques bsf INTCON,PEIE ; SOUBIGOU Antoine PAILLARD Jean-Noël - 28 - GE3S Projet microcontrôleur Le baladeur MP3 – MemoryStick Janvier 2003 ; activation des interruptions sur RB4:RB5 ; bcf INTCON,RBIF ; on efface le flag pour qu'il n'y ait pas de saut bsf INTCON,RBIE ; activation de l'interruption sur RB4 et 5 ; activation globale des interruptions bsf INTCON,GIE ; return ; fin de la procédure d'initialisation. inter_RB45 call wait_5_us call wait_5_us movf PORTB,W movwf val_bouton movlw 0x0 movwf TMR1H clrf TMR1L banksel 0x80 bsf PIE1,TMR1IE banksel 0x00 bcf PIR1,TMR1IF bcf INTCON,RBIE movf val_bouton,W movwf travail1 btfsc travail1,4 RETURN movlw 0x02 movwf PCLATH rrf travail1,w andlw b'00000111' addwf PCL,F goto vol_plus ; goto vol_moins ;b'01011001' ; ; ; inter timer1 = enable ; flag timer 1 = 0 ; inter rb45 disable ; ; W contient le n° de touche enfoncée ; on saute aux routines associées à chaque touche ; return inter_tmr1 ;détermination de la touche enfoncée return END ; directive 'end of program' SOUBIGOU Antoine PAILLARD Jean-Noël - 29 - GE3S