Avant
propos :
Cette page "Fonctionnement" n'a pas la prétention, ni la vocation d'être le
recueil
exhaustif des choix technologiques
employés tout au long de la mise au point du présent dispositif. Une page seule
n'y suffirait pas... En revanche, elle offre une vision globale du
fonctionnement en faisant référence au schéma structurel, si le besoin s'en fait
sentir...
Synoptique
général du générateur
de fonctions d'ondes de formes arbitraires
:
Le
générateur de fonction
est composé de plusieurs ensembles
tels que :
Cliquez sur l'image
ci-dessus pour l'agrandir
Description
des différents étages
de l'analyseur logique :
Section
synthèse numérique directe
(DDS) et mémoire RAM :
Coeur
du système, le générateur
de synthèse numérique
directe (DDS) est implanté au
sein du circuit logique programmable
de type CPLD référencé
U1.
Il est cadencé par un oscillateur
à quartz XC1
de 64MHz
sur sa broche 54.
Ceci permet d'obtenir une excellente
stabilité en fréquence
sur le signal de sortie. La
sélection
de la fréquence
délivrée par le générateur
DDS est envoyée par le microcontrôleur U2
de gestion sur les broches 16
référencée
SDA et
6
référencée
SCL
de U1. N'oubliez pas que notre registre à
saut de phase est composé de
16 bits
comme nous l'avons vu à la page
[
La
théorie du générateur
].
Cette communication sérielle
permet de réduire
le nombre de liaisons électriques
à 2
au lieu de 16
si
nous avions fait le choix d'un transfert
parallèle entre U2
et U1. L'ensemble
des autres signaux de commande présents
sur les broches 3,
4,
65,
66
et
67
de
U1 permettent
de gérer le fonctionnement en
mode
maître
- le PC programme les octets dans la
RAM - et en mode
esclave -
le CPLD travaille tout seul en relisant
en boucle le contenu des octets
programmés en RAM à une
fréquence déterminée.
Ainsi selon le mode de fonctionnement,
U1
passe du mode maitre
à celui d'esclave. La
broche 64
de
U1
permet
de piloter le mode
haute impédance du bus de donnée
qui transite dans le CPLD U1.
En effet, ce bus provenant
du microcontrôleur U2
traverse un
octuple
tampon non inverseur disposant
de sorties à 3
états au
sein de U1.
Cette précaution s'avère
nécessaire en mode esclave afin
d'isoler le microcontrôleur
du reste de la RAM
et du CNA
(convertisseur numérique - analogique).
Cliquez sur l'image
ci-dessus pour l'agrandir
Le bus
d'adresses quant à lui est directement délivré
par le générateur DDS
implanté dans le CPLD sur 15
bits
comme nous l'avons évoqué
également à la page [
La
théorie du générateur
].
Le
16ème bit
présent sur la broche
30 de
U1
permet de générer
l'horloge
nécessaire au fonctionnement
du CNA avec une fréquence maximale
de 32MHz,
moitié de la fréquence
de l'oscillateur d'après la théorie
du générateur DDS.
Enfin,
les modes d'écriture ou lecture
et validation des sorties de la RAM
sont gérés par le microcontrôleur
U2.
Le
microcontrôleur de gestion :
Le
microcontrôleur
U2 est
le chef d'orchestre du générateur.
Il permet d'une part de réaliser
le dialogue entre le PC et l'instrument
via la
liaison USB,
mais d'autre part, il assure le
transfert des octets à programmer
dans la RAM
ainsi que la gestion des
différentes commandes.
Ces dernières sont au nombre
de 3,
le réglage de
l'offset du signal,
la sélection du
filtre passe-bas en
sortie du CNA et le réglage de
l'amplitude
du signal de sortie.
Cliquez sur l'image
ci-dessus pour l'agrandir
La
led D1
est illuminée en feu
fixe à
la mise sous tension de l'instrument
mais durant le transfert des octets
entre le PC et la RAM, la led
clignote rapidement
au rythme du flux de données
transmis par liaison USB.
Le
convertisseur numérique - analogique
(CNA) et l'amplificateur différentiel
:
Elément
essentiel de tout générateur numérique
de fonctions, le CNA
référencé
U9
se
doit d'être le plus précis,
le plus
rapide
et le plus
linéaire
possible. Nous avons eu recours au TDA8702
conçu par la firme Philips
dédié au domaine de la vidéo-composite.
Toutefois, il est également un excellent candidat pour
ce projet de part sa simplicité de mise en oeuvre,
son approvisionnement aisé et
ses caractéristiques électriques
excellentes. Seule
ombre au tableau, sa fréquence
de fonctionnement limitée à
30MHz,
alors que notre application doit fonctionner
avec une horloge maximale de 32MHz.
Toutefois, les tests et mesures successifs
ont montré que cette limite théorique
pouvait être largement dépassée
de plus de 2MHz
permettant d'atteindre la fréquence
de fonctionnement requise de 32MHz.
Plusieurs
tests ont
été effectués sur
plusieurs versions du circuit (6 au
total) et le fonctionnement correct
du CNA à cette fréquence
est garanti à 100%.
Cliquez sur l'image
ci-dessus pour l'agrandir
Le
TDA8702
dispose de
sorties complémentaires référencées
Vout
en broche 14
et -Vout
en
broche 15.
Il intègre également une
référence de tension
en broche
1 filtrée
par
le condensateur C26.
Son
fonctionnement est très simple
:
lorsque CLK
en broche
5
est au
niveau bas,
tout changement de données en
entrée est converti
en sorties analogiques.
lorsque CLK
est au niveau
haut,
le signal analogique reste
stable
indépendamment de tout changement
sur le bus de données D0
à D7.
Les
tensions analogiques en sortie
Vout
et -Vout
sont référencées
par rapport à
+5V-A
(tension 5V dédiée à
la section analogique du générateur).
Avec une impédance de 75
ohms
vue par ses sorties, le code 0
en
entrée correspond en sortie à
Vout = +5V-A = 5V.
En revanche, le code
255
correspond en sortie à Vout
= +5V-A - 0.8V = 4.2V
(voir datasheet du circuit).
Les
sorties complémentaires Vout
et -Vout
sont regroupées sur les entrées
d'un amplificateur différentiel
référencé
U10.
Le choix
de l'ampli-opérationnel est important
car au cas où celui-ci aurait
un slew-rate
faible,
il pourrait introduire une dégénérescence
importante du signal analogique.
N'oublions pas que nous qualifions ce
générateur d'arbitraire,
donc tout signal à générer
ce doit d'être disponible en sortie
avec le moins de distorsion possible.
Ainsi, au cas où l'on choisit
de générer un signal
rectangulaire d'amplitude et de fréquence
maximale,
les transitions
au niveau de l'ampli-opérationnel
seront
aussi raides
que possible. On a donc prévu
pour minimiser l'effet du slew-rate
de choisir un ampli-opérationnel
performant tel que l'AD811
d'Analog Device.
Comme
évoqué précédemment,
l'ampli-opérationnel
U10
est monté en
amplificateur différentiel.
Si R6
= R7
on peut les assimiler à
une seule résistance nommée
R67
et R8
= R9 peut
également être assimilée
à une seule résistance nommée
R89.
Dans ce cas la tension Vs
de
sortie répond à la relation
suivante bien connue :
Afin
d'être au plus proche de la relation
précédente, nous avons
eu recours à des résistances
ayant
une tolérance de 1%
pour une amplification globale de 1,5.
Cliquez sur l'image
ci-dessus pour l'agrandir
Oscillogrammes
des signaux Vout,
-Vout
et
Vs
de U9
et
U10 pour
une onde sinusoïdale de
1kHz.
Conversion du signal analogique vers
des niveaux TTL :
Le
transistor monté en collecteur-commun
constitué par
Q1 et R37 suivi
du transistor monté en base
commune constitué
par
Q2
et R38
permettent
d'obtenir en sortie Vout
un signal toujours positif compris entre
0V et
5V.
Les inverseurs de type
74HC14
montés en parallèle permettent
d'obtenir sur la sortie Trig
Out TTL
des fronts bien raides avec des niveaux
logiques TTL parfaits et un courant
suffisant pour la charge utilisée.
Cliquez sur l''image
ci-dessus pour l'agrandir
Oscillogrammes
des signaux Vin
sur la base de Q1,
Vout
sur le collecteur de Q2
et
Trig
Out TTL
en sortie du générateur
pour un signal incident sinusoïdal
de
1kHz.
Réglage
de l'amplitude du signal :
Le
réglage de l'amplitude du signal
a été confié à
un potentiomètre
numérique U14
du
constructeur Intersil. Existant en 4
versions proposant
pour chacune une résistance différente,
nous avons retenu le modèle
X9C103 de
10kohms
comportant l'équivalent de 100
éléments résistifs
en série. Ainsi à la manière
d'un pont diviseur, il est possible
de faire varier l'amplitude du signal
sur une centaine de pas déterminés
à partir des
broches 2
référencée U/D
et
1
référencée INC
du circuit pilotées par le microcontrôleur
U2.
La
gestion du circuit U14
est très simple et il est facile
de l'utiliser sans avoir recours à
un microcontrôleur. De plus, il
mémorise en l'absence d'alimentation
électrique la dernière position occupée
par le potentiomètre numérique
qu'il reprend dès sa remise sous
tension. Sa bande
passante
dans le domaine des fréquences
qui nous intéressent est
acceptable
vis à vis d'autres modèles dont
la bande passante
dans l'audio (20Hz
- 20kHz) en font de mauvais candidats
pour ce projet.
Afin
de ne pas charger
la
sortie du potentiomètre numérique,
un ampli-opérationnel haut de
gamme AD847
référencé U15
monté en suiveur
de tension
adapte l'impédance pour
l'étage suivant. Ne remplacez
pas l'AD847
par un AD811
car la consommation en courant de ce
dernier est trop importante et la partie
alimentation (U7)
serait trop sollicitée.
Filtres
de lissage du signal :
Le
rôle de filtre
passe-bas est
d'une part de lisser
le signal
c'est à dire supprimer les marches
d'escaliers dues à l'échantillonnage
mais d'autre part, de supprimer les
harmoniques supérieurs indésirables
produits par l'échantillonnage
du signal.
Pour
ce faire nous utilisons
plusieurs filtres passe-bas sélectionnables
via un multiplexeur
analogique de type 8 vers 1.
Pour chaque gamme de fréquence
(7 gammes
dans notre cas) est associée
un filtre passe-bas. Toutefois, l'utilisateur
du logiciel sous Windows peut choisir
le filtre qui satisfait au mieux la
reproduction la plus fidèle du
signal en sortie. La position X0 du multiplexeur U11
permet
l'acheminement direct
du signal In
vers la sortie Out
sans passer par l'un des 7 filtres.
Les
étages de la sortie analogique
:
L'amplificateur
opérationnel U12
monté en non-inverseur permet
de ne pas charger le filtre passe-bas
qui le précède grâce
à son
impédance d'entrée élevée
en broche 3.
Il assure également une amplification
de
1,56 au
signal présent sur cette même
entrée. Sur
la broche 2
de U12
est appliquée une
tension continue
modifiable par l'utilisateur depuis
le logiciel
permettant d'introduire un décalage
horizontal au signal de sortie par l'introduction
d'un offset.
Nous y reviendrons en détail
un peu plus loin...
Le
signal résultant de l'amplificateur
U12
présent sur la broche 6 est acheminé
vers la broche
2 d'un
dernier amplificateur
U13
monté en inverseur. Il introduit
une amplification réglable de 1
à 2 via
l'ajustable P2
de manière à obtenir en
sortie broche 6,
une amplitude de +/-10V
crête
à crête maximale pour les formes
d'onde délivrées par le
générateur. Un
relais
reed
référencé REL1
piloté par le microcontrôleur
U2
permet de déconnecter la sortie
analogique
du générateur lors de
chaque phase de programmation des
échantillons en RAM
représentatifs de la forme d'onde
souhaitée. On évite ainsi
l'apparition de transitoires en sortie
durant cette phase.
Générateur
d'offset :
Le
générateur d'offset peut
paraitre compliqué mais en fait il est basé
sur une structure très classique.
Elle est composée
d'un ampli-opérationnel U17
monté en additionneur
- inverseur.
C'est lui qui se charge de produire une tension
variable évoluant entre +8V
et
-8V
(environ) en sortie broche 6
nommée
offset.
Pour
ce faire, le
port B d'un microcontrôleur
PIC18F628A
référencé U18
est directement relié aux
différentes entrées
de l'additionneur
sur les broches RB0
à RB7
positionnées par programmation
en sorties.
En faisant varier l'état logique
des ces
8 sorties entre
0
et
5V
on obtient en sortie de
U17
une
variation de tension
par paliers dont les extrêmes sont compris
entre
-8V
et
+8V.
Une
9ème entrée de
l'additionneur reliée au potentiel
-5V
permet quant à elle de positionner
le signal de sortie sur zéro
lors de la phase d'étalonnage...
Cliquez sur l'image
ci-dessus pour l'agrandir
Si
l'on affecte aux différentes
entrées du sommateur les références
U1 à U8, nous obtenons les relations
suivantes liant Vs aux entrées
:
soit
:
Le
plus petit
pas de
tension est obtenu pour U1=+5V
et
U2 à U8 = 0V,
soit Vs=
-78mV
si l'on ne tient pas compte de
la branche composée de P1 et
R27.
Si
U1=0V et
U2=+5V
alors
Vs=
-155mV
en faisant toujours abstraction de la
branche P1
et R27.
La tension de Vs a donc doublée
par rapport au précédent
cas et ainsi de suite. De
la sorte,
avec une évolution
binaire sur
les entrées U1
à U8,
la progression de tension
Vs s'effectue
par pas
de 78mV.
En
conséquence,
l'utilisateur du générateur
de fonction peut positionner
sa forme d'onde tel qu'il le souhaite
sur le plan horizontal en jouant sur
l'offset
délivré par
l'étage composé d'un amplificateur -
sommateur inverseur.
Enfin
une trame
de données séries
émise par le microcontrôleur
principal U2
vers la broche 3
du microcontrôleur U18
permet de contrôler
la valeur du mot binaire
à appliquer sur les
sorties RB0 à RB7
de ce dernier et de ce fait, de choisir
la valeur de l'offset.
L'alimentation
:
La
partie alimentation est conventionnelle
puisque la partie transformation
et redressement
est confiée à un
adaptateur secteur
du commerce.
Nous nous contentons de la sorte de
filtrer
puis de produire les 3
tensions en +5V
nécessaires au montage. Le
régulateur U4
est dédié à alimenter
toute la partie numérique
du montage, microcontrôleurs,
CPLD, etc.... Le
régulateur U5
est dédié à alimenter
toute la partie analogique
tels que les ampli-opérationnels,
le potentiomètre digital, etc...
Le régulateur U6
est exclusivement dédié
à alimenter le convertisseur
continu - continu élévateur
de tension référencé U7.
Sa mise en oeuvre est extrêmement
simple et il produit en sortie deux
tensions +15V et -15V pour
un courant maxi de 33mA.
Ces tensions sont ensuite abaissées
au moyen de
deux diodes en série (2
x 0.6V pour le seuil des diodes en série
entraine une chute de tension de 1,2V
au total) pour retrouver sur les sorties du +13,8V
et du -13,8V
(un peu moins dans la pratique).
Ces
deux tensions peu communes ont été
choisies d'une part afin de respecter
le cahier des charges initial
avec une amplitude maximale du signal
de sortie de
+/-10V
et d'autre part, pour limiter la dissipation
thermique des
amplificateurs opérationnels
U12
et U13
loin d'être négligeable.
Enfin,
la tension -13,8V est
utilisée pour générer
une dernière tension de -5V
régulée destinée
au multiplexeur U11
et
aux
autres amplificateurs
opérationnels
U10 et
U15.
Cliquez sur l'image
ci-dessus pour l'agrandir
|