Branchement I2S pour un microphone via un ARMCortex

Bonjour,

J'ai une carte (que je vais acheter) 'Nucleo L433-RC-P'. Après parcouru le datasheet j'ai 3 pins disponibles pour I2S (PB5 : SAI1_SD_B, PB3 : SAI1_SCK_B et PA4 : SAI1_FS_B).

J'ai une carte
https://www.audiophonics.fr/fr/appareils-hifi-adc-audio/adc-cs5343-dac-cs4344-i2s-24bit-192khz-p-14326.html

D'après les infos j'ai SDOUT, SCK, LRCK1 et MCLK qui sont disponibles pour I2S en particulier pour le ADC (car je n'utilise pas le DAC).

Pourriez-vous me dire comment je peux connecter ma carte Nucleo avec la carte ADC pour utiliser l'interface I2S de la carte Nucleo ? Merci par avance de votre aide.

Cordialement

Bonjour
attention il semble y avoir des gros gros délais pour approvisionner cette "carte" par les canaux habituels .

pour la question en elle même plutôt voir sur un forum dédié arm cortex

Je crois qu'il y a quelques pratiquants ici (@fdufnews ? @68tjs ? )

Je ne sais pas répondre à ta question, mais je rappelle qu'une carte Nucleo n'est pas une carte Arduino, mais STMicroelectronic.

Il y a eu un portage de divers microcontrôleurs STM32 sur l'IDE Arduino.
En fait il y a eu deux portages des cartes sur l'ide arduino :

  • le premier fait par un amateur qui a arrêté.
  • STMicro a repris la suite. STMicro a complètement réorganisé le projet et a augmenté le nombre de microcontrôleurs pris en charge.
    Il existe un forum dédié à la gestion "arduino" : https://www.stm32duino.com
    Le modérateur de ce forum est un employé de STMicro.
    Il est bien placé pour savoir où s'adresser pour trouver les informations.

L'environnement de développement "historique" de programmation de ces cartes est le projet Mbed https://os.mbed.com où il existe aussi un forum.

La question porte plutôt sur le branchement des 4 fils de la carte ADC (SDOUT, SCK, LRCK1 et MCLK) sur l'I2S de la NUCLEO.
Il semblerait qu'en audio il soit assez courant qu'une carte ADC possède une entrée horloge (MCLK).
Je peux me tromper mais dans la datasheet du CS5343 on voit :

4.1.3 Master Clock
The CS5343/4 requires a Master clock (MCLK) which runs the internal sampling circuits and digital filters.

A mon avis il manque une carte :
https://www.audiophonics.fr/fr/recherche?search_query=horloge

Bonjour Henri
avec les ADC I²S generalement le MCU (lib dédiée) joue le chef d'orchestre pour ce qui est des clocks,
Certains modules peuvent aussi générer leur propre systeme d'horloge .

Perso j'ai çà avec lequel je joue depuis un petit moment et qui est
souple d'emploi.

Seul vrai problème je n'ai pas encore trouvé de MCU (esp32,teensy,raspberry pico) capable d’acquérir logger facilement en 192/24 .

La meilleure méthode simple ET efficace est d'utiliser un petit analyseur clone Saleae et d'enregistrer la session en CSV

Cette autre carte possède ses propres horloges, sélectionnables à l'aide de DIP-SWITCHES :
https://www.audiophonics.fr/fr/appareils-hifi-adc-audio/module-adc-stereo-wm8782-i2s-24bit-192khz-p-14897.html
Mais elle possède également une broche MCLK, pour une horloge externe.

On parle bien de la même chose :wink:
Le problème est que la carte de DOY38 semble dépourvue d'horloge.

oui , mais elle dispose d'une entrée MCLK
si tu dispose d'un MCU avec la bonne lib çà doit en theorie passer .

Le vrai problème (pour autant que çà en soit un :innocent: ) de cette carte est que l' ADC est limité
à 108 kHz donc exit le 192

Bonjour,

Finalement cette carte 'Module ADC Stéréo WM8782 I2S 24bit 192kHz' me conviendrait plus (je n'utilise pas le DAC mais uniquement ADC).

En revanche, pour les pins : BCLCK, LRCK, DATA et MCLK comment les brancher avec les pins de la carte 'Nucleo L433-RC-P' I2S (PB5 : SAI1_SD_B, PB3 : SAI1_SCK_B et PA4 : SAI1_FS_B).

Merci de votre aide.

Bonjour

pas certain que sur ce forum ARduino quelqu'un ait la réponse la question (I2S + microcontrolleur utilsé !!
Une reherche patiente sur le WEB donnerait sans doute des pistes sinon LA réponse.

vite fait je tombe là dessus : https://www.fatalerrors.org/a/audio-transplant-wm8978-audio-codec-driver-based-on-stm32-i2s.html

Par ailleurs NXP a peut être une note d'application concernant la mise en oeuvre d'un CODEC IS sur ses STM32

C'est bien pour cela que j'ai donné deux liens vers des forums spécialisés sur microcontroleurs STM32. Car là on entre dans le coté très spécifique de chaque microcontroleur.

Ils sont en langue anglaise mais des traducteurs très corrects existent maintenant.

Les cartes Nucléos sont toutes acompagnées d'une "vraie" datasheet contrairement aux cartes arduino.
Que dit la datasheet ?

Bonjour,

Effectivement ce n'est probablement pas le bon site où je peux poser mes questions. Mais il me semblerait qu'avec cette carte :
ADC

PA5 (SAI1_SD_B-Serial Data) - avec pin Data du module ADC
PB3 (SAI1_SCK_B- Clock) - avec pin BCLK du module ADC
PA4 (SAI1_FS_B - Frame Syn ou bien Left/Right Clock) - avec LRCK du module ADC.

J'espère que ce n'est pas destructible pour le micro ou bien du module ADC si jamais je me trompe ?

il n'y a pas de grosses précautions particulières à prendre
NB : attention coté ana c'est de l'entrée L/R niveau ligne

Je pense que c'est sur Stereo analog input sans doute ? dont je ne peux pas brancher directement un micro (hydrophone exactement) il faut un amplificateur sans doute ? Comment fait on pour convertir un signal micro vers une entrée ligne ? Merci

On ne le convertit pas, on l'amplifie, avec un préampli micro.

il faut mettre un preampli entre le micro et l'entrée
selon les spécifications demandées , çà peut aller du trés simple et pas onéreux (1 transistor ou AOP par canal ) à beaucoup plus sophistiqué et trés cher :dollar:

Merci à vous tous, je pense que maintenant j'ai des éléments pour démarrer ! Bonne journée à tous.

J'ajouterais également que tout dépend du type de microphone.
Dynamique ? à condensateur (avec alimentation fantôme) ?