Electronique > Réalisations > Générateurs > Générateur audio 021 - Pro

Dernière mise à jour : 03/05/2026

Présentation

Les générateurs audio présentés ici permettent de produire et de mélanger plusieurs sources audio de forme sinusoïdale, afin de produire un signal non-sinusoïdal particulier, à la demande.
   
gene_audio_021a_pcb_3d_front
   
Deux générateurs ont été étudiés :
- Schéma 021a : avec PIC 16 bits 24FJ64GA108
- Schéma 021b : avec PIC 32 bits 32MZ2048EFG100

On peut penser que les performances du montage avec PIC32 sont supérieures à celles permises par le montage avec PIC24 ;) - 

   

Avertissements

- Circuit avec PIC24 : logiciel écrit, simulé avec succès mais pas encore testé avec prototype réel.
- Circuit avec PIC32 : logiciel écrit, non simulé ni testé avec prototype réel.

   

Principe de fonctionnement

Le principe de fonctionnement repose sur la synthèse numérique directe (DDS). Plusieurs signaux sont créés (synthétisés) en mémoire vive, les échantillons correspondants à ces signaux sont placés dans des tableaux et additionnés en temps réel avant d'aboutir à un convertisseur numérique analogique (DAC, Digital to Analog Convertor). 

La fréquence et l'amplitude de chacun des générateurs peuvent être ajustées par l'utilisateur :
- Fréquence : entre 1 Hz et 20 kHz, par pas de 1 Hz
- Amplitude : entre 0% et 100%, en 256 niveaux

Le nombre de générateurs pouvant être activés simultanément dépend de la fréquence Fs de restitution des échantillons, du PIC utilisé et du DAC utilisé (DAC parallèle ou DAC série) :

Fs Nb de générateurs
avec PIC24
et DAC parallèle
Nb de générateurs
avec PIC24
et DAC série
Nb de générateurs
avec PIC32
et DAC parallèle
Nb de générateurs
avec PIC32
et DAC série
128 kHz 1 - 2 1
96 kHz 2 - 4 2
64 kHz 4 1 8 4
48 kHz 6 3 12 6
32 kHz 8 6 16 8
 
La résolution globale des signaux (et donc la pureté spectrale) dépend :
- du nombre de valeurs stockées dans la table d'échantillons (2048 valeurs pour le PIC24, 4096 pour le PIC32)
- de la résolution d'amplitude de cette même table d'échantillons (ici 16 bits) - Nota 1
- de la fréquence Fs de restitution des échantillons (entre 32 kHz et 128 kHz) - Nota 2
- de la fréquence attribuée à chacun des générateurs - Nota 3
- de la résolution et qualité générale des DAC (16 bits ou 12 bits)
- de la qualité du routage du PCB (cohabitation numérique et analogique)

Nota 1 - La résolution globale (après mixage des signaux) est de 16 bits, mais la résolution réelle de chaque signal est liée au nombre de générateurs en service. Afin d'éviter toute distorsion excessive du signal de sortie par écrêtage, les signaux sont atténués avant leur mixage quand le nombre de générateur est sipérieur à 1 (résolution effective de 16 bits pour 1 générateur en service, de 15 bits pour 2 générateurs, de 14 bits pour 4 générateurs, de 13 bits pour 8 générateurs)
Nota 2 - Pour une fréquence de restitution Fs plus élevée, la période qui sépare deux échantillons est plus courte et on dispose de moins de temps pour effectuer calculs et transfert de données. Un DAC parallèle demande moins de temps processeur (bien pour la rapidité) mais en revanche il demande un nombre plus élevé de fils de liaison (16 fils ou plus pour le DAC parallèle, contre 3 seulement pour le DAC série).
Nota 3 - Plus la fréquence des générateurs est élevée et plus le taux de distorsion augmente.

Dans le cas présent, la pureté spectrale des signaux n'atteint pas celle des générateurs DDS du commerce, ni même celle des circuits intégrés spécialisés de type AD9833, AD9834 ou encore AD9102 ou AD9106. Ce projet répond toutefois à la demande initiale dont l'objectif principal est de disposer simultanément de plusieurs signaux sinus (pas de triangle ni carré ni abritraire AWG) avec une résolution correcte (raies harmoniques indésirables 50 dB en-dessous des raies utiles).

 

Choix des DAC

Trois DAC différents ont été testés :
- DAC 16 bits parallèle : meilleure solution pour le montage avec PIC24
- DAC 16 bits série SPI : possible pour le montage avec PIC24, mais avec un nombre moindre de générateurs
- DAC 12 bits parallèle : OK pour montages avec PIC24 et PIC32, en acceptant une baisse de la qualité des signaux délivrés

Remarque : le PIC24 utilisé ici ne dispose pas des ressources matérielles suffisantes pour permettre en même temps le mélange de plusieurs sources audio et le transfert des échantillons par un bus SPI, si la fréquence de restitution des échantillons est supérieure ou égale à 64 kHz.

   

Schéma 021a

Générateur construit autour d'un PIC24.

gene_audio_021a

Les graphes suivants donnent une idée des possibilités et performances offertes par le circuit avec PIC24 et DAC parallèle 16 bits. La sortie est filtrée avec un passe-bas d'ordre 2, on peut bien sûr obtenir mieux avec un filtre de pente plus raide.

Fs = 32 kHz, 8 voies :
gene_audio_021_graph_32k_8v

Fs = 48 kHz, 6 voies :
gene_audio_021_graph_48k_6v

Fs = 64 kHz, 4 voies :
gene_audio_021_graph_64k_4v

Fs = 96 kHz, 2 voies :
gene_audio_021_graph_96k_2v

Fs = 128 kHz, 1 voie :
gene_audio_021_graph_128k_1v
-

   

Schéma 021b

Générateur construit autour d'un PIC32.

gene_audio_021b

-

   

Circuits imprimés (PCB)

Non réalisés. Vue 3D uniquement pour aperçu des composants utilisés.

 

Historique

03/05/2026
- Première mise à disposition.