🛠 Streaming de Audio I2S por Red con 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

Este tutorial avanzado tiene como objetivo construir un nodo de audio de red autónomo. La meta es recibir flujos de audio PCM sobre una red local (Wi-Fi o Ethernet) y transmitirlos a través del bus I2S hacia la placa de amplificación estéreo MAX98357A para una salida directa a altavoz. Exploraremos la gestión de buffers DMA para evitar artefactos de audio y la configuración precisa de I2S sin señal MCLK.

Matériel nécessaire

Étapes

  1. Configuración de hardware: Conecte los pines I2S del microcontrolador a las entradas correspondientes de la MAX98357A: BCLK (Bit Clock), LRC (Left/Right Clock, también llamado WS) y DIN (Data In). Tenga en cuenta que el MAX98357A no requiere MCLK (Master Clock), lo que simplifica el cableado. Conecte las salidas de altavoz (SPK+ y SPK-) directamente a los terminales de los altavoces. Asegúrese de que el voltaje de suministro esté entre 2.7V y 5.5V.
  2. Ajuste de ganancia: Por defecto, la ganancia está fija. Para este caso de uso, buscamos un nivel de línea estándar. Verifique los jumpers o resistencias en la placa para seleccionar una ganancia de 9dB o 12dB, ofreciendo un buen compromiso entre dinámica y ruido de fondo (25µV RMS).
  3. Configuración de software I2S: Configure el periférico I2S del microcontrolador en modo maestro. Defina la frecuencia de muestreo (ej: 44.1kHz o 48kHz) y la profundidad de bits (16-bit o 24-bit). Active el modo DMA (Acceso Directo a Memoria) para transferir datos de audio desde el buffer de red hacia la línea I2S sin intervención de la CPU, crucial para la estabilidad del flujo.
  4. Implementación de red: Configure un servidor UDP o TCP en el microcontrolador. Escriba una rutina que escuche paquetes de audio entrantes, llene un buffer circular (FIFO) y dispare la transferencia DMA cuando el buffer esté lleno. Maneje errores de red con relleno silencioso (mute) para evitar clics.
  5. Protección y puesta en marcha: El MAX98357A tiene protecciones térmicas y contra cortocircuitos. Nunca deje las salidas en cortocircuito. Encienda el sistema, envíe un flujo de audio de prueba a través de su red local y ajuste el volumen de la fuente si es necesario.

Vérification

Escuche un archivo de audio conocido. El sonido debe ser claro, sin distorsión a volumen moderado (clase D eficiente al 92%). Verifique la ausencia de ruido de fondo cuando se envía silencio. Use un osciloscopio para confirmar que las señales BCLK y LRC son estables y están sincronizadas con los datos DIN.

Pour aller plus loin

Integre un DAC externo para comparar la calidad, o agregue control de volumen digital (DSP) antes de la etapa I2S. También puede explorar la multiplexación de múltiples canales I2S para un sistema multi-habitación.

Otros tutoriales para esta placa

← Volver a la ficha 🛠 Todos los tutoriales