Upload
phamcong
View
230
Download
0
Embed Size (px)
Citation preview
GELE4011 Chapitre 7:Conversion Analogique-Numerique
Gabriel Cormier, Ph.D., ing.
Universite de Moncton
Automne 2010
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 1 / 52
Contenu
1 Conversion numerique-analogique
2 Fonction de transfert
3 Caracteristiques
4 Circuits de conversion N/AConversion N/A
5 Conversion Analogique-Numerique
6 Circuits ADCIntegrateur lentConversion par comparaison successiveADC flash
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 2 / 52
Conversion numerique-analogique
Introduction
Convertisseur numerique-analogique (DAC) : convertit une entreebinaire en sortie analogique (tension ou courant)
Sortie : unipolaire (positif seulement) ou bipolaire (positif et negatif)
Commercialement : DAC ont tension ou courant comme sortie
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 3 / 52
Conversion numerique-analogique
Resolution
Resolution : nombre de sorties distinctes analogiques
Pour un DAC de n bits,
Resolution = 2n
Ex : pour un DAC a 3 bits, la resolution est 8 (8 sorties distinctes)
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 4 / 52
Fonction de transfert
Fonction de transfert
Graphe representant la valeur analogique de sortie en fonction descodes binaires de l’entree
Donne en fonction d’une valeur de reference (habituellementnormalise a 1)
La valeur de reference n’est jamais atteinte : la sortie maximale estune unite de resolution (∆V ) de moins que le max
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 5 / 52
Fonction de transfert
Fonction de transfert
Exemple : DAC a 3 bits unipolaire
000 001 010 011 100 101 110 1110.000
0.125
0.250
0.375
0.500
0.625
0.750
0.875
1.000
∆Vo
Valeur de reference
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 6 / 52
Fonction de transfert
Fonction de transfert
Exemple : DAC a 3 bits bipolaire
000 001 010 011 100 101 110 111−1.00
−0.75
−0.50
−0.25
0.00
0.25
0.50
0.75
1.00
∆Vo
Valeur de reference
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 7 / 52
Caracteristiques
Variation de la sortie
La variation de la sortie, ∆Vo, est la variation de la sortie lorsquel’entree varie de 1 bit moins significatif (LSB) :
∆Vo =∆Vmax
2n
ou ∆Vmax represente la variation maximale de la sortie.
Sortie maximale Vfs n’est pas egale a la reference :
Vfs = Vref
(1 − 1
2n
)
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 8 / 52
Caracteristiques
Exemple
Soit un DAC a 8bits pour utilisation avec sortie unipolaire de 0 a 5.12V.Quelle est a) la resolution du DAC, b) la variation de la sortie par bit, et c)la sortie a pleine echelle lorsque l’entree est composee entierement de 1logiques ?
a) resolution = 28 = 256
b) ∆Vo =5.12
256= 20 mV/bit
c) Vfs = 5.12
(1 − 1
28
)= 5.1 V
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 9 / 52
Caracteristiques
Erreur de decalage
Les fonctions de transfert presentee auparavant etaient ideales. Enrealite, il peut avoir une erreur entre l’entree specifiee et la sortie.
Typiquement, on mesure l’erreur de decalage (Vos) lorsque la sortiedevrait etre nulle.
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 10 / 52
Caracteristiques
Erreur de decalage
Exemple : DAC a 3 bits unipolaire avec erreur
000 001 010 011 100 101 110 1110.000
0.125
0.250
0.375
0.500
0.625
0.750
0.875
1.000
∆Vo
Valeur de reference
Vos
Courbe ideale
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 11 / 52
Caracteristiques
Erreur de gain
Erreur de gain : la pente de la courbe est differente de celle du casideal
Erreur de gain est donnee en fonction de la sortie maximale :
Erreur de gain =
(V11 − VosVfs
− 1
)V11 est la sortie reelle lorsque l’entree est composee entierement de 1
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 12 / 52
Caracteristiques
Erreur de gain
Exemple : DAC a 3 bits unipolaire avec erreur
000 001 010 011 100 101 110 1110.000
0.125
0.250
0.375
0.500
0.625
0.750
0.875
1.000
Erreurde gain
Valeur de reference
Courbe ideale
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 13 / 52
Caracteristiques
Erreur de gain
Mesurer l’erreur de gain,
Determiner en premier l’erreur de decalage,Ajuster toutes les entrees a 1 logique,Mesurer l’amplitude a la sortie
Idealement, on recherche une erreur de gain de 1 LSB.
Il est aussi possible d’avoir des erreurs de gain non-lineaires, ou lafonction de transfert n’est pas une ligne droite.
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 14 / 52
Circuits de conversion N/A Conversion N/A
Conversion N/A
Schema-bloc :
Tension dereference
ReseauR-2R de
resistances
Interrupteurs ConvertisseurIo a Vo
Sortie de courantoptionnelle
Io
Vo
Entree numerique
MSB LSB
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 15 / 52
Circuits de conversion N/A Conversion N/A
Conversion R–2R
Les entrees controlent chacune 1 interrupteur (1 par bit)
La sortie du reseau est un courant proportionnel au code de l’entree
Le courant est ensuite converti en tension
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 16 / 52
Circuits de conversion N/A Conversion N/A
Reseau R–2R
+−Vref
R R R
2R2R 2R 2R 2R
0 0 0 01 1 1 1
Iout
Iref
R3 R2 R1 R0
I3 I2 I1 I0I3 I2 I1 I0
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 17 / 52
Circuits de conversion N/A Conversion N/A
Reseau R–2R
Selon le circuit precedent,
R3 = R2 = R1 = R0
La relation entre les courants :
I3 =Iref
2I2 =
I32
=Iref
4
I1 =I22
=Iref
8I0 =
I12
=Iref16
Le courant total est :Iout = I0 ×D
ou D est la valeur decimale du code binaire de l’entree
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 18 / 52
Circuits de conversion N/A Conversion N/A
Reseau R–2R
I0 = resolution du reseau
I0 = plus petite valeur de courant disponible
I0 =Iref2n
=1
2n·VrefR
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 19 / 52
Circuits de conversion N/A Conversion N/A
Sortie en tension
Conversion en tension a l’aide d’un ampli-op
−
+
Rf
Vo = −IoutRf
R–2R
Typiquement, Rf = R
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 20 / 52
Circuits de conversion N/A Conversion N/A
DAC multiplicateur
Equation de Vo est la multiplication de 2 variables :
Vo = −IoutRf = −(VrefR
· 1
2n·Rf
)D
= kVrefD
ou k est une constante (resistances et resolution)
Vo est le produit de 2 variables : Vref et D
Ex : Vref est un signal audio de 10V. Si on utilise un DAC a 4 bits, Vovarierais de 0 a 0.625V si l’entree est D = 0001. Si l’entree est D =1111, la sortie varie de 0 a 9.375V.
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 21 / 52
Circuits de conversion N/A Conversion N/A
DAC pratiques
Pour des applications standard, le DAC-08 est un bon choix.
Le AD558 permet un interface a un microprocesseur.
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 22 / 52
Conversion Analogique-Numerique
ConversionAnalogique-Numerique
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 23 / 52
Conversion Analogique-Numerique
Convertisseur analogique-numerique
Convertisseur analogique-numerique (ADC) : utilise principalementpour l’interface entre un capteur et microcontroleur
Signaux peuvent varier tres lentement (temperature) ou tresrapidement (signal audio)
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 24 / 52
Conversion Analogique-Numerique
Resolution
Comme le DAC, le ADC a une resolution :
resolution = 2n
ou n est le nombre de bits a la sortie
Le rapport entre l’entree maximale (FSR) et la resolution representela variation de la tension a l’entree qui fera varier la sortie de 1 bit.
∆Vi =FSR
2n
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 25 / 52
Conversion Analogique-Numerique
Resolution
L’entree qui provoque une sortie ou tous les bits sont 1 est Vifs :
Vifs = FSR− ∆Vi
De facon generale, la sortie d’un ADC est donnee par :
D =Vin∆Vi
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 26 / 52
Conversion Analogique-Numerique
Fonction de transfert
Exemple : ADC a 3 bits unipolaire
0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1000
001
010
011
100
101
110
111
1 LSB
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 27 / 52
Conversion Analogique-Numerique
Fonction de transfert
Selon le graphe precedent, la sortie du ADC prend l’une de 8 valeursdiscretes
Des entrees similaires mais differentes auront la meme sortie
La transition ideale d’un code a l’autre est faite au milieu de deuxvaleurs de quantification
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 28 / 52
Conversion Analogique-Numerique
Erreur de quantification
Selon la fonction de transfert, on remarque qu’il est impossible deconnaıtre la valeur exacte de l’entree selon le code de sortie
L’erreur de quantification est ±0.5LSB
Plus la resolution est elevee, plus l’erreur de quantification est faible
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 29 / 52
Conversion Analogique-Numerique
Erreur de decalage
De facon similaire aux DAC, les ADC ont aussi des erreurs de decalage
Habituellement, l’erreur de decalage est donnee comme unpourcentage de 1 LSB (ex : ±0.5LSB).
Cette erreur de decalage modifiera le code de la sortie
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 30 / 52
Conversion Analogique-Numerique
Erreur de decalage
Exemple : ADC a 3 bits unipolaire avec erreur de decalage
0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1000
001
010
011
100
101
110
111
Erreur 1 LSB
Courbe ideale
Erreur
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 31 / 52
Conversion Analogique-Numerique
Erreur de gain
Pour une fonction de transfert ideale, la difference entre la premieretransition et la derniere transition est FSR – 2 LSB
Si cette derniere expression est fausse, il y a erreur de gain
Typiquement, l’erreur de gain est specifiee comme un pourcentage del’entree maximale (%FSR)
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 32 / 52
Conversion Analogique-Numerique
Erreur de gain
Exemple : ADC a 3 bits unipolaire avec erreur de gain
0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1000
001
010
011
100
101
110
111
Courbe ideale
Erreur
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 33 / 52
Conversion Analogique-Numerique
Erreur de linearite
Il y a erreur de linearite si la difference entre les transitions n’est pasegale
Typiquement, l’erreur de linearite est specifiee comme un pourcentagede LSB (comme 0.75 LSB).
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 34 / 52
Conversion Analogique-Numerique
Erreur de linearite
Exemple : ADC a 3 bits unipolaire avec erreur de linearite
0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1000
001
010
011
100
101
110
111Transitions inegales
Courbe ideale
Erreur
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 35 / 52
Circuits ADC
Circuits ADC
Trois types principaux de ADC
Integrateur lent
ADC par comparaison successive
ADC flash
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 36 / 52
Circuits ADC Integrateur lent
Integrateur lent
−
+
−
+
Auto-zero
Logique decontrole
Vref
Comparateur
Horloge
Rint
Cint
T2
Tz
T1Vin
Sortienumerique
RT , CT
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 37 / 52
Circuits ADC Integrateur lent
Integrateur lent
L’integrateur lent fonctionne en trois etapes :
T1 : Integration du signal analogique d’entree
T2 : Decharge du condensateur de reference (creation du codenumerique)
Tz : Retour a zero
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 38 / 52
Circuits ADC Integrateur lent
Integrateur lent : T1
Etape 1 : Integrer le signal d’entree pour une periode fixe
Ex : Integrer pour 1000 signaux d’horloge
L’integration depend de Vin, Rint et Cint
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 39 / 52
Circuits ADC Integrateur lent
Integrateur lent : T2
Etape 2 : Integrer Vref , de polarite inverse a Vin, jusqu’a atteindre 0
Pendant ce temps (T2), l’horloge controle un compteurdecimal-code-binaire.
La duree de T2 determine jusqu’a quelle valeur le compteur vacompter
T2 = T1VinVref
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 40 / 52
Circuits ADC Integrateur lent
Integrateur lent : Tz
Etape 3 : Temps necessaire pour que tous les condensateursretournent a 0V.
Utilise un condensateur Caz qui se chargera a la valeur moyenne deserreurs de decalage des ampli-ops (integrateur et comparateur).
Permet d’eliminer l’erreur pendant l’integration de Vin
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 41 / 52
Circuits ADC Integrateur lent
Integrateur lent : exemple
t
Vinmax
T1 T2 TzT2max Tzmin
Une conversion complete
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 42 / 52
Circuits ADC Conversion par comparaison successive
Conversion par comparaison successive
Constitue de 3 blocs principaux :
Un comparateurUn convertisseur numerique-analogiqueUn registre a approximation successive
Necessite une horloge
Necessite 2 entrees de controle : debut de conversion et fin deconversion
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 43 / 52
Circuits ADC Conversion par comparaison successive
Conversion par comparaison successive
Registre aapproximation
successive
DACDACVo
Vi
Sortieserielle
Comparateur
Horloge Controle
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 44 / 52
Circuits ADC Conversion par comparaison successive
Conversion par comparaison successive
Fonctionne en comparant du bit le plus significatif au moinssignificatif a la tension d’entree
Le comparateur indique si Vo est plus grand ou plus petit que Vin
Une comparaison est effectuee pour chaque bit (pour une sortie a nbits, il faut faire n comparaisons)
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 45 / 52
Circuits ADC Conversion par comparaison successive
Conversion par comparaison successive : algorithme
Initialisationi = n (MSB)
Bit i = 1
Conversion N/A
Vin > Vo ?
Bit i = 0
i < 1 ?
i = i − 1
Fin
Vo
Non
Oui
Non Oui
Vin
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 46 / 52
Circuits ADC Conversion par comparaison successive
Conversion pas comparaison successive
Le temps de conversion est fonction du nombre de bits et de l’horlogeutilisee :
Tc = T (n+ 1)
ou T est la periode de l’horloge et n le nombre de bits.
Typiquement, il faut 1 pulse de l’horloge pour initialiser le tout a zero,d’ou le facteur +1 dans l’equation precedente
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 47 / 52
Circuits ADC Conversion par comparaison successive
Exemple
Soit un ADC ou Vomax = 7V, code a 3 bits (donc 1 bit = 1V). Quelle estla valeur numerique de 6.5V ?
1 Initialise le tout a zero : [000] ;
2 Modifie bit 3 (MSB) : [100] ;
3 Compare [100] = 4V < 6.5V : b3 = 1 ;
4 Compare [110] = 6V < 6.5V : b2 = 1 ;
5 Compare [111] = 7V > 6.5V : b1 = 0 ;
6 Resultat final : [110]
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 48 / 52
Circuits ADC ADC flash
ADC flash
Compose d’un reseau de resistances et comparateurs
La sortie des comparateurs est branchee a un encodeur
L’encodeur donne la sortie numerique
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 49 / 52
Circuits ADC ADC flash
ADC flash :exemple a 3 bits
R/2
R
R
R
R
R
R
3R/2
Vref = 8V= Vfs
−
+
−
+
−
+
−
+
−
+
−
+
−
+
Vin (analogique) de 0 a 7V
Encodeur8-a-3
V = 0.5LSB
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 50 / 52
Circuits ADC ADC flash
ADC flash
Le temps de comparaison n’est fonction que du comparateur et del’encodeur
Peut etre tres rapide
Devient couteux pour beaucoup de precision : necessite 2n − 1comparateurs
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 51 / 52
Circuits ADC ADC flash
ADC flash
Pendant le temps de conversion Tc, le signal d’entree ne doit paschanger de plus de ±0.5LSB, sinon la conversion sera fausse.
On appelle ceci une erreur de fenetre (aperture error)
Pour une entree sinusoıdale, la frequence max est :
fmax ≈ 1
2πTc2n
Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 52 / 52