Menu English Ukrainian Russe ACCUEIL

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Lecteur audio MP3 et Opus. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / l'audio

Commentaires sur l'article Commentaires sur l'article

Cet article décrit un lecteur portable maison pour les fichiers musicaux de formats courants à partir d'une carte mémoire microSD. Il est assemblé sur le microcontrôleur STM32F407VGT6 dans un boîtier d'un téléphone portable NOKIA 1100.

Le schéma du joueur est illustré à la fig. 1. Il utilise au maximum les composants électroniques disponibles sur la carte de développement STM32F4DISCOVERY, notamment le microcontrôleur STM32F407VGT6 (DD1), les régulateurs de tension intégrés LD3985M25R (DA1) et LD3985M33R (DA3), le codec CS43L22 (DD2) ainsi que les composants passifs. Du téléphone portable NOKIA 1100, en plus du boîtier et de la batterie, un connecteur pour connecter des écouteurs XS3, un panneau avant avec un écran LCD HG1, des membranes pour les boutons SB1-SB17 formées par des plages de contact concentriques sur une carte de circuit imprimé, et un connecteur pour connecter une batterie G1 ont été utilisés. De plus, la carte du lecteur contient un support pour une carte mémoire microSD TFC-WPCE-08 (XS1), un groupe de plages de contact pour connecter le programmeur Xp1, un connecteur miniUSB-B 5075BMR-05-SM (XS2).

Lecteur audio MP3 et Opus
Riz. 1. Disposition du lecteur (cliquez pour agrandir)

Les ensembles de diodes VD1, VD4, VD5, VD6 sont utilisés pour protéger contre les décharges électrostatiques les circuits connectés aux connecteurs XS2 et XS3. Les connecteurs restants sont situés à l'intérieur du compartiment de la batterie et n'ont pas besoin de protection. La puce (DA2) est un contrôleur de charge de batterie lithium-ion G1 avec une tension maximale de 4,2 V. La résistance R9 réduit la chute de tension sur cette puce pendant la charge, la faisant chauffer. La résistance R10 définit le courant de charge maximal Isal.max selon la formule Ipar ap.max = 1000/R10. Avec la résistance R10 réglée en kiloohms, la valeur du courant de charge est obtenue en milliampères.

Il est recommandé de charger une batterie lithium-ion avec un courant ne dépassant pas 1C, où C est la capacité de la batterie. La capacité de la batterie BL-5C utilisée est d'environ 1000 mAh, le courant de charge maximal autorisé pour la puce LTC4054ES5-4.2 est de 800 mA. La charge s'effectuant depuis le bus USB, sa capacité de charge (500 mA) doit également être prise en compte. Ainsi, la valeur recommandée de R10 est de 2 kOhm. De plus, en mesurant la tension aux bornes de R10, vous pouvez déterminer la valeur actuelle du courant de charge de la batterie à l'aide de la formule Izar= 1000UR10/ R10 (courant - en milliampères, tension - en volts, résistance - en kiloohms).

Lorsque le connecteur XS2 est connecté au bus USB, le transistor à effet de champ VT1 déconnecte la batterie G1 du circuit d'alimentation du lecteur. Une tension de 5 V provenant de la broche 1 du connecteur XS2 ouvre le transistor VT5, la tension de grille du transistor VT3 devient négative par rapport à sa source. Le transistor VT3 s'ouvre, y compris le lecteur.

Lorsqu'il n'y a pas de tension sur la broche 1 du connecteur XS2, le potentiel de grille du transistor VT3 est proche de son potentiel de source et le transistor est fermé.

L'appui sur le bouton SB1 ouvre également le transistor VT3, le microcontrôleur commence à fonctionner et vérifie l'état de ce bouton toutes les 10 ms. S'il est maintenu enfoncé pendant plus de 2 secondes, le microcontrôleur établira un niveau de tension élevé à la base du transistor VT2, l'ouvrant et maintenant le transistor VT3 ouvert. Après cela, le lecteur se met en état de marche et le bouton peut être relâché. Éteignez le lecteur en appuyant à nouveau sur le bouton SB1 et en le maintenant enfoncé.

Après la mise sous tension, le microcontrôleur initialise l'écran LCD HG1 et la carte microSD insérée dans le support XS1, vérifie la présence du fichier de configuration player.ini dans le répertoire racine de la carte (les systèmes de fichiers FAT12, FAT16, FAT32 sont pris en charge). Il s'agit d'un fichier ini normal, qui est un ensemble de lignes "clé - valeur". Il stocke des informations sur le fichier audio sélectionné pour la lecture au moment où le lecteur a été éteint pour la dernière fois, la position dans celui-ci et le volume réglé. Le programme essaie de restaurer cet état. En cas d'échec (par exemple, si la carte a été remplacée), le premier fichier audio (avec l'extension .mp3 ou .opus) sur la carte est recherché. La recherche commence à partir du répertoire racine, les fichiers sont recherchés dans l'ordre dans lequel ils sont répertoriés dans la table d'allocation des fichiers sur la carte.

Pendant la lecture, la fonction MainThread du décodeur actuel est appelée périodiquement, qui effectue la lecture de la carte selon les besoins (chaque codec est responsable de sa mise en mémoire tampon, car les formats des conteneurs de paquets audio pour .opus et .mp3 sont différents) et décodage . La nécessité d'effectuer ces opérations est déterminée par la plénitude du tampon circulaire AudioBuffer, à partir duquel le codec audio lit les informations de manière asynchrone. A l'issue du décodage du fichier audio courant, le suivant est recherché selon le principe décrit ci-dessus. Si la traversée du système de fichiers est terminée, la lecture s'arrête.

Le lecteur interagit avec l'utilisateur à l'aide d'un écran LCD graphique monochrome HG1 avec une résolution de 96x65 px et des boutons SB 1 -SB 17. Une simulation logicielle du mode d'affichage du texte est utilisée avec l'écran divisé en huit lignes de 8 px de hauteur. La barre horizontale restante de 1px en bas de l'écran est utilisée pour afficher visuellement la position actuelle dans le fichier pendant la lecture.

La première ligne à partir du haut affiche (de gauche à droite) la tension de la batterie, l'état du lecteur, le volume. L'état est caractérisé par les caractères "0" - lecture, "-" - pause, "<<" ou ">>" - retour rapide ou avance rapide, respectivement, dans le fichier. Le symbole en forme de rectangle signifie une erreur dans la communication des microcircuits DD1 et DD2 via l'interface I2C.

Les lignes 2 à 6 indiquent le chemin d'accès complet au fichier audio en cours de lecture. La ligne 8 affiche le temps de lecture actuel à gauche et la durée du fichier audio à droite.

Le bouton SB1 bascule entre les modes de lecture et de pause, le bouton SB3 augmente le volume et le bouton SB5 diminue le volume, le bouton SB4 s'allume et le verrouillage du clavier est désactivé avec le bouton SB15. Lorsque le clavier est verrouillé, "Locked" s'affiche au centre de la ligne 7 de l'écran. Appuyez sur le bouton SB6 pour passer à la lecture du fichier précédent et sur le bouton SB8 - le suivant. Appuyer et maintenir ces boutons pendant plus d'une seconde place le lecteur en mode d'avance rapide, de rembobinage ou d'avance, respectivement. Appuyer sur le bouton SB9 ou SB11 charge respectivement le premier et le dernier fichier du répertoire actuel pour la lecture.

Connecteur XS3 - disponible dans le boîtier utilisé pour connecter un casque. Le casque lui-même dispose d'une prise pour une prise audio standard d'un diamètre de 3,5 mm, à laquelle un casque est connecté. Le casque fournit également un bouton qui, lorsqu'il est enfoncé, connecte les circuits BTN et GND, et la résistance entre les contacts du bouton relâché est d'environ un kiloohm. Dans le lecteur, la ligne BTN est connectée au circuit 3,3 V via une résistance R21. Par conséquent, en mesurant la tension sur cette ligne, on peut juger à la fois de la présence d'un casque connecté et de l'état de son bouton. La fonction du bouton du casque est similaire à la fonction du bouton du lecteur SB1 - vous pouvez le faire passer du mode lecture au mode pause, et vice versa, et également l'éteindre. Cependant, vous ne pouvez pas allumer le lecteur qui l'utilise. Lorsque le clavier est verrouillé, le bouton du casque reste actif.

Le connecteur XS2 remplace la lentille de la lampe de poche LED dans le téléphone. Lorsqu'un niveau logique haut est détecté à l'entrée PA1 du microcontrôleur connecté à la broche 9 de ce connecteur, le programme commence à afficher le courant de charge de la batterie en ampères dans le coin supérieur droit de l'écran. De plus, cet événement allume automatiquement le lecteur s'il était éteint. Par défaut, après cela, le lecteur fonctionne en mode de lecture normal, ce qui vous permet d'écouter de la musique et de charger la batterie en même temps.

Lorsque vous appuyez sur le bouton SB13, le programme enregistre l'état du lecteur dans le fichier player.ini et configure le module de microcontrôleur USB pour fonctionner en mode MSC (Mass Storage Class). Dans ce mode, l'ordinateur reconnaît le lecteur connecté au connecteur USB comme un périphérique de stockage amovible dont le contenu correspond à celui enregistré sur la carte microSD insérée dans le lecteur. Les informations sont échangées avec l'ordinateur uniquement en mode Full Speed ​​​​avec une bande passante ne dépassant pas 12 Mbps. L'écran affiche toujours la valeur actuelle du courant de charge, à la ligne 3 - l'inscription "USB Disk", aux lignes 4 et 5 - respectivement, la vitesse de lecture et d'écriture. En appuyant sur le bouton SB12, l'appareil revient en mode lecteur.

Le dessin de la carte de circuit imprimé du lecteur est illustré à la fig. 2. Ses dimensions et sa forme sont identiques à la carte du téléphone portable NOKIA 1100, auquel cas il est placé (Fig. 3). La carte doit être fabriquée selon la technologie avec des trous métallisés, sinon il faut insérer et souder des morceaux de fil étamé des deux côtés dans tous les vias (avec des pastilles des deux côtés de la carte) et les souder des deux côtés. L'emplacement des pièces sur la carte est illustré à la fig. Échelle 4 en 2:1. Il montre également des masques en vernis isolant résistant à la chaleur, qui doivent être utilisés pour protéger les conducteurs imprimés. Si les masques ne sont pas appliqués, il est nécessaire d'isoler au moins les zones où les conducteurs s'approchent des contacts imprimés des boutons et la zone sous le boîtier métallique du support de carte microSD XS1.

Lecteur audio MP3 et Opus
Riz. 2. Dessin du circuit imprimé du lecteur

Lecteur audio MP3 et Opus
Riz. 3. Téléphone portable NOKIA 1100

Lecteur audio MP3 et Opus
Riz. 4. Emplacement des pièces sur la carte

Les codes du fichier walkgeek-v1.2-n1100-with-mp3.hex joint à l'article doivent être entrés dans la mémoire du microcontrôleur installé sur la carte. Le code source du programme du lecteur et de tous ses composants est distribué sous la nouvelle licence BSD (et d'autres compatibles), ce qui permet son utilisation dans des projets commerciaux fermés. L'exception est la bibliothèque Mp3dec, dont l'ajout au produit final nécessite la divulgation de tous les codes sources. Le projet est constamment mis à jour et ses versions mises à jour sont publiées dans [1].

Comme déjà mentionné, le lecteur offre la possibilité de lire des fichiers Opus. Il s'agit d'une version stable récemment publiée d'un codec logiciel [2] pour la compression audio avec perte développé par le projet Xiph.org, connu pour des solutions telles que Vorbis, FLAC (Free Lossless Audio Codec - codec pour la compression audio sans perte) et Speex (discours codec). Vous pouvez également l'appeler Ogg - un conteneur multimédia universel utilisé par défaut pour compresser un flux compressé dans des fichiers Opus.

Étant donné que le codec Opus est assez nouveau, il n'y a pas beaucoup d'implémentations sur des systèmes avec une petite quantité de RAM. L'un d'eux est Rockbox. Au cours du processus de travail avec le codec, il s'est avéré que la bibliothèque Ogg alloue dynamiquement de la mémoire pour la mise en cache de la page entière (la taille maximale théorique est de 65 Ko, la vraie est d'environ 26 Ko), ainsi que pour la mise en cache granulepos de tous paquets de page (environ 16 Ko), ce qui pour un appareil, ayant 192 Ko de RAM, beaucoup. De plus, la bibliothèque alloue par défaut une petite zone de mémoire pour le tampon de page, l'étendant pendant le fonctionnement et allouant à chaque fois de la mémoire "avec une marge".

La même chose se produit avec le tampon pour les valeurs de laçage - des informations sur la distribution des packages sur la page. Ainsi, si le pool de mémoire dynamique est petit, cela conduit rapidement à sa fragmentation importante et à l'impossibilité d'allouer davantage de mémoire de la quantité requise.

Suite aux modifications apportées aux bibliothèques, la mise en cache est effectuée au niveau paquet (la taille maximale d'un paquet d'informations stéréo transmises à un débit de 512 Kbps est, en pratique, de 1276 octets). La taille maximale de la mémoire tampon pour les valeurs de laçage est de 256 cellules à deux octets, et elles peuvent également être rendues à un octet. Ainsi, toutes les structures associées au conteneur Ogg, après modification, occupent moins de 2 Ko de RAM.

Certaines hypothèses ont été faites dans la modification : les paquets ne peuvent pas franchir les limites de page, les sommes de contrôle de page ne sont pas vérifiées (aucune de celles-ci n'a été trouvée dans aucun des fichiers Opus). Travailler avec des fichiers contenant plus d'un flux et avec un nombre de canaux différent de deux n'a pas été testé.

La quantité totale de mémoire consommée par le codec Opus est de 65088 octets, dont 3856 octets sont occupés par le tampon de sortie. Les résultats du profilage de codec à différents débits d'informations sont présentés dans le tableau. 1.

Tableau 1

codec Opus MP3
Vitesse, Kbps 48 196 320 512 320
Complexité, MIPS 43 50 74 80 21

Le concept de "complexité" fait référence aux performances du processeur requises pour un décodage réussi. Il a été estimé par simple calcul à l'aide d'un temporisateur matériel de la différence entre les instants d'entrée dans la procédure de décodage de chaque trame et de sortie de celle-ci (avec multitâche préemptif désactivé et interruptions désactivées). Le test a montré que le codec MP3 nécessite moins d'efforts de calcul. Mais Opus est libre de droits et la qualité sonore est meilleure lors de son utilisation que lors de l'utilisation de MP3 et du même débit binaire.

Il existe une version du programme de lecteur pour la carte de débogage STM32F4DISCOVERY.Les codes qui doivent être entrés dans la mémoire du microcontrôleur installé sur celle-ci se trouvent dans le fichier walkgeek-v1. 1 -stm32f4discovery-with-mp3.hex (également joint à l'article). Dans ce cas, les fichiers audio sont lus à partir d'une clé USB connectée au connecteur CN5 de la carte via un adaptateur. Le joueur agit comme 

Maître du bus USB. Son état est affiché par des LED orange, rouge, bleue et verte sur la carte. Le rouge indique non, le vert indique la présence d'un lecteur FLASH connecté, l'orange indique qu'un fichier audio est en cours de chargement, la lecture s'est arrêtée ou une erreur de programme, le bleu clignotant indique le mode de lecture. La plupart des boutons disponibles dans le schéma de la Fig. 1, connecté à la carte de débogage selon le tableau. 2 (le deuxième contact de chaque bouton est relié à un fil commun). Le rôle du bouton SB8 est assuré par le bouton "User" de la carte. L'écran du téléphone NOKIA 1100 est connecté à la carte de débogage conformément au tableau. 3.

Tableau 2

Bouton ligne contact
SB1 REZ R2.16
SB3 PE5 R2.14
SB4 PE4 R2.13
SB5 PE6 R2.11
SB6 PE7 R1.25
SB7 PE8 R1.26
SB9 PE9 R1.27
SB10 RAYON R1.28
SB11 PE11 R1.29
SB12 RAYON R1.30
SB13 RAYON R1.31
SB14 RAYON R1.32
SB15 RAYON R1.33

Tableau 3

conclusion Chaîne ligne contact
1 RES RA2 R1.14
2 CS RA1 R1.11
3 VSS GND R1.5
4 SDIN RA7 P1 17
5 SCLK RA5 P1 15
6 VDD1 dans 3 R2.5
7 VDD2

Programmes des joueurs

littérature

  1. Lecteur de musique Walkgeek ARM Cortex-M4. - URL : code.google.eom/p/walkgeek/.
  2. Codec audio interactif Opus. - URL : opus-codec.org/.

Auteur : O. Tsaregorodtsev

Voir d'autres articles section l'audio.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Le cerveau est capable de se souvenir de mots étrangers dans un rêve 19.06.2023

Des études récentes menées par des scientifiques de l'Université de Berne ont confirmé une caractéristique intéressante du cerveau : la capacité à se souvenir de mots étrangers pendant le sommeil. La légende selon laquelle le sommeil peut favoriser un apprentissage plus efficace a reçu un soutien scientifique, bien que les scientifiques restent sceptiques quant à cette affirmation. Cependant, il existe des preuves que le cerveau est capable de traiter et de stocker les informations reçues dans certaines phases du sommeil.

Les chercheurs se sont concentrés sur le sommeil à ondes lentes, en particulier sa première phase. À ce stade, le cerveau traverse de courtes périodes d'activité et de récession qui durent environ 30 secondes. Une équipe de scientifiques dirigée par Flavio Schmidig a développé un algorithme qui prédit le moment exact du prochain pic et de la prochaine chute des ondes cérébrales sur la base des données EEG. Cet algorithme a été utilisé pour mener des expériences sur 30 volontaires qui dormaient dans le laboratoire et étaient de langue maternelle allemande.

Au cours de l'expérience, les volontaires ont joué des mots courts de deux syllabes. Un mot sonnait dans leur oreille en allemand, et la "traduction" de ce mot, qui est un ensemble aléatoire de syllabes qui n'existent pas en réalité, sonnait dans l'autre oreille. Cette approche excluait l'influence possible de la connaissance antérieure des langues étrangères. La moitié des volontaires écoutaient ces paroles pendant les pics d'activité cérébrale, et l'autre moitié pendant les périodes de récession. Au total, chaque mot a été joué quatre fois, et le choix des mots couvrait trois catégories : les animaux, les lieux et les instruments.

Après 12 heures, l'efficacité de cet entraînement a été testée. Les volontaires ont de nouveau entendu le mot "traduit" et ont été invités à l'attribuer à l'une des trois catégories. Comme prévu, avec une réponse aléatoire, la probabilité du bon choix était d'environ 33 %, et c'est exactement le résultat du groupe qui a écouté les mots pendant les pics d'activité cérébrale. Le deuxième groupe, qui a écouté les mots pendant les périodes de récession, a obtenu un score légèrement supérieur à 37 %, ce qui n'est presque pas différent des devinettes aléatoires. Cependant, lorsqu'il a été revérifié 24 heures plus tard, ce groupe a obtenu de meilleurs résultats, atteignant 41 % de réponses correctes.

L'analyse statistique a confirmé que ces résultats ne peuvent pas être un simple phénomène aléatoire. Les chercheurs ont conclu que la mémoire se produit réellement lorsque les mots sont rappelés pendant de courtes périodes d'activité cérébrale au cours de la période initiale de sommeil profond. Cependant, l'effet de cette mémorisation s'est avéré modéré, et son importance dans l'apprentissage reste relativement faible. Au contraire, cela démontre le fait même que le cerveau est capable de percevoir et de stocker de nouvelles informations pendant le sommeil, mais il est peu probable que cela soit une aide significative dans le processus éducatif.

Autres nouvelles intéressantes :

▪ Microcontrôleur ARM 32 bits flexible

▪ Chaussures de navigation électroniques pour touristes

▪ Détecteur de mensonge sans contact

▪ Nanoresonator aidera à refléter 10000 XNUMX fois plus de lumière

▪ Encre totalement invisible

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section du site Web de l'électricien. PUE. Sélection d'articles

▪ article Gestion anti-crise. Notes de lecture

▪ article En quoi Jupiter, Saturne et Neptune ne correspondent-ils pas entièrement à la définition classique d'une planète ? Réponse détaillée

▪ article Valériane pharmacie. Légendes, culture, méthodes d'application

▪ article Bloc d'allumage électronique. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Régulateur de vitesse de perceuse électrique. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024