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.
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.
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.
--
Uli Raich - 2021-07-06
Comments