IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Amplificateur Analogique STM32F4


Sujet :

Embarqué

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Amplificateur Analogique STM32F4
    Bonjour à tous,

    Depuis 2 mois je travaille avec ma STM32F4 Discovery sur différents projets (Imprimante 3 axes, afficheur LED, etc ...).

    La STM32F4 est munie d'un amplificateur CS43L22. Mon projet à pour but d'utiliser la stm32F4 comme un amplificateur audio. En gros j'envoie sur un input le signal analogique (le signal sortant d'un jack par exemple) le fait passer dans l'ampli puis le fait ressortir sur un output analogique qui fera fonctionner un Haut parleur.

    Nom : Capture d’écran 2016-02-07 à 20.44.50.png
Affichages : 2062
Taille : 17,3 Ko

    Enfin je dit cela mais après de très nombreuses recherches je n'ai pas réussis à savoir si cela était possible et et si oui comment le faire ... J'ai trouvés différents moyens mais se basant sur un signal numérique .wav. Autrement dit ce n'est pas mon but.

    Auriez vous une idée du comment du pourquoi de la chose ? :p

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Salut,
    J'ai une question avant de répondre : Ton CS43L22, c'est bien ce composant dont on parle ? https://www.cirrus.com/cn/pubs/proDa...CS43L22_F2.pdf

    A+
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui exactement.

    Il est intégré à la carte (STM32F4 Discovery).

    Cordialement.

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    je répond peut être complètement à coté mais ça semble assez simple (ya un exemple identique dans le pdf).

    Page 24; 42; 43; 44; 45; 46

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Citation Envoyé par Iradrille Voir le message
    Hello,

    je répond peut être complètement à coté mais ça semble assez simple (ya un exemple identique dans le pdf).

    Page 24; 42; 43; 44; 45; 46
    C'est tout a fait juste !

    @toto85Abv,
    Il ne s'agit pas du tout d'un amplificateur, c'est un convertisseur numérique analogique amélioré avec des périphériques spécialisés (c'est un super composant)

    Donc oui tu peux très bien faire ce que tu souhaites.

    @Julien,
    Si tu passes dans le coin (et tu le feras ), il me semble que tu utilises la même carte. Comment est câblé ce composant sur ton micro ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Slt, en route pour de nouvelle aventures...

    Ce n'est pas la mm carte que j'utilise. Ici il s'agit d'une STM32F4-discovery avec il me semble un microcontroleur STM32F407 tandis que moi j'utilise une STM32F429-discovery avec un microcontroleur STM32F429.

    On pourrait les qualifiers de cousines

    Jen 'ai pas eu trop le temps de me pencher sur le pb mais bon j'ai trouvé ce schéma pour le composant cité:

    Nom : CS43L22.png
Affichages : 3270
Taille : 43,7 Ko

    Je regarde ASAP car cela m'interesse grandement !!!!!

    M.à.j:

    On board audio capability
    The STM32F4 uses an audio DAC (CS43L22) to output sounds through the audio mini jack
    connector.
    The STM32F4 controls the audio DAC through the I2C interface and processes digital
    signals through I2S connection or analog input signal.
    • The sound can come independently from different inputs:
    – ST MEMS microphone (MP45DT02): digital using PDM protocol or analog when
    using the low pass filter.
    – USB connector: from external mass storage such as a USB key, USB HDD, and
    so on.
    – Internal memory of the STM32F4.
    • The sound can be output in different ways through audio DAC:
    – Using I2S protocol
    – Using the STM32F4 DAC to analog input AIN1x of the CS43L22
    – Using the microphone output directly via a low pass filter to analog input AIN4x of
    the CS43L22

    Donc la ton schéma n'est pas correct puisque la prise jack est une sortie et seulement une sortie...

    3 entrées possible ==> Le microphone (MP45DT02), le port micro usb ( pas celui du linker, l'autre), la mémoire interne du micro.
    sortie ==> audio mini jack connecteur

    On continue...
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord merci pour vos nombreuses recherches et réponses.

    Si j'ai bien compris je ne peux pas utilisé de l'analogique puis l'amplifier. Je vais donc utiliser la mémoire de la STM.

    Cependant je ne vois pas absolument pas comme faire pour enregistrer un son (code binaire) dans la mémoire. Ni même utiliser le CS43L22.
    Auriez vous des pistes ou une aide car je suis perdu.

    Cordialement

  8. #8
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par julien terrier Voir le message
    3 entrées possible ==> Le microphone (MP45DT02), le port micro usb ( pas celui du linker, l'autre), la mémoire interne du micro.
    sortie ==> audio mini jack connecteur
    Pourquoi PC4 n'est pas utilisable ?

    AIN4 A / B c'est une entrée analogue non ?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Le soucis (si j'ai bien compris) c'est que le CS43L22 est un convertisseur numérique -> Analogique donc on ne peut pas utiliser d'analogique en entré.

    Non ?

  10. #10
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Si si tu peux ! Les entrées AIN1 A/B ... AIN4 A/B sont des entrées analogiques et mieux encore ceux sont carrément des entrées lignes (pour ta fiche Jack)
    Ce n'est pas moi qui le dit, c'est la datasheet page 8

    Avec la page 9 c'est encore mieux car tu as le montage typique.

    Pour le réglage de l'amplification c'est, à mon avis, grâce au STM32 que tu le feras (en accédant aux registres internes du CS43L22)

    Après, peut être que la câblage de ta démo board ne permet pas de faire ce que tu souhaites mais le composant, lui, le peut.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  11. #11
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Bonjour,

    peut être que je me trompe mais bon si je suis la manière dont le CS43L22 est cablé il est clair qu'il est la pour convertir un signal numérique, l'amplifié et le sortir sur une voie analogique du moins c'est sa fonction première.

    Pour être honnête je n'avais pas bien compris le souhait de notre ami toto85Abv a savoir injecter un signal analogique, l'amplifier et le sortir sur une autre voie analogique.

    Avant toutes choses je voudrais faire un topo sur les amplis classe D (source Elektor):

    C'est la solution actuellement la plus utilisée (ampli classe D) en basse fréquences, en particulier en audio. Le signal d'entrée analogique est converti en numérique via un modulateur de largeur d'impulsion (MLI, ou PWM en anglais). La méthode utilisée est un génrateur en dents de scie et un comparateur de tension. On obtient ainsi un signal numérique < un bit > dont le rapport cyclique est proportionnel à la tension d'entrée.

    Si le signal d'entrée est une source numérique, ce qui permet d'éviter toute perte de qualité. Ce signal MLI est ensuite amplifié. L'amplification d'un signal numérique peut etre réalisée avec un rendement très élevé, car les transistors sont utilisés comme des interrupteurs marche/arret. Après cette amplification on a tjrs un signal MLI, mais de forte puissance. Comment en extraire un signal analogique ? Simplement avec un filtre passe-bas!
    Ensuite pour tout système numérique , Mr Nyquist nous dit que la fréquence de la MLI doit etre plus que deux fois supérieure à la fréquence la plus élevée présente dans le signal d'entrée. En pratique c'est même dix fois. Pour une bande passante de 20Khz , on a donc typiquement des fréquences MI de l'ordre de 200 Khz, soit des périodes de 5µs. Je passe les contraintes types CEM liés au commutation des signaux numériques de puissance à HF et les résolutions trop élevées (précisions d'amplitude de 16 bits).

    Maintenant je retourne me poser quelques questions concernant notre affaire, puisque selon la définition d'un ampli classe D ds tous les cas le signal sera numérisé avant d'être filtré quelle est l’intérêt de faire cette manip alors que la carte permet d'utiliser un autre chemin qui a mon gout est plus logique soit brancher son smartphone/ clé USB sur le port usb prévu a cette effet bufferiser les données (il me semble mm que l'on peut interragir avec via le micro, pause/lecture etc..) ensuite utiliser les protocoles de com I2C/I2S pour transférer les données au DAC audio, amplifier le tout et le sortir sur la prise jack. Bien entendu cela implique qu'il faut injecter du son numérique au départ. J'ai sous mes yeux un article ampli audio 60W compact j'entends par la il existe des alternatives prévu a cet effet.

    Autre maintenant, nous voulons injecter un signal analogique ( notre cas) directement dans l'ampli. On voit qu'il faut dans tous les cas le signal sera numérisé puis filtré, notre CS43L22 est-il configuré/cablé pour pouvoir effectué cette opération ==> Ce Qu'il Va falloir Démontrer.

    Pour cela il faut étudier la datasheet du composant et le cablage sur la carte STM32F4-disco.

    A+
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  12. #12
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Si si tu peux ! Les entrées AIN1 A/B ... AIN4 A/B sont des entrées analogiques et mieux encore ceux sont carrément des entrées lignes (pour ta fiche Jack)
    Ce n'est pas moi qui le dit, c'est la datasheet page 8

    Avec la page 9 c'est encore mieux car tu as le montage typique.

    Pour le réglage de l'amplification c'est, à mon avis, grâce au STM32 que tu le feras (en accédant aux registres internes du CS43L22)

    Après, peut être que la câblage de ta démo board ne permet pas de faire ce que tu souhaites mais le composant, lui, le peut.
    +1 selon datasheet

    4.1.2 Line Inputs (AIN1/2/3/4 A&B):

    4 pairs of stereo analog inputs are provided for applications that require analog passthrough directly to
    the HP/Line amplifiers. This analog input portion allows selection from and configuration of multiple combinations
    of these stereo sources.


    4.1.3 Line & Headphone Outputs (prise jack):

    The analog output portion of the CS43L22 includes a headphone amplifier capable of driving headphone
    and line-level loads. An on-chip charge pump creates a negative headphone supply allowing a full-scale
    output swing centered around ground. This eliminates the need for large DC-Blocking capacitors and allows
    the amplifier to deliver more power to headphone loads at lower supply voltages.

    Il faut que le DAC soit en mode analog passthrough:

    Nom : CS43L22 .png
Affichages : 2155
Taille : 42,7 Ko

    Voici le registre a configurer pour l'utiliser en mode analog passthrough:

    Nom : cs.png
Affichages : 2010
Taille : 21,1 Ko
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  13. #13
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Iradrille Voir le message
    Pourquoi PC4 n'est pas utilisable ?

    AIN4 A / B c'est une entrée analogue non ?
    Tu as raison mais quelque chose me chagrine car ds le schéma que j'ai posté elle est considérée comme une sortie du moins c'est qu'il y a d'écrit. Après selon la datasheet du composant c'est une entrée analog.
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok ça fait déjà pas mal d'information d'un coup.

    Si je comprend bien voila les 2 solutions possibles : Nom : Capture d’écran 2016-02-09 à 18.55.02.png
Affichages : 2575
Taille : 80,0 Ko

    Sachant que la STM est munie d'un ADC.
    Après je comprend que le "rendement" pour envoyer en entrée un signal analogique est plus faible que si l'on utilisait du numérique.

    Après réflexion je veux bien partir sur le principe d'utiliser un signal enregistré dans la mémoire de la STM.
    Je suis pas un pro dans le domaine ni dans la lecture des datasheets. Je ne comprends pas trop comment je vais pouvoir coder le "schèma" si dessus sur mon logiciel (System Workbench)...

    Initialisation et lectures des pins ça c'est ok. Par contre lire un fichier dans la mémoire de la STM puis utiliser les bus de données I2C du DAC c'est asser flou...

    Cordialement.

  15. #15
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Citation Envoyé par julien terrier Voir le message
    Tu as raison mais quelque chose me chagrine car ds le schéma que j'ai posté elle est considérée comme une sortie du moins c'est qu'il y a d'écrit. Après selon la datasheet du composant c'est une entrée analog.
    Sur le schéma, est ce que "Audio DAC OUT" ne serait pas la sortie DAC du STM ? donc une sortie analogique du STM qui serait connectée à l'entrée du composant CS43L22 !
    Il faudrait le reste du schéma mais je dirais bien que si.

    Elle est là l'entrée ligne où tu peux relier une fiche jack (cf datasheet page 9).

    Julien a donné les registres du composant pour qu'il fasse le :
    - "routage des entrées lignes vers les hauts parleurs"
    - "Volume"

    C'est ton STM qui fera les réglages du composant CS43L22 via I2C.

    Citation Envoyé par Iradrille Voir le message
    Pourquoi PC4 n'est pas utilisable ?
    Comme beaucoup de démo board (et c'est ce que je faisais aussi dans mon ancien boulot) on met des résistances de 0 Ohm pour faire de la multi-configuration hard. Il suffit de mettre une résistance de 0 Ohm sur R49 et PC4 devient utilisable.
    L'exemple le plus concret est en bas à gauche du schéma le MP45DT02 :
    - R64 n'est pas posé et R63 est posé donc la broche 2 (LR) est à la masse mais STMicroelectronics laisse la possibilité à l'utilisateur de mettre LR à +3.3V simplement en posant R64 et en déposant R63.

    Une bonne démo board en pleine de résistance 0 Ohm pour que l'utilisateur soit un peu plus libre.
    Dans mon ancien boulot je faisais ça pour faire du débug hardware plus simplement.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  16. #16
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Julien a donné les registres du composant pour qu'il fasse le :
    - "routage des entrées lignes vers les hauts parleurs"
    - "Volume"
    Je dirais plutôt "routage des entrées lignes vers le casque audio donc la prise jack"

    Pour le Haut parleur il faut voir du coté "speaker"

    Nom : Connection CS43L22.png
Affichages : 2183
Taille : 55,7 Ko
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  17. #17
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Sur le schéma, est ce que "Audio DAC OUT" ne serait pas la sortie DAC du STM ? donc une sortie analogique du STM qui serait connectée à l'entrée du composant CS43L22 !
    Il faudrait le reste du schéma mais je dirais bien que si.

    Elle est là l'entrée ligne où tu peux relier une fiche jack (cf datasheet page 9).
    PA4 = ADC12_IN4 /DAC_OUT1

    Nom : Pinout STM32F407.png
Affichages : 2116
Taille : 14,6 Ko
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  18. #18
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Ok donc pour faire un essai préliminaire, il faudrait générer avec le DAC une sinusoïde de :
    0.447mV d'amplitude max, qui correspond a -10dBV car les appareils audio du commerce sont compatibles entres eux à -10dBV (la référence étant 0dBV soit 1Vrms soit 1.414Vmax, je parle toujours en amplitude donc Vpk)
    440Hz par exemple qui correspond à la note "la"
    Ecouter le son dans le casque.

    ps1 : si tu augmentes l'amplitude du signal tu verra que le volume augmente mais normalement c'est le réglage du CS43L22 qui doit s'occuper de ça. On rentrer dans le domaine du son avec les histoires d'alignement des niveaux.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  19. #19
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par toto85Abv Voir le message
    Ok ça fait déjà pas mal d'information d'un coup.

    Si je comprend bien voila les 2 solutions possibles : Nom : Capture d’écran 2016-02-09 à 18.55.02.png
Affichages : 2575
Taille : 80,0 Ko

    Sachant que la STM est munie d'un ADC.
    Après je comprend que le "rendement" pour envoyer en entrée un signal analogique est plus faible que si l'on utilisait du numérique.

    Après réflexion je veux bien partir sur le principe d'utiliser un signal enregistré dans la mémoire de la STM.
    Je suis pas un pro dans le domaine ni dans la lecture des datasheets. Je ne comprends pas trop comment je vais pouvoir coder le "schèma" si dessus sur mon logiciel (System Workbench)...

    Initialisation et lectures des pins ça c'est ok. Par contre lire un fichier dans la mémoire de la STM puis utiliser les bus de données I2C du DAC c'est asser flou...

    Cordialement.
    Ci-joint une partie de la procédure (in english) de lecture et d'enregistrement avec une STM32F4-disco et a condition d'utiliser le firmware (STM32F4-DISCOVERY boardfirmware package" (V1.1.0 and later)):

    This application note describes the audio (wave) playback and recording application based on the STM32F4xx microcontroller and the STM32F4-DISCOVERY board.
    The audio data (wave) can be read from the internal Flash memory of the STM32F4xx microcontroller or on an external USB key (through USB FS core in Host mode).
    The recorded wave can be stored only in the external USB key.
    The recording process is based on ST MP45DT02 MEMS microphone hardware with a PDM audio software decoding Library (converting PDM data produced by the microphone to PCM data stored in the USB key).

    The document is structured as follows:

    ● A description of the principles of the audio playback and recording firmware and how to run the firmware demonstration are provided in Section 2: Application overview.
    ● Section 3 describes how to get started with the software and hardware.

    The source code of this application is provided in the "STM32F4-DISCOVERY board firmware package" (V1.1.0 and later) under the following path 'Project\Audio_playback_and_record.

    The audio playback and record applications support two types of mass storage media.
    They can play audio data in the internal Flash of the microcontroller or on an external USB key, and record data only to an external USB key.

    This is selected by defines in the main.h file. In the workspace toolbar, select the project configuration:

    ● MEDIA_IntFLASH
    ● MEDIA_USB_KEY

    The firmware driver can:

    ● Play a stored wave from an external USB key or internal Flash
    ● Record a wave in an external USB key
    ● Switch from play to record

    Audio playback application
    The MEMS accelerometer is used to support Pause/Resume. When the wave player is running, the first click on the board stops playing and the second click on it resume playing.
    The Repeat On/Repeat Off feature is managed with DEFINEs in the main.h file.

    Playback from USB key
    In this demonstration, any wave file stored on the USB Key can be opened using the FatFs file system and transferred to the internal SRAM block by block (1024 bytes) using the DMA and the I2S interface.
    The voice sampling period is read from the Wave File Header. An audio DAC is connected to the I2S interface to play the stored wave files.
    The name of the wave file loaded in the USB Key can be changed by modifying the "WAVE_NAME" definition in the main.h file.
    The wave file name must have eleven characters.

    This application reads all wave files from the USB Key and displays only the .WAV files thathave the following format:

    ● Audio format: PCM (an uncompressed wave data format in which each valuerepresents the amplitude of the signal at the time of sampling)
    ● Sample rate: such 8000, 11025, 16000, 22050, 44100 Hz or 48000 Hz.
    ● Bits per sample: 16 bits (audio sample data values are in the range [0-1024])
    ● Number of channels: 2 (stereo)

    The wave from the USB Key is parsed to detect the sample rate in order to configure theI2S accordingly.
    When the play back begins the blue LED starts toggling.
    The playback is managed with double buffering.
    A first buffer is used to store the wave data retrieved from the USB Key, using the FatFs file system.

    Once this buffer is filled:

    ● The DMA sends its content to the I2S peripheral which transfers it to the external audio codec DAC
    ● The data from the USB key is stored in a second buffer Then these two buffers are swapped indefinitely, till end of the playback process.
    At any time, if the USB Key is disconnected from the DISCOVERY board, the blue LED is off, the audio DAC is stopped and red LED goes on.
    When the USB Key is reconnected again to the DISCOVERY board, the red LED goes off and the last running application starts again.

    Playback from internal Flash
    In this demonstration, the wave file is stored in the internal Flash as a const array declared in the audio_sample.c file.
    After a reset, the playback application starts playing the wave stored in the internal Flash after initializing the Audio DAC.

    Pour plus détails voir le document AN3997 disponible sur le site http://st.com
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

  20. #20
    Membre actif
    Homme Profil pro
    Technicien Layout
    Inscrit en
    Août 2015
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien Layout

    Informations forums :
    Inscription : Août 2015
    Messages : 275
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Sur le schéma, est ce que "Audio DAC OUT" ne serait pas la sortie DAC du STM ? donc une sortie analogique du STM qui serait connectée à l'entrée du composant CS43L22 !
    Il faudrait le reste du schéma mais je dirais bien que si.
    Retour sur ce qui me chagrine

    Donc PA4 est une sortie DAC du STM32F407 (on en est a peu près sur, vu le pin out de la datasheet) me voila un peu plus éclairé pour cette entrée.

    Ensuite pour PC3/4 c'était un peu le flou ca l'est tjrs un peu mais moins déjà PDM out quesako:

    PDM signal introduction
    Pulse density modulation, or PDM, is a form of modulation used to represent an analog signal in the digital domain.
    In a PDM signal, specific amplitude values are not encoded into pulses as they would be in PCM.
    Instead it is the relative density of the pulses that corresponds to the analog signal's amplitude.
    To get the framed data from the PDM bit stream, decimation filters are usually used.
    The first stage of decimation is used to reduce the sampling frequency, followed by a high pass filter to remove the signal DC offset.

    Encore de l'anglais decimation filters ? high pass filter la c'est bon j'ai compris

    Decimation filter sans trop rentrer ds les détails ==> In digital signal processing, decimation is the process of reducing the sampling rate of a signal. Ex: if 16-bit compact disc audio (sampled at 44,100 Hz) is decimated to 22,050 Hz, the audio is said to be decimated by a factor of 2. The bit rate is also reduced in half, from 1,411,200 bit/s to 705,600 bit/s, assuming that each sample retains its bit depth of 16 bits.

    Le microphone:
    The MP45DT02 MEMS microphone outputs a PDM signal, which is a high frequency (1 to 3.25 MHz) stream of 1-bit digital samples.
    This output is acquired in blocks of 8 samples by using a synchronous serial port (SPI or I2S) of the STM32 microcontroller. The microphone's PDM output is synchronous with its input clock; therefore an STM32 SPI/ I2S peripheral generates a clock signal for the microphone.

    La on a PDM out (PC3) donc la sortie du microphone est injecter ds le CSL43L22 est comment le signal est traité (parait-il comme ca):

    The data coming from the microphone is sent to the decimation process, which consists of two parts:
    a decimation filter converting 1-bit PDM data to PCM data, followed by two individually configurable IIR filters (low pass and high pass). (IIR filters = filtre récursif ou filtre à réponse impulsionnelle infinie je les ai vu en cours si si je vous assure, il faut que je ressorte mes cahiers).
    The reconstructed audio is in 16-bit pulse-code modulation (PCM) format. After the conversion, it produces raw data that can be handled depending on the application implementation (stored as wave/compressed data in a mass storage media, transferred to an external audio codec DAC through I2S peripheral...).

    PDM digital filtering and decimation
    The PDM signal from the microphone is filtered and decimated in order to obtain a sound signal at the required frequency and resolution.
    The frequency of the PDM data output from the microphone (which is the clock input to the microphone) must be a multiple of the final audio output needed from the system.
    For example, to perform a decimation of 80, for the output rate of 30 kHz, we need to provide a clock frequency 2.4MHz to the microphone.
    The output of the filter pipeline is a 16-bit value, we consider [-32768, 32767] as the output range for a unitary gain (0 dB).

    Digital signal conditioning
    The digital audio signal resulting from the previous filter pipeline is further processed for proper signal conditioning.
    The first stage is a high pass filter designed mainly to remove the signal DC offset. It has been implemented via an IIR filter with a cut-off frequency below the audible frequency range in order to preserve signal quality.
    The second stage is a low pass filter implemented using an IIR filter.
    Both filters can be enabled/disabled and configured (cut-off frequencies) by using the filter initialization function.Gain can be controlled by an external integer variable (MicGain) as shown in the following equation: G = MicGain/64.

    Bon la j'en suis a lreconstruction de tout ce bazard puisqu'a première je ne vois qu'un filtre passe bas sur l'entrée analog PC3, il y a un truc que j'ai pas encore pigé ou est le filtre a décimation, le filtre récursif certianement ds le micro mais quel est le lien entre PDM out est le micro ?
    est ce que The PDM signal from the microphone =The data coming from the microphone ?
    L’art est une activité humaine, le produit de cette activité ou l'idée que l'on s'en fait s'adressant délibérément aux sens, aux émotions, aux intuitions et à l'intellect. www.elise-galerie.com

Discussions similaires

  1. Réponses: 8
    Dernier message: 10/05/2006, 21h56
  2. [xDSL]Support de plusieurs xDSL sur une ligne analogique
    Par leminipouce dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 03/04/2006, 18h52
  3. Réponses: 3
    Dernier message: 02/03/2006, 14h56
  4. connexion entre deux ordinateurs par modem analogique
    Par devl83 dans le forum Hardware
    Réponses: 3
    Dernier message: 31/01/2006, 17h48
  5. convertisseur analogique pic18f
    Par stefane1981 dans le forum C
    Réponses: 5
    Dernier message: 17/11/2005, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo