🛠 Streaming Audio I2S via Réseau sur Ampli MAX98357A

Adafruit Stereo I2S 3W Amplifier Breakout - Dual MAX98357A · avance · Configurez un système de streaming audio réseau haute fidélité en connectant la carte MAX98357A à un microcontrôleur via I2S pour diffuser des flux PCM en temps réel.

Objectifs

Ce tutoriel avancé vise à construire un nœud audio réseau autonome. L'objectif est de recevoir des flux audio PCM sur un réseau local (Wi-Fi ou Ethernet) et de les transmettre via le bus I2S vers la carte d'amplification stéréo MAX98357A pour une sortie haut-parleur directe. Nous explorerons la gestion des tampons DMA pour éviter les artefacts sonores et la configuration précise des paramètres I2S sans signal MCLK.

Matériel nécessaire

Étapes

  1. Configuration matérielle : Connectez les broches I2S du microcontrôleur aux entrées correspondantes de la carte MAX98357A : BCLK (Bit Clock), LRC (Left/Right Clock, aussi appelé WS) et DIN (Data In). Notez que le MAX98357A n'a pas besoin de MCLK (Master Clock), simplifiant le câblage. Reliez les sorties haut-parleur (SPK+ et SPK-) directement aux bornes des haut-parleurs. Assurez-vous que la tension d'alimentation est comprise entre 2.7V et 5.5V.
  2. Réglage du gain : Par défaut, le gain est fixé. Pour ce cas d'usage, nous visons un niveau de ligne standard. Vérifiez les jumpers ou résistances sur la carte pour sélectionner un gain de 9dB ou 12dB, offrant un bon compromis entre dynamique et bruit de fond (25µV RMS).
  3. Configuration logicielle I2S : Configurez le périphérique I2S du microcontrôleur en mode maître. Définissez la fréquence d'échantillonnage (ex: 44.1kHz ou 48kHz) et la profondeur de bits (16-bit ou 24-bit). Activez le mode DMA (Direct Memory Access) pour transférer les données audio depuis le buffer réseau vers la ligne I2S sans intervention CPU, crucial pour la stabilité du flux.
  4. Implémentation du réseau : Mettez en place un serveur UDP ou TCP sur le microcontrôleur. Écrivez une routine qui écoute les paquets audio entrants, remplit un buffer circulaire (FIFO) et déclenche le transfert DMA dès que le buffer est plein. Gérez les erreurs de réseau par un remplissage silencieux (mute) pour éviter les clics.
  5. Protection et mise en service : Le MAX98357A possède des protections thermiques et contre les courts-circuits. Ne laissez jamais les sorties en court-circuit. Allumez le système, envoyez un flux audio test via votre réseau local et ajustez le volume côté source si nécessaire.

Vérification

Écoutez un fichier audio connu. Le son doit être clair, sans distorsion à volume modéré (classe D efficace à 92%). Vérifiez l'absence de bruit de fond lorsque le silence est envoyé. Utilisez un oscilloscope pour confirmer que les signaux BCLK et LRC sont stables et synchronisés avec les données DIN.

Pour aller plus loin

Intégrez un DAC externe pour comparer la qualité, ou ajoutez un contrôle de volume numérique (DSP) avant l'étage I2S. Vous pouvez aussi explorer le multiplexage de plusieurs canaux I2S pour un système multi-room.

Autres tutoriels pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels