Circuit : Le lecteur audio Card Sound
sur

Vous recherchez un projet de lecteur audio DIY, compact mais puissant, aux possibilités quasi illimitées ? Découvrez le lecteur audio Card Sound, présenté pour la première fois par Falko Bilz dans Elektor (janvier/février 2018). Il utilise une carte microSD pour le stockage audio, offrant une grande capacité à faible coût. Vous pouvez y charger de nouveaux fichiers audio très simplement depuis n’importe quel ordinateur portable.

Circuit
Reportez-vous au schéma et suivez le flux des données audio depuis la carte microSD insérée dans son support. La carte communique avec le microcontrôleur via une interface SDIO, permettant un transfert de données rapide et bidirectionnel. Grâce à l’utilisation de plusieurs lignes de données en parallèle, cette interface atteint un débit supérieur au mode simple 1 bit. Des résistances de tirage assurent le bon fonctionnement des lignes de communication.
« Les données audio sur la carte SD sont converties en signaux PCM (modulation par impulsions codées) dans le contrôleur STM32F401 (doté d'un noyau Cortex M4 de ST Microelectronics) selon des instructions définies par l’utilisateur et sont envoyées vers le bus I²S, une interface spéciale pour signaux numériques série conçue par Philips. Ce bus de données comprend une ligne d’horloge de bits (CK), une ligne de données (SD) et une ligne de bascule entre les canaux gauche et droit (LRCK). De plus, nous avons une ligne Master Clock (MCK) qui ne fait pas partie de la spécification I²S. La relation fixe MCK = 256 × LRCK est définie par IC2. »
Logiciel du lecteur audio
Le logiciel a été écrit en C, en utilisant les bibliothèques dites CMSIS et FatFS. Visitez la page du projet pour plus d’informations. La plupart des fichiers ont été générés avec le programme de configuration STM32CubeF4, ce qui élimine en grande partie la nécessité d’étudier le manuel de référence du STM32F401.« Dans ce projet, l’application elle-même a le fichier main.c comme point d’entrée », a expliqué le concepteur. « La sortie audio est implémentée dans le fichier waveplayer.c : un tampon de données est transféré par DMA via le bus I²S vers le convertisseur D/A IC5. Quand la moitié du tampon a été transférée, les données PCM du fichier WAV suivant sont écrites dans l’autre moitié. Dans ce processus, nous intercalons un ajustement dynamique du volume par simple multiplication, en utilisant l’unité de calcul en virgule flottante (FPU). La fonction de fondu sonore utilise également ce principe. Le résultat final est un flux de données I²S sans interruption, laissant des ressources de calcul supplémentaires disponibles pour vos propres besoins ou une future extension du programme (peut-être pour une fonction loudness). Le reste des fichiers est constitué en grande partie de fichiers supplémentaires avec des sous-fonctions spéciales. »
Bien entendu, l’article original Elektor contient beaucoup plus de détails.

Plus sur le lecteur audio card sound
L’article original « Card Sound » est paru dans Elektor janvier/février 2018. Vous pouvez lire l’article gratuitement pendant les deux semaines suivant la publication de cette actualité. Si vous réalisez un circuit, pensez à partager vos progrès sur la plateforme Elektor Labs !Note de la rédaction : Cet article est paru pour la première fois en 2018. Compte tenu de l’ancienneté du projet, certains composants ou produits peuvent ne plus être disponibles et certaines techniques de conception peuvent sembler datées. Toutefois, nous pensons que ce projet saura vous inspirer pour vos futures réalisations.
Discussion (0 commentaire(s))