Tags:
create new tag
view all tags

I2S et le système audio

Pour pouvoir jouer des fichiers audio nous avons besoins d'

  • un fichier audio que nous attendons en format wav non comprimé
  • un système de fichier pour stocker le fichier audio. Ceci est fourni par MicroPython et peut se situer dans son flash interne ou sur une carte SD.
  • un DAC 16 bits rapide pour convertir les données audio dans une forme analogique qui peut être consommé par un hautparleur ou une oreillette.
  • En cas d’hautparleur on a besoin d'un amplificateur audio pour produire la puissance de signal nécessaire.
  • un pilote qui implémente le protocole I2S, inventé par Philips à la fin des années 1980, qui est utilisé pour transférer les données audio au DAC.

Notre kit contient un module I2S, basé sur le chip PCM5102, compatible avec le bus I2C et qui fourni le DAC nécessaire à la conversion de données audio digitales en signal utilisable par l'hautparleur.

pcm5102.png pcm5102back.png

Les connexions :

ESP32 PMC5102 Comments
GND SCK SCK=0:use internal PLL as clock master
D0: GPIO 26 BCK  
D2: GPIO 21 DIN  
D1: GPIO 22 LRCLK  
GND GND  
5V Vin  

ESP32 PCM5102 Comments
GND FLT Normal latency
GND DEMP De-emphasis off
  XSMT connected to A3V3 Mute is off
GND FMT Fomat is I2S
  A3V3  
Ces tableaux sont valables pour la connexion du PCM5102 vers la carte CPU du système WeMos D1 mini. D'autres pins GPIO peuvent être utilisé dans le cas du kit Freenove.

Le pilote I2S et ses exemples

Mike Teachman a écrit un pilote très sophistiqué qui a été inclus dans la version 1.16 de MicroPython. Sa description se trouve dans la documentation MicroPython dans le chapitre I2S.

Mike met aussi à disposition une série d'exemples avec de fichiers audio en format wav. Avec ces exemples on peut jouer de la musique stockée dans le flash de l'ESP32 ou sur une carte SD.

Il est seulement nécessaire d'adapter les pins GPIO utilisé pour le bus I2S.

I2Spins.png

Avec audacity on peut facilement convertir des fichiers audio de formats divers en un fichier wav avec un taux d'échantillonnage voulu. Changer le "Project rate" (en bas à gauche dans la fenêtre audacity) et exporter en format wav.

projectRate.png

-- Uli Raich - 2021-07-06

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng I2Spins.png r1 manage 40.9 K 2021-07-13 - 19:55 UliRaich  
PNGpng pcm5102.png r1 manage 127.0 K 2021-07-06 - 15:52 UliRaich  
PNGpng pcm5102back.png r1 manage 88.2 K 2021-07-06 - 15:52 UliRaich  
PNGpng projectRate.png r1 manage 5.5 K 2021-07-13 - 20:03 UliRaich  
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2021-07-13 - UliRaich
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback