
- 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.
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 |
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).
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.
