SOUBIGOU Antoine GE3S Semestre 5 2003 PAILLARD Jean-Noël



Documents pareils
PIC : COURS ASSEMBLEUR

Leçon 1 : Les principaux composants d un ordinateur

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

PIC 16F84. Philippe Hoppenot

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Les liaisons SPI et I2C

Informatique Industrielle

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Outils permettant la diffusion de l information. Un point sur le droit numérique

DAC. avec interface USB audio et préampli stéréo Casque CONVERTISSEUR DIGITAL VERS ANALOGIQUE. Guide d utilisation V1.1 Jan 2011

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Un ordinateur, c est quoi?

Premiers pas sur l ordinateur Support d initiation

LECTEUR DE COMPACT DISC CDJ-400

IV- Comment fonctionne un ordinateur?

Ordinateurs, Structure et Applications

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Prise en main. Prise en main - 0

1. PRESENTATION DU PROJET

Modules d automatismes simples

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Comment enregistrer simplement toute musique restituée par votre PC

VIII- Circuits séquentiels. Mémoires

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

1/6. L icône Ordinateur

Comment utiliser le lecteur MP3?

Structure de base d un ordinateur

Centres d accès communautaire Internet des Îles LA CLÉ USB

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Cours Informatique 1. Monsieur SADOUNI Salheddine

ipod shuffle Guide des fonctions

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

L EXPORTATION d un PROJET.MVP

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Table des matières. Pour commencer... 1

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Fonctions de l appareil :

Chapitre 13 Numérisation de l information

Tout savoir sur le matériel informatique

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Matériel & Logiciels (Hardware & Software)

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

3. L'icône ordinateur

Guide utilisateur. Parrot MKi9100. Français. Parrot MKi9100 Guide utilisateur 1

La programmation des PIC en C. Les fonctions, les interruptions.

Chapitre 4 : Les mémoires

Chapitre 18 : Transmettre et stocker de l information

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

CPLN 20/08/2009 MBO Service ICT et Pédagogie

LA VIDÉO HAUTE DEFINITION, PARTOUT, POUR TOUS

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Fiche technique CPU 314SC/DPM (314-6CG13)

Guide de programmation FLEXIVOZ PABX OD308

Domaine D1 : Travailler dans un environnement numérique évolutif

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Éléments d'architecture des ordinateurs

Le bus USB. I) Introduction : II) Architecture du bus USB :

Ajouter un cache SSD à son ordinateur

PIC EVAL Dev Board PIC18F97J60

3D Lab. NANO TRANSPORT & NANO PLAYER. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL. PCM & DSD natif. UPnP DNLA - Bit Perfect media device

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Guide des fonctions avancées de mywishtv

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

En DV (PAL ou NTSC), la largeur est toujours de 720 pixels, c'est la proportion du pixel qui change la proportion de l'image.

TASCAM MX Utilisation du SCSI

Transmissions série et parallèle

Projet audio. Analyse des Signaux ELE2700

Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie

Le multiplexage. Sommaire

LA VoIP LES PRINCIPES

Chaine de transmission

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Preliminary Spec Sheet

Alchin Couderc Flambard TBSEID 2

Structure et fonctionnement d'un ordinateur : hardware

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

5.5 Utiliser le WiFi depuis son domicile

Ordinateurs, Structure et Applications

Production de documents audio-numériques

CINEMA SB100 barre de son amplifiée

GPA770 Microélectronique appliquée Exercices série A

2013 Nos nouveaux outils basés sur Arduino

Utilisation du visualiseur Avermedia

Numérisation du signal

Console DE MIXAGE NUMERIQUE Du vrai broadcast pour vraiment moins de budget

nom : Collège Ste Clotilde

Récupérer au format AVI un extrait d'un DVD à l'aide du logiciel FlaskMpeg

ISO/CEI NORME INTERNATIONALE

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

Architecture des ordinateurs Introduction à l informatique

SOMe2100 MANUEL D UTILISATION. TRANSMETTEUR GSM/GPRS - M-Bus Master D INSTALLATION. Montage sur rail DIN. Notice simplifiée du module SOMe2100

Démontage d'un ordinateur

Vous avez un téléphone intelligent ou une tablette, lisez ceci

Transcription:

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

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-1 -

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. - 2 -

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. - 3 -

I.1.2. Description physique Elle a l avantage d être petite, très légère et solide. Voici son allure : I.2. Principe de fonctionnement Figure 1 : La MemoryStick 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 - 4 -

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 V SS et V CC 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 - 5 -

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-6 -

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. - 7 -

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. - 8 -

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). - 9 -

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. - 10 -

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 Stop Chanson précédente Chanson suivante Augmenter le volume Diminuer le volume Mode aléatoire 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 : - 11 -

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 - 12 -

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 - 13 -

Figure 16 : Découplages des autres alimentations - 14 -

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. - 15 -

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/ - 16 -

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-17 -

- 18 -

Annexe 1 : Description des blocs du DAC - 19 -

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. (bits) Position (bits) Description 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. - 20 -

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 - 21 -

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 value Layer I & II 00 bands 4 to 31 01 bands 8 to 31 10 bands 12 to 31 11 bands 16 to 31 Layer III Intensity stereo MS stereo off off on off off on 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. - 22 -

Annexe 3 : Informations sur le PIC 16LF877-23 -

Structure CMOS du PIC Particularités principales - 24 -

Le mode PWN pour la diode bicolore de volume - 25 -

Annexe 4 : Le schéma électrique du baladeur - 26 -

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 désactivé ; Watchdog désactivé ; Brown out detection désactivé (permet le fonctionnement à moins de 4 V) ; Power On timer activé ; Oscillateur HS ; LVP désactivé ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Définition des variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;dans la bank 0 travail EQU 0x20 ; Registre de travail delai EQU 0x24 ; 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 ; adresse du vecteur de RESET goto main ; 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 - 27 -

;********************************************************************** ; 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 ; fixe le rapport cyclique à 0 pour commencer movlw b'00001111' ; activation du mode PWM movwf CCP1CON ; ; désactivation du CAN : banksel 0x80 movlw b'00000110' movwf ADCON1 ; direction du port A : TRISA : movlw B'00010000' movwf TRISA ; désactive complètement le CAN ; RA4/RY est une entrée ; tout le reste est en sortie ; direction du port C : TRISC: movlw b'00010000' ; tout en sortie sauf patte SDI movwf TRISC banksel 0 clrf PORTC ; par défaut tout est inactif banksel 0x80 ; 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' movwf OPTION_REG banksel 0x00 ; Bank 0 ; activation des interruptions des périphériques bsf INTCON,PEIE ; ; 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-28 -

; 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 ;b'01011001' movwf TMR1H ; clrf TMR1L banksel 0x80 ; bsf PIE1,TMR1IE ; inter timer1 = enable banksel 0x00 bcf PIR1,TMR1IF ; flag timer 1 = 0 bcf INTCON,RBIE ; inter rb45 disable inter_tmr1 movf val_bouton,w movwf travail1 btfsc travail1,4 RETURN movlw 0x02 movwf PCLATH rrf travail1,w ; andlw b'00000111' ; W contient le n de touche enfoncée addwf PCL,F ; on saute aux routines associées à chaque touche goto vol_plus ; goto vol_moins ; return ;détermination de la touche enfoncée return END ; directive 'end of program' - 29 -