Convertisseurs Analogique/Numérique et Numérique/Analogique

publicité
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
UV P10-2
Convertisseurs Analogique/Numérique et
Numérique/Analogique
Juin 2002
Institut National des Sciences Appliquées de Rouen
-1-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Sommaire
UV P10-2 ................................................................................................... 1
Convertisseurs Analogique/Numérique et Numérique/Analogique ... 1
Sommaire ................................................................................................. 2
Introduction.............................................................................................. 3
I Présentation CAN et CNA ..................................................................... 5
a)
Architecture ........................................................................................... 5
b) L’interface du port imprimante .................................................................. 13
c) Le programme en Pascal.......................................................................... 14
II Réseau R/2R........................................................................................ 15
a)
b)
Etude théorique................................................................................... 15
Etude expérimentale ........................................................................... 17
III Echantillonneur Bloqueur................................................................. 18
a)
b)
Etude théorique................................................................................... 18
Etude expérimentale ........................................................................... 19
IV VCO..................................................................................................... 21
a) Présentation ............................................................................................. 21
b) Etude expérimentale................................................................................. 22
Conclusion ............................................................................................. 25
Annexes.................................................................................................. 26
Institut National des Sciences Appliquées de Rouen
-2-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Introduction
On peut dire que le monde entier est « analogique ». La conversion A-N permet le
traitement par des machines de données digitales. Les techniques actuelles font de plus en
plus appel au traitement numérique, très performant. Le domaine des télécommunications
est sans doute celui dans lequel l’application des techniques numériques est la plus
développée (numérisation de la voix pour la téléphonie, généralisation du FAX et du courrier
électronique, enregistrement numérique des disques…). Sans oublier le domaine musical qui
utilise grandement les convertisseurs dans la transmission des signaux audio.
L'électronique est en effet divisée en deux domaines distincts :
- le domaine analogique, où les variables peuvent prendre une infinité de valeurs
différentes ; les signaux varient continûment. Tous les signaux issus des capteurs sont
analogiques, et traduisent des phénomènes physiques qui varient continûment.
- le domaine numérique, où les variables prennent uniquement deux états, un état
haut et un état bas.
Beaucoup de signaux était avant traités de façon analogiques et le sont aujourd'hui par
programmation de microprocesseurs.
Mais, à la base, les signaux ont toujours une nature analogique ! Il faut donc les
amplifier et éventuellement les extraire de signaux parasites. Le domaine analogique va
donc toujours exister au moins en amont de toute chaîne de traitement. Parfois, on a aussi
besoin d'un signal analogique en sortie de cette chaîne de traitement : il faudra alors
reconvertir les données numériques en signal analogique.
Il existe deux catégories de convertisseurs :
- les Convertisseurs Analogique Numérique (CAN, ADC en anglais, pour analog to
digital converter), qui vont transformer les tensions analogiques en signaux logiques aptes à
être traités par microprocesseur (numérisation des signaux).
- les Convertisseurs Numérique Analogique (CNA, DAC en anglais, pour digital to
analog converter) qui vont convertir les signaux logiques en tension analogique.
Applications des CAN
Les applications dans lesquelles des données analogiques doivent être numérisées et
transférées dans une mémoire d’ordinateur sont nombreuses. Le processus de saisie par
l’ordinateur des données analogiques numérisées s’appelle l’acquisition de données. Selon
l’application, l’ordinateur peut manipuler les données de différentes façons. Quand on utilise
un ordinateur pour mémoriser une donnée analogique (c’est le cas d’un oscilloscope
numérique), ce dernier stocke les données puis les transfère à un CNA à un moment
ultérieur pour qu’il reproduise les données analogiques. On trouve donc des CAN dans les
multimètres numérique, les systèmes d'acquisition, l’élaboration de la matrice d’un disque
compact...
Institut National des Sciences Appliquées de Rouen
-3-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Applications des CNA
Des CNA sont utilisés à chaque fois qu'il faut transformer la sortie numérique d'un
circuit en une tension ou un courant analogique pour entraîner un dispositif analogique. Voici
certaines des applications les plus courantes :
Régulation : la sortie numérique d'un ordinateur est convertie en un signal de
régulation analogique afin de régler la vitesse d'un moteur, la température d'un four ou de
commander une variable physique quelconque. La commande des machines est également
un secteur où les techniques numériques connaissent un vif succès (commande de moteurs,
régulation de chauffage…).
Essai automatique : il est possible de programmer les ordinateurs pour qu'ils
produisent les signaux analogiques nécessaires à l'essai des circuits analogiques. La
réponse analogique du circuit testé est normalement convertie en en une valeur numérique
par un CAN et réintroduire dans l'ordinateur pour être mémorisée, affichée et parfois
analysée.
Réglage numérique de l'amplitude : il est possible d'utiliser un CNA multiplicateur
pour régler numériquement l'amplitude d'un signal analogique. (Un CNA multiplicateur dérive
une sortie égale au produit d'une tension de référence par une entrée binaire). Si la tension
de référence est un signal qui varie dans le temps, la sortie du CNA suit ce signal mais son
amplitude est conditionnée par le code d'entrée binaire. Une application typique de ceci est
le "réglage de volume" numérique, dans laquelle la sortie d'un circuit numérique ou d'un
ordinateur sert à régler l'amplitude d'un signal audio.
On retrouve donc des CNA dans les lecteurs CD, les systèmes d'acquisition (par ex.
cartes vidéos pour PC), et les modems.
Exemple de chaîne de traitement.
Un exemple très répandu de conversion et traitement de données est la chaîne de
transformation du son, de l'enregistrement de la musique à sa restitution par les enceintes
acoustiques.
Le son est capté par des micros, dont la très faible tension de sortie est amplifiée. Le
signal peut être numérisé directement à ce niveau, et sera alors traité de façon entièrement
numérique (mixage...). Il peut aussi être stocké de façon analogique sur bande magnétique,
mixé, et ensuite numérisé. L'avantage du traitement numérique réside dans le fait que les
données sont inaltérables, contrairement aux données analogiques stockées sur bande
magnétique : celle-ci se dégrade lors des passages répétés sur les têtes de lecture.
Le stockage est maintenant presque toujours numérique. Le lecteur de CD contient
des convertisseurs numériques analogiques qui vont retransformer les informations
numériques en signal analogique qui sera amplifié avant d'être envoyé aux enceintes.
Institut National des Sciences Appliquées de Rouen
-4-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
I Présentation CAN et CNA
Il existe principalement deux types de convertisseurs numérique / analogique : les
convertisseurs à résistances pondérées, et les convertisseurs à réseau R/2R.
a) Architecture
Pour chaque convertisseur, on retrouve toujours la même structure; seul les blocs de
base change d'un convertisseur à l'autre et en fait sa spécificité.
Il est donc intéressant d'étudier l'architecture mettant en évidence les points communs
à tous les convertisseurs.
Architecture des CNA.
Sur la figure, on voit 5 blocs :
- un buffer numérique d'entrée : celui-ci est chargé de garder en mémoire la donnée
numérique pendant le temps de conversion ; il sert aussi d'interface entre les parties
numérique et analogique du convertisseur.
- une référence de tension : son importance est capitale pour la précision de
l'ensemble ; c'est elle qui donne le signal de référence servant à la détermination des
tensions de sortie.
- l'arbre de commutation (switching tree en anglais) : il est commandé par le buffer
d'entrée et va déterminer les résistances qui seront alimentées par la référence de tension.
- le réseau de résistances : c'est un ensemble de résistances, qui, alimentées par la
référence de tension via l'arbre de commutation vont générer des courants très précis
fonction du code binaire d'entrée.
- le convertisseur courant/tension est un ampli servant à transformer les courants
générés par le réseau de résistances en tension de sortie. Il est optionnel, certains CNA ne
l'incluent pas, d'autres l'incluent, mais laissent le choix de l'utiliser ou non.
Institut National des Sciences Appliquées de Rouen
-5-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
On retrouve donc toujours ces éléments de base, la distinction entre les convertisseurs
se fait généralement dans le réseau de résistances.
Convertisseurs analogiques numériques
Un convertisseur analogique numérique est chargé de transformer une variation
continue de tension en une série de valeurs mathématiques (sans énergie) codées.
Codage des valeurs:
Les codages sont:
le binaire naturel, pour les nombres non signés.
le complément à deux pour les nombres signés.
le code binaire signé.
Institut National des Sciences Appliquées de Rouen
-6-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Quantification:
C'est l'opération qui consiste à associer une valeur analogique à la plus petite variation
mesurable entre deux valeurs codées distinctes en sortie. Cette valeur est appelée quantum.
Code non signé:
q=
∆Ve max
2n
q: quantum (V), aussi appelé résolution.
∆Ve max : C’est l'écart entre la valeur mini et la valeur maxi de Ve à numériser (V).
n: nombre de bits en sortie du convertisseur.
Principe des différents convertisseurs:
Convertisseurs parallèles:
Ils sont aussi appelés convertisseurs "Flash". Une chaîne de 2 n +1 résistances
détermine un échelonnement de valeurs distantes de q et comprises entre V max et V min (sauf
pour la première, qui est distante de q/2).
Chaque valeur est appliquée à l'une des entrées des 2 n comparateurs. Le potentiel
Ve est appliqué sur la deuxième entrée de chaque comparateur et tous les comparateurs
correspondant à des niveaux inférieurs ou égaux à Ve basculent simultanément.
Le
codage
est
ensuite
effectué
instantanément
Inconvénient: il faut 256 comparateurs pour 8 bits.
Avantage: très grande vitesse de conversion.
Institut National des Sciences Appliquées de Rouen
par
un
décodeur.
-7-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Convertisseurs série:
Ce convertisseur vient élaborer une suite de valeurs successives grâce aux
commutateurs S W 1 ,..., S Wn et aux résistances R. Il compare ensuite les différentes valeurs
obtenues à Ve , au moment où une des valeurs appliquées est supérieure à Ve , le
comparateur C P bascule et impose un niveau bas à l'entrée "horloge" du compteur, ce qui le
bloque. La sortie S indique la dernière valeur numérique N 1 bloquée lors de la mise en arrêt
du compteur ( N 1 est donné sur N bits).
Convertisseurs à pesées successives :
2n q
à une
2
2 n −1 q
à la
entrée du comparateur, si la réponse de celui-ci est positive, on vient rajouter
2
Le convertisseur, par l'unité des prépositions, impose une valeur égale à
valeur précédente. Nous réalisons encore le test, si la réponse est négative, nous venons
2 n−2 q
à la valeur précédente. Cette opération est réitérée jusqu'à ce que les N
soustraire
2
bits de sortie soient tous affectés par un état logique.
Institut National des Sciences Appliquées de Rouen
-8-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Convertisseurs double rampe:
La tension E analogique à convertir est appliquée à l'entrée du générateur de rampe.
Ce circuit intègre (première rampe) cette tension durant un temps prédéterminé. Un
compteur mesure ce temps, soit N 1 impulsions.
Ensuite la logique de commande commute l'entrée du générateur de rampe sur une
tension de référence E ref de polarité opposée à la tension E.
La tension de sortie décroît linéairement (deuxième rampe) jusqu'à s'annuler. Un
compteur mesure la durée de cette décroissance, soit N 2 impulsions.
La valeur de la tension E à convertir est donnée par la relation:
E = E ref
E ref
N1
soit N 2 = N 1
N2
E
Institut National des Sciences Appliquées de Rouen
-9-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Convertisseurs triple rampe:
Le principe de fonctionnement est identique au convertisseur double rampe, sauf que
lors du démarrage de la phase de croissance de VCM , le comptage s'effectue en deux
temps. Dans un premier temps, nous avons un comptage large avec S W 2 fermé et une
tension de référence Vλ1 , lorsque VCM = VG , S W 2 s'ouvre et S W 3 se ferme. Nous avons un
comptage plus long et plus précis des faibles valeurs avec V r 2 .
S (binaire) = 100n1 + n 2
n1, n2: nombres binaires.
Caractéristiques:
Temps de conversion Tc :
C'est le temps minimum nécessaire au convertisseur pour stabiliser une donnée
numérique en sortie après qu'une tension analogique stable ait été appliquée à l'entrée du
CAN.
Erreur de linéarité:
Elle se caractérise par l'écart maximal entre la courbe réelle et la droite idéale. Elle est
exprimée en % de ∆Ve max .
Erreur de quantification:
Elle est inévitable dans la conversion analogique/numérique (et inverse), même si les
convertisseurs sont considérés comme parfaits. Elle est souvent exprimée par la valeur
efficace du signal E q qui représente cette erreur. E q eff =
q
2 3
Si on numérise une rampe de tension, l'erreur entre la tension d'entrée et la tension de
sortie " reconstituée " (reconvertie en analogique par passage dans un CNA) aura la forme
suivante :
Vitesse maximale de variation de Ve (t ) admise par le convertisseur au cours d'une
phase de conversion.
Pendant cette phase, le signal ne doit pas varier de plus de q.
∆V
 d (Ve 

 = ne max
2 Tc
 dt  max
Tc: temps de conversion.
n: nombre de bits du convertisseur.
Institut National des Sciences Appliquées de Rouen
-10-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Convertisseurs numériques analogiques
Un CNA traduit une entrée numérique N codée sur n bits en une grandeur de sortie
analogique telle que:
V S = q.N + D
q: quantum ou LSB (V).
N: grandeur numérique.
D: décalage en tension, offset (V).
Caractéristiques des CNA:
Temps de conversion (Tc)
C'est le temps minimum nécessaire à la stabilisation de Vs après une transition.
Résolution
Elle est donnée par la valeur du quantum q(V). La sortie Vs va augmenter de q lorsque
N augmentera de "1".
Si D=0, alors Vs=q.N
Excursion
L'excursion E est la différence entre Vs donné pour Nmin et Vs donné pour Nmax si N est
codé sur n bits: Nmax=2n-1
E=q(2n-1)
Précision (accuracy)
εM est l'écart maximal entre la sortie théorique et la sortie réelle.
Pr écision =
εM
E
=
ErreurMax
en%
Excursion
Erreur de décalage (offset error)
La courbe moyenne réelle est décalée d'une grandeur (Ved) constante par rapport à la
courbe de réponse théorique. (Cette erreur est essentiellement due aux tensions de
décalage et courants de fuite de partie analogique du CNA).
Erreur de gain
La réponse théorique Vs et la réponse réelle n'ont pas la même pente.
Vréelle=K.q.N
K=1+∆G
∆G est l'erreur de gain.
Erreur de linéarité
C'est la variation autour de la sortie théorique de la sortie réelle. Cette erreur est
donnée en LSB ou en %.
ε% =
ε q max (V )
E (V )
× 100
εq max: c'est l'erreur maximale entre la valeur théorique et la valeur réelle de N.
Equation d'un CNA réel
Vs=q(1+∆G)[a0(1+∆P0)+2a1(1+∆P1)+...+2n-1an-1(1+∆Pn-1)]
ai: état du bit i.
∆Pi: erreur de linéarité rapporté au bit i.
Institut National des Sciences Appliquées de Rouen
-11-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Structure des CNA directs:
Convertisseur à résistances pondérées
Pour un convertisseur 4 bits, nous avons:
Vs = - RI
1
1
1
1
V S = −Vref . (a 3 + a 2 + a1 + a 0 )
2
4
8
2
Les réseaux R-2R que nous avons étudié et détaillé plus loin.
On a:
VS = −2 R(a3i3 , a 2 i2 + a1i1 + a0 i0 )
V3 =
Vref
4R
V5 = −
, i2 =
Vref
16
Vref
8R
, i3 =
Vref
16 R
, i4 =
Vref
32 R
.
(8a 3 + 4a 2 + 2a1 + a 0 )
I débité par Vref est constant.
Convertisseur à échelle et miroirs de courant
Il s'agit ici d'une "échelle inversée".
La résistance R'=4/3R
V5 = −
Vref
16
(8a 3 + 4a 2 + 2a1 + a 0 )
Convertisseur à miroirs de courants
Dans les résistances, suivant la position des interrupteurs, sur Vref ou sur Vcc, nous
avons des miroirs de courants qui absorbent:
I/2, I, 2I, 4I.
V5 = −
Vref
16
(8a 3 + 4a 2 + 2a1 + a 0 )
Institut National des Sciences Appliquées de Rouen
-12-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
b) L’interface du port imprimante
Le but de notre manipulation avec les CAN et CNA est de vérifier et comprendre leur
fonctionnement. Pour cela, nous avons besoin d’une interface qui nous permette de contrôler
le nombre de bits émis. Ainsi, si nous entrons une valeur, la tension broches commute,
passant de 0 à 5V environ, c'est-à-dire que la ligne passe à 1. On contrôle de cette manière
chaque bit, en pouvant le lire ou l’écrire.
Le port parallèle des PC se présente sous la forme d’une prise DB25 femelle, qui
comporte 25 broches.
8 de ces broches sont reliées à la masse, les 17 autres ayant des fonctions se
rapportant principalement aux fonctionnalités d’une imprimante. Par exemple, une broche
indique si l’imprimante est occupée, une autre si il y a une erreur… toutes les informations
nécessaires à une impression.
Certaines ne fonctionnent qu’en entrée dans le PC, d’autres (telles que les broches de
données) sont à double sens. Cette possibilité de communiquer en double sens est réservée
aux ports de type EPP (Enhanced Parallel Port). On peut donc se servir de ces broches pour
envoyer ou recevoir des impulsions. Ce port est alimenté par du 5 volts continu, lorsque la
ligne est active.
La vitesse de transmission maximale est de l’ordre de 150 Ko/s pour les ports les plus
anciens, et de 2Mo/s pour les ports de type EPP.
On relie donc ce port à notre montage par un boîtier qui regroupe le bus de données,
ainsi que quelques autres broches (ACK, BUSY, PE, la masse…). Il existe trois registres de
contrôle des signaux, qui sont :
•
•
•
Les lignes de données (378h) ;
L’état de l’imprimante (379h) ;
Les commandes de l’imprimante (37Ah) ;
Seules les lignes de données nous intéresseront. Il est possible d’écrire un octet dans
le registre de données, ce qui met les lignes D0 jusqu’à D7 au niveau binaire demandé.
7
X
.
.
.
.
.
.
.
6
.
X
.
.
.
.
.
.
5
.
.
X
.
.
.
.
.
4
.
.
.
X
.
.
.
.
3
.
.
.
.
X
.
.
.
2
.
.
.
.
.
X
.
.
1
.
.
.
.
.
.
X
.
0
.
.
.
.
.
.
.
X
D7
D6
D5
D4
D3
D2
D1
D0
Le boîtier sert donc de lien entre les lignes de données et nos montages, notamment
pour le réseau R / 2R.
Institut National des Sciences Appliquées de Rouen
-13-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
c) Le programme en Pascal
Un programme, rédigé en Pascal, permet de diriger le port imprimante. Il est composé
d’un programme principal qui donne le choix de faire plusieurs actions :
•
•
•
Ecrire une sortie ;
Lire les entrées ;
Envoyer une rampe.
Des fonctionnalités seront ajoutées au fur et à mesure de l’avancement du projet.
Au début du programme, on déclare des constantes globales :
Const
reg_out=$378;
reg_in=$379;
Ainsi que je l’ai expliqué précédemment, le port du registre de sortie est 378h et celui
d’entrée est 379h. Donc pour envoyer des données en sortie on utilisera reg_out et pour
récupérer les valeurs des lignes du bus de données, on se servira de reg_in.
On se sert d’un tableau de bits pour stocker l’octet envoyé ou reçu :
type tab=array[0..7] of byte;
Deux méthodes, lecture et ecriture, permettent de lire ou d’écrire un « byte » sur le
port imprimante, grâce à la commande :
port[reg_out]:=valeur; ou port[reg_in]:=valeur;
Deux procédures conv_bin et conv_oct se chargent des conversions d’un octet en
binaire ou de l’inverse.
Une procédure test_sorties récupère la valeur entrée par l’utilisateur, l’envoie sur le
port imprimante, puis affiche le tableau de la valeur entrée en binaire.
Une autre procédure test_entrees appelle la procédure de lecture, et affiche la valeur
récupérée en la convertissant en binaire.
Pour tester un envoi de valeurs qui s’incrémentent, une procédure rampe a été créée.
On écrit sur le port les valeurs de 0 jusqu'à 255. On sort de cette fonction en appuyant sur
une touche.
Institut National des Sciences Appliquées de Rouen
-14-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
II Réseau R/2R
a) Etude théorique
Nous avons étudié un réseau de résistances composé de seulement deux valeurs, R
et 2R.
Schéma de principe d'un CNA à réseau R/2R (4 bits).
Il est constitué de la manière suivante :
- un amplificateur opérationnel.
- une référence de tension qui va définir la pleine échelle du convertisseur.
- un réseau de résistances R/2R.
- une série de registres numériques contenant le code binaire d'entrée.
- des commutateurs analogiques (interrupteurs commandés électriquement par les
signaux logiques) reliant les résistances soit à la masse, soit à l'entrée - de l'ampli.
L'amplificateur fonctionne ici en convertisseur courant/tension : en fonction du
positionnement des commutateurs, le courant total IT sera plus ou moins élevé, et sera
transformé en tension par l'ampli et la résistance de contre-réaction.
Voici certaines propriétés du réseau :
L'entrée + de l'ampli est à la masse ; si on considère que cet ampli est parfait, l'entrée est au même potentiel, soit 0. La position du commutateur n'influe donc pas sur le
fonctionnement du réseau : les courants I0 à I3 sont dirigés soit vers le convertisseur
courant/tension, soit dérivés à la masse, mais le potentiel à la borne commune des
commutateurs reste le même, à savoir 0.
Institut National des Sciences Appliquées de Rouen
-15-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Nous avons donc étudié le réseau suivant :
Les courants I3 et ID sont égaux.
On a donc :
I2 = ID =
IC
2
Le circuit devient :
On en déduit :
I 2= I C =
IB
I
1
I2 = IB = A I0 = I A =
2
2
2
On a donc :
On en déduit la valeur des courants :
I0 =
Rref
4R
I1 =
E ref
8R
I2 =
E ref
16 R
I3 =
E ref
32 R
La tension de sortie Vs du convertisseur vaut :
VS =
− E ref
4
(a 0 +
a1 a 2 a 3
+
+ )
2
4
8
Institut National des Sciences Appliquées de Rouen
-16-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
b) Etude expérimentale
Pour des valeurs de résistance R = 10 KΩ
Si on envoie une rampe de tension codée sur 8 bits prenant les valeurs de 0 à 255, on
obtient la tension de sortie du réseau R-2R en fonction du temps :
On remarque qu’au bit 0 la tension est nulle et au bit 255 la tension vaut 5V. Nous
couvrons donc correctement la plage de tension grâce aux 256 bits.
Nous pouvons grâce au réseau R-2R obtenir un convertisseur numérique analogique.
Institut National des Sciences Appliquées de Rouen
-17-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
III Echantillonneur Bloqueur
a) Etude théorique
Une conversion A/N se passe en deux parties : il faut en effet quantifier le signal en
amplitude et en temps.
La quantification en temps n’est pas indispensable ; si le signal analogique d’entrée est
continu ou à évolution lente en fonction du temps, la durée de la conversion est négligeable.
On n’a en outre nul besoin de conserver d’informations temporelles.
Si par contre, le signal d’entrée évolue en fonction du temps (par exemple, une tension
sinusoïdale) et que son information est contenue également dans la fréquence de ce signal,
il importe de quantifier également en temps le signal avant de le convertir. On appelle cette
fonction l’échantillonnage.
Pour échantillonner un signal, on définit une durée, appelée période d’échantillonnage,
qui est l’intervalle de temps entre deux valeurs converties. Le signal d’entrée n’est pas
examiné entre ces deux valeurs, et n’est donc pas converti.
Cette période doit être choisie suffisamment courte pour que l’échantillonnage soit
significatif. Elle ne doit pas non plus être exagérément petite, afin que la quantité
d’informations ne soit pas trop importante.
Le circuit assurant cette fonction est généralement extérieur au CAN, et est appelé
échantillonneur bloqueur, puisqu’il doit conserver (bloquer) pendant la période
d’échantillonnage la valeur du signal d’entrée. Il réalise donc une quantification du temps.
A la sortie de l’échantillonneur bloqueur, le signal est encore analogique, et continu en
amplitude. Il s’agit encore d’une tension (en volts) qui peut prendre des valeurs quelconques.
Il est ensuite numérisé par le CAN. A sa sortie, le signal est quantifié en temps et en
amplitude. Il n’est défini qu’aux instants d’échantillonnage.
Le choix de la période d’échantillonnage est crucial : un sous-échantillonnage
détériorera trop le signal d’entrée, alors qu’un sur-échantillonnage va augmenter le volume
de données à traiter.
Le théorème de Shannon fixe la limite inférieure absolue de la fréquence
d’échantillonnage. Il montre que la fréquence d’échantillonnage doit être supérieure au
double de la plus haute fréquence contenue dans le signal d’entrée afin de pouvoir
reconstituer fidèlement le signal. En général, pour s’assurer de cette condition, on applique
un filtre passe-bas avant d’échantillonner le signal.
Par exemple, si l’on décide d’échantillonner de la musique pour faire un CD audio, on
considère que l’oreille humaine n’entend pas les sons de fréquence supérieure à 22kHz. On
filtre donc le signal à 22 kHz pour se débarrasser des fréquences inaudibles (mais présentes
à priori dans le signal) et on échantillonne à 44kHz minimum.
Institut National des Sciences Appliquées de Rouen
-18-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
b) Etude expérimentale
Pour de modéliser une tension variable par une série de tensions continues qui
changent à intervalle régulier afin de numériser un signal, nous avons utilisé un
échantillonneur bloqueur.
Nous avons réalisé le montage de l’échantillonneur bloqueur suivant :
Ce montage comprend deux amplificateurs opérationnels en suiveur, un commutateur
analogique et un condensateur de maintient.
Le commutateur analogique est commandé par une horloge. En réalité, nous avons
utilisé un Générateur Basse Fréquence branché sur la sortie pulse, qui délivre une impulsion
de 5 volts à intervalle régulier. Cette horloge permet de fermer le commutateur analogique
pour réaliser l‘échantillonnage.
Lorsque le commutateur est fermé, le condensateur se charge puis, lorsque l’on ré
ouvre le commutateur, le condensateur se décharge, maintenant ainsi la tension capturée
jusqu’à la prochaine mesure.
Nous avons réalisé l’échantillonnage d’une tension sinusoïdale pour tester notre
montage.
Institut National des Sciences Appliquées de Rouen
-19-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Cette courbe montre en rouge la tension sinusoïdale Ve et en bleu la série de tensions
continues qui correspondent à la tension échantillonnée Vs.
Institut National des Sciences Appliquées de Rouen
-20-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
IV VCO
a) Présentation
VCO signifie Voltage Control Oscillator. Un VCO idéal est un oscillateur dont la
fréquence est une fonction linéaire de la tension de commande :
F=Fo+aV…
La fréquence Fo est appelée fréquence du VCO libre.
Oscillateur dont la fréquence est commandée par tension. Le VCO est le module qui
crée le son (l'onde sonore) : le timbre est choisi par l'utilisateur et la hauteur du son est
fonction de la tension en entrée (généralement issue du clavier). Ce système est utilisé en
musique.
Notre VCO est constitué d’amplificateurs opérationnels, mais il faut savoir qu’il existe
beaucoup d’autres méthodes pour concevoir un VCO.
En voici un exemple :
Institut National des Sciences Appliquées de Rouen
-21-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
b) Etude expérimentale
Nous avons réalisé le montage du VCO suivant.
R = 10 kΩ
C = 10 nF
Puis, nous avons étudié la réponse en fréquence en fonction de la tension d’entrée Ux
pour différentes valeurs de la résistance R1 :
R1 = 5 kΩ
Sur ce graphique, on observe que la réponse en fréquence du système est
proportionnelle à l’entrée en tension.
Institut National des Sciences Appliquées de Rouen
-22-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
R1 = 10 kΩ :
Ici, la réponse en fréquence est proportionnelle à l’entrée en volts jusqu’à un certain
point.
En effet, nous observons ici une limite du VCO qui n’est plus fiable lorsque l’on utilise
mal le montage intégrateur réalisé avec l’amplificateur opérationnel A2 : Il faut essayer de ne
pas utiliser les hautes fréquences pour la modélisation de la tension d’entrée.
Institut National des Sciences Appliquées de Rouen
-23-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Nous nous sommes penchés enfin sur l’acquisition d’un signal en fréquence sur le port
imprimante.
La première étape consiste à choisir une entrée précise sur le port imprimante. Nous
disposons de 5 entrées. Afin de compter le nombre de commutations, nous utilisons un
masque : lorsque l’entrée du port imprimante a une certaine valeur, nous lançons le
programme d’acquisition de la fréquence.
Il faut ensuite choisir la méthode d’acquisition du signal.
Puisqu’il s’agit d’une fréquence, nous disposons de deux méthodes de programmation
différentes :
La première consiste à relever le nombre de commutations sur durée donnée, par
exemple, on compte le nombre de commutations pendant une seconde. On obtient ainsi un
nombre de période par secondes, soit directement la réponse en fréquence.
L’autre méthode consiste à relever la durée entre deux commutations, nous permettant
ainsi de récupérer la période. Un calcul simple donne la fréquence du signal étudié.
C’est cette deuxième méthode qu’il est plus facile à mettre en œuvre au niveau de la
programmation : il suffit d’appeler l’heure du système au début du programme, d’attendre la
commutation, et de rappeler l’heure du système lorsque l’on observe un changement.
Ainsi, on obtient par a différence des deux heures, la durée d’une commutation, puis la
période et enfin la fréquence par calcul.
Ayant réalisé auparavant une étude du VCO au niveau de la proportionnalité entre la
tension d’entrée et la fréquence en sortie, nous appliquons la fonction trouvée
expérimentalement pour notre VCO à la fréquence acquise par l’ordinateur.
Nous avons donc enfin retrouvé sur l’ordinateur la tension d’entrée appliquée.
L’acquisition numérique du signal a été faite.
Cette partie de l’expérience n’a pu être menée à bien faute de temps, mais elle aurait
mérité que nous nous y attardions plus que sur l’échantillonneur bloqueur par exemple, car
nous voyons ici une technique d’acquisition d’une tension sur un ordinateur.
Institut National des Sciences Appliquées de Rouen
-24-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Conclusion
Ce projet d’automatique nous a permis de mieux appréhender les problèmes qui se
posent lors de la numérisation d’un signal.
Nous avons abordé les différents points d’une conversion analogique numérique et
numérique analogique.
L’étude du réseau R/2R pour convertir en tension analogique des tensions numériques
représentant chacune un bit, l’étude de l’échantillonneur bloqueur nécessaire pour numériser
un signal à l’aide d’un convertisseur à rampe, et l’étude d’un autre système de numérisation :
le VCO, qui renvoie une sortie en fréquence proportionnelle à la tension d’entrée. Ce dernier
système nous a permis de numériser complètement une tension d’entrée : la réponse en
fréquence du système est capturée par le port imprimante et traitée par un programme.
Le but de la conversion numérique est d’automatiser les systèmes, en réalisant un
traitement des données par ordinateur, puis en provoquant une réponse du numérique vers
l’analogique, créant ainsi une boucle de contrôle.
Institut National des Sciences Appliquées de Rouen
-25-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
Annexes
{test du port imprimante
MARS 2001
F Guillotin
quelques exemples de
procedures d'entr‚e et de sortie
par le port imprimante du PC
fichier lptp102.pas
}
uses dos,crt;
const reg_out=$378;
reg_in=$379;
type tab=array[0..7] of byte;
var val_e,val_s:byte;
tab_e,tab_s:tab;
procedure
conv_bin(valeur:byte;var
tabbin:tab);
var dividende,i:integer;
begin
dividende:=valeur;
for i:=0 to 7
do begin
tabbin[i]:= dividende mod 2;
dividende:=dividende div 2;
end;
end;
procedure
conv_oct(tabbin:tab;var
valeur:byte);
var i:byte;
begin
valeur:=0;
for
i:=0
to
7
do
valeur:=valeur+tabbin[i]*(1 shl i);
end;
procedure lecture(var valeur:byte);
begin
valeur:=( (port[reg_in] and $f8) shr 3 )
xor $10;
end;
procedure ecriture(valeur:byte);
begin
port[reg_out]:=valeur;
end;
procedure test_sorties;
Institut National des Sciences Appliquées de Rouen
var i,octet:byte;
begin
clrscr;
gotoxy(1,12);write('tu as perdu, entre
une valeur : ');
readln(val_s);
ecriture(val_s);
conv_bin(val_s,tab_s);
gotoxy(1,20);
for
i:=7
downto
write(tab_s[i]:3);readln;
end;
0
do
procedure test_entrees;
var i,octet:byte;
fin:boolean;
touche:string;
begin
clrscr;
gotoxy(1,12);write('lecture des entr‚es:');
if keypressed then touche:=readkey;
fin:=false;
repeat
lecture(val_e);
gotoxy(1,18);write('valeur
en
entr‚e:',port[$379]:4,' avant conversion');
conv_bin(val_e,tab_e);
gotoxy(1,19);write('valeur
en
entr‚e:',val_e:3);
gotoxy(1,20);
for i:=7 downto 0 do write(tab_e[i]:3);
if
keypressed
then
begin
touche:=readkey;fin:=true end;
until fin;
end;
procedure rampe;
var i,octet:byte;
fin:boolean;
touche:string;
begin
clrscr;
gotoxy(1,12);
write('rampe lanc‚e ');
write('pour arrˆter, appuyer sur une
touche');
if keypressed then touche:=readkey;
fin:=false;
i:=0;
repeat
-26-
FALLET Laurent
PERRIN Guillaume
GRISONI Florian
ecriture(i);
i:=i+1;
if i=255 then i:=0;
if
keypressed
then
touche:=readkey;fin:=true end;
until fin ;
okfin:=true;
delay(50);
end;
begin
until okfin;
end;
end;
{******************programme*************}
var fin:boolean;
touche:char;
choix:integer;
begin
if keypressed then touche:=readkey;
fin:=false;
ecriture(0);
clrscr;
procedure periodemetre;
var compte:integer;
h,m,s,h1,m1,s1,stringue,stringue1:Word;
bol,ok_fin:boolean;
touche:char;
begin
clrscr;
GetTime(h,m,s,stringue);
write(h,m,s);
compte:=1;
bol:=false;
repeat
repeat
choix:=0;
clrscr;
gotoxy(2,3);write('Programme
de
test des entr‚es Sortie sur le port imprimante');
gotoxy(2,5);write('1
:Ecrire
une
sortie');
gotoxy(2,7);write('2 : lire les entr‚es');
gotoxy(2,9);write('3 : envoyer une
rampe');
gotoxy(2,11);write('4
:
mesure
frequence VCO');
gotoxy(2,13);write('5 : quitter ');
gotoxy(2,15);write('que voulez vous
faire : ');
repeat
bol:=((port[reg_in] and 64)=64);
if bol then compte:=compte+1;
GetTime(h1,m1,s1,stringue1);
until s1=s+1;
gotoxy(1,12);write(compte);
if keypressed then begin
touche:=readkey;
ok_fin:=true;
end;
gotoxy(1,12);write('frequence
');write(1/compte);
compte:=0;
until ok_fin;
end;
:
procedure vco;
var tabbin:tab;
ack,i:integer;
okfin,ok_ack:boolean;
touche:char;
begin
okfin:=false;
clrscr;
repeat
ack:=port[reg_in] and $40;
conv_bin(ack,tabbin);
gotoxy(1,12);clreol;
for
i:=7
downto
0
do
write(tabbin[i]:3);
ok_ack:=(ack=64);
gotoxy(1,13);clreol;
write(ok_ack);
if keypressed then begin
touche:=readkey;
Institut National des Sciences Appliquées de Rouen
readln(choix);
case choix of
1:test_sorties;
2:test_entrees;
3:rampe;
4: periodemetre;
5:fin:=true;
end;
until fin;
end.
-27-
Téléchargement