Notes

Transcription

Notes
Chapitre
7
Conversion analogique-numérique
Ce chapitre présente une partie très importante du traitement de signal : la conversion
analogique-numérique. L’interface entre le monde réel et le traitement numérique de ces
informations est effectuée par des capteurs, qui donnent des sorties analogiques. Puisque
le traitement de ces informations est de plus en plus effectuée par des microcontrôleurs,
la conversion analogique-numérique est une composante clé de ce système.
7.1
Conversion numérique-analogique
On étudie en premier les circuits qui permettent de convertir une entrée numérique en
sortie analogique : les convertisseurs numériques-analogiques (CNA, ou DAC en anglais).
La sortie de ces circuits peut être de deux types :
1. Unipolaire : La tension de sortie est positive seulement
2. Bipolaire : La tension sortie est positive et négative
Typiquement, la tension est la variable de sortie des convertisseurs, quoiqu’il existe des
convertisseurs ayant un courant comme sortie.
Les convertisseurs ont plusieurs caractéristiques importantes, qu’on verra dans les
prochaines sections.
1
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
7.1.1
Résolution et fonction de transfert
La résolution est le nombre de sorties distinctes analogiques du convertisseur. Pour un
circuit à n bits, il y a seulement 2n sorties distinctes : c’est la résolution.
Résolution = 2n
(7.1)
Exemple : pour un CNA à 3 bits, la résolution est 8. Il y a 8 sorties distinctes possibles
pour ce circuit.
On utilise souvent une fonction de transfert pour démontrer la résolution. C’est un
graphe représentant la valeur analogique de sortie en fonction des codes binaires de
l’entrée. Le graphe est généralement montré en fonction d’une valeur de référence (habituellement normalisé à 1). Il faut noter que la valeur de référence n’est jamais atteinte : la
sortie maximale est une unité de résolution (∆V ) de moins que le maximum. Un exemple
de fonction de transfert est montré à la figure 7.1, pour un CNA de 3 bits unipolaire.
Sortie analogique
Valeur de référence
1.000
0.875
0.750
0.625
0.500
0.375
0.250
0.125
0.000
∆Vo
000
001
010
011
100
Entrée numérique
101
110
111
Figure 7.1 – Fonction de transfert d’un CNA unipolaire à 3 bits
Pour un convertisseur ayant une sortie bipolaire, la variation en tension entre les sorties distinctes est le double de la valeur du convertisseur unipolaire. Un exemple est
montré à la figure 7.2, pour le cas d’un convertisseur à 3 bits. Remarquer que la sortie
atteint la pleine valeur négative (−1V dans ce cas), mais pas la pleine valeur positive.
7.2
Caractéristiques
Les convertisseurs ont plusieurs caractéristiques qui permettent de calculer la sortie analogique pour une entrée numérique donnée, surtout lorsque le comportement du
convertisseur n’est pas idéal.
Gabriel Cormier
2
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Sortie analogique
Valeur de référence
1.00
0.75
0.50
0.25
0.00
−0.25
−0.50
−0.75
−1.00
∆Vo
000
001
010
011
100
Entrée numérique
101
110
111
Figure 7.2 – Fonction de transfert d’un CNA bipolaire à 3 bits
La variation de la sortie, ∆Vo , est la variation de la sortie lorsque l’entrée varie de 1 bit
moins significatif (LSB) :
∆Vmax
∆Vo =
(7.2)
2n
où ∆Vmax représente la variation maximale de la sortie. Cette tension permet de déterminer
la variation de la sortie due à une variation de 1 bit moins significatif (1 LSB) à l’entrée.
La sortie maximale du convertisseur n’est pas égale à la tension de référence, mais
plutôt une variation de 1 bit de moins :
1
Vf s = Vref 1 − n
(7.3)
2
Exemple 1
Soit un DAC à 8bits pour utilisation avec sortie unipolaire de 0 à 5.12V. Quelle est a)
la résolution du DAC, b) la variation de la sortie par bit, et c) la sortie à pleine échelle
lorsque l’entrée est composée entièrement de 1 logiques ?
a) résolution = 28 = 256
5.12
b) ∆Vo =
= 20 mV/bit
256
1
c) Vf s = 5.12 1 − 8 = 5.1 V
2
Gabriel Cormier
3
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
7.3
Comportement non-idéal : erreurs
Malheureusement, les converstisseurs n’ont pas nécessairement un comportement idéal.
Deux types d’erreurs peuvent s’introduire dans la fonction de transfert : une erreur de
décalage, et une erreur de gain.
En réalité, il peut avoir une erreur entre l’entrée spécifée et la sortie. Cette erreur,
Vos , est normalement lorsque la sortie devrait être nulle. Pour une sortie nulle, l’erreur
de décalage est normalement la seule erreur. Un exemple est montré à la figure 7.3. Les
erreurs sont souvent spécifiées en fonction de ±LSB. Dans ce cas-ci, l’erreur est de +1LSB.
Valeur de référence
1.000
Sotie analogique
0.875
Vos
∆Vo
0.750
0.625
0.500
Courbe idéale
0.375
0.250
0.125
0.000
000
001
010
011
100
Entrée numérique
101
110
111
Figure 7.3 – Fonction de transfert d’un CNA à 3 bits avec erreur de décalage
L’erreur de gain a lieu lorsque la pente de la fonction de transfert n’est pas idéale. Dans
ce cas-ci, on mesure l’erreur de gain lorsque la sortie est à pleine valeur. L’erreur de gain
est donnée par :
!
V11 − Vos
Erreur de gain (%) =
−1
(7.4)
Vf s
où V11 est la sortie réelle lorsque l’entrée est composée entièrement de 1. Un exemple est
montré à la figure 7.4. L’erreur de gain est normalement calculée après avoir déterminé
l’erreur de décalage, et est normalement donné comme un pourcentage de la valeur maximale. Il est aussi possible d’avoir des erreurs de gain non-linéaires, où la fonction de
transfert n’est pas une ligne droite ; dans ce cas, l’analyse est plus complexe.
Gabriel Cormier
4
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Valeur de référence
1.000
Erreur
de
gain
Sotie analogique
0.875
0.750
Courbe idéale
0.625
0.500
0.375
0.250
0.125
0.000
000
001
010
011
100
Entrée numérique
101
110
111
Figure 7.4 – Fonction de transfert d’un CNA à 3 bits avec erreur de gain
7.4
Réseau R–2R
Le type de convertisseur numérique analogique le plus populaire est le réseau R–2R.
Le schéma bloc est montré à la figure 7.5. Une entrée numérique est branchée à des interrupteurs (1 interrupteur par bit), puis à un réseau R–2R de résistances. La sortie de ce
réseau R–2R est un courant, proportionnel au code numérique d’entrée, qu’il faut ensuite
convertir en tension.
Tension de
référence
Réseau
R-2R de
résistances
Interrupteurs
Sortie de courant
optionnelle
Io
Convertisseur
Io à Vo
Vo
MSB
LSB
Entrée numérique
Figure 7.5 – Schéma bloc d’un convertisseur numérique-analogique
Le réseau R–2R est la partie du circuit qui effectue la conversion numérique-analogique.
Ce réseau est montré à la figure 7.6. Les interrupteurs sont contrôlés par les bits de l’entrée
numérique. Le point de sortie Iout est une mise à terre virtuelle, et donc les résistances R3 ,
R2 , R1 et R0 sont toujours égales à R.
Gabriel Cormier
5
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
R3
R2
R1
R
−
+
Vref
Iref
I3
2R
I3
0
1
R0
R
R
I2
2R
I2
0
1
I1
I0
2R
I1
2R
I0
0
1
0
1
2R
Iout
Figure 7.6 – Réseau R–2R de résistances
Puisque chaque échelon du réseau donne la même résistance R, la relation entre les
courants est :
I3 =
Iref
I3 Iref
=
2
4
I1 Iref
I0 = =
2
16
I2 =
2
I2 Iref
I1 = =
2
8
(7.5)
et le courant total est la somme des courants, ou
Iout = I0 × D
(7.6)
où D est la valeur décimale du code binaire de l’entrée.
Pour ce circuit, le courant I0 est la résolution du réseau ; c’est la plus petite valeur de
courant disponible.
Iref
1 Vref
I0 = n = n ·
(7.7)
2
2
R
La conversion du courant de sortie à une tension est effectuée avec un ampli-op, comme
à la figure 7.7.
La sortie de l’ampli-op est :
Vo = −Rf Iout = −Rf
!
Vref 1
D
R 2n
(7.8)
qu’on peut aussi écrire de la forme suivante :
Vo = kVref D
Gabriel Cormier
6
(7.9)
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Rf
R–2R
−
Vo = −Iout Rf
+
Figure 7.7 – Circuit de conversion du courant de sortie du réseau R–2R
où k est une constante qui dépend des résistances et de la résolution du convertisseur.
Cette dernière équation montre que la sortie est le produit de deux variables : Vref et D.
Ces deux signaux sont des variables : on peut donc utiliser ce type de convertisseur pour
multiplier des signaux. Comme exemple : soit Vref , un signal audio de 10V. Si on utilise
un DAC à 4 bits, Vo varierais de 0 à 0.625V si l’entrée est D = 0001. Si l’entrée est D =
1111, la sortie varie de 0 à 9.375V.
7.5
Conversion analogique-numérique
Un convertisseur analogique-numérique (CAN, ou ADC en anglais) est utilisé principalement pour l’interface entre un capteur et microcontrôleur. Les signaux peuvent varier
très lentement (comme la température) ou très rapidement (comme un signal audio).
7.5.1
Caractéristiques
Tout comme les convertisseurs N/A, les convertisseurs A/N ont une résolution. La
résolution est
résolution = 2n
(7.10)
où n est le nombre de bits à la sortie. Puisque l’entrée est continue, la résolution d’un
convertisseur A/N est le nombre de sorties distinctes numériques. Le rapport entre l’entrée
maximale (FSR) et la résolution représente la variation de la tension à l’entrée qui fera varier la sortie de 1 bit.
FSR
(7.11)
∆Vi = n
2
Puisque le compteur numérique commence à 0, l’entrée qui cause une sortie où tous
les bits sont 1 est
Vif s = FSR − ∆Vi
(7.12)
Gabriel Cormier
7
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
De façon générale, la sortie d’un ADC est donnée par :
D=
Vin
∆Vi
(7.13)
Un exemple de fonction de transfert pour un convertisseur A/N est donné à la figure
7.8. Dans cet exemple, la sortie prend l’une de 8 valeurs discrètes. Des entrées similaires
mais différentes auront la même sortie. La transition idéale d’un code à l’autre est faite au
milieu de deux valeurs de quantification.
1 LSB
Sortie numérique
111
110
101
100
011
010
001
000
0
0.125
0.250
0.375
0.500
0.625
Entrée analogique
0.750
0.875
1
Figure 7.8 – Fonction de transfert d’un convertisseur A/N à 3 bits unipolaire
7.5.2
Erreur de quantification
Selon la fonction de transfert de la figure 7.8, on remarque qu’il est impossible de
connaı̂tre la valeur exacte de l’entrée selon le code de sortie. L’erreur de quantification
est ±0.5LSB. La seule façon de réduire cette erreur est d’augmenter la résolution : plus la
résolution est élevée, plus l’erreur de quantification est faible.
7.5.3
Erreur de décalage
De façon similaire aux convertisseurs N/A, les convertisseurs A/N ont aussi des erreurs de décalage. Habituellement, l’erreur de décalage est donnée comme un pourcentage de 1 LSB (ex : ±0.5LSB). Cette erreur de décalage modifiera le code de la sortie. Un
exemple est montré à la figure 7.9.
Gabriel Cormier
8
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Erreur 1 LSB
Sortie numérique
111
110
Courbe idéale
101
100
011
Erreur
010
001
000
0
0.125
0.250
0.375
0.500
0.625
Entrée analogique
0.750
0.875
1
Figure 7.9 – Fonction de transfert d’un convertisseur A/N avec erreur de décalage
7.5.4
Erreur de gain
Pour une fonction de transfert idéale, la différence entre la première transition et la
dernière transition est FSR – 2 LSB. Si cette dernière expression est fausse, il y a erreur
de gain. Typiquement, l’erreur de gain est spécifiée comme un pourcentage de l’entrée
maximale (%FSR). Un exemple d’erreur de gain est montré à la figure 7.10.
Sortie numérique
111
110
Erreur
101
100
Courbe idéale
011
010
001
000
0
0.125
0.250
0.375
0.500
0.625
Entrée analogique
0.750
0.875
1
Figure 7.10 – Fonction de transfert d’un convertisseur A/N à 3 bits avec erreur de gain
Gabriel Cormier
9
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
7.5.5
Erreur de linéarité
Il y a erreur de linéarité si la différence entre les transitions n’est pas égale. Typiquement, l’erreur de linéarité est spécifiée comme un pourcentage de LSB (comme 0.75
LSB). La figure 7.11 montre un exemple de convertisseur A/N à 3 bits avec une erreur de
linéarité.
Sortie numérique
111
Transitions inégales
110
101
100
Erreur
Courbe idéale
011
010
001
000
0
0.125
0.250
0.375
0.500
0.625
Entrée analogique
0.750
0.875
1
Figure 7.11 – Fonction de transfert d’un convertisseur A/N à 3 bits avec erreur de linéarité
7.6
Circuits de conversion A/N
Il existe trois types principaux de convertisseurs A/N :
• Intégrateur lent
• ADC par comparaison successive
• ADC flash
7.6.1
Intégrateur lent
Le circuit typique d’un convertisseur à intégrateur lent est montré à la figure 7.12.
L’intégrateur lent fonctionne en trois étapes :
• T1 : Intégration du signal analogique d’entrée
• T2 : Décharge du condensateur de référence (création du code numérique)
• Tz : Retour à zéro
Le chronogramme typique d’intégrateur lent est montré à la figure 7.13.
Gabriel Cormier
10
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Cint
T1
Vin
Rint
Comparateur
−
T2
−
+
Tz
+
Auto-zéro
Vref
Logique de
contrôle
Horloge
Sortie
numérique
RT , CT
Figure 7.12 – Schéma bloc d’un convertisseur à intégrateur lent
Vinmax
T1
t
Tz
T2
T2max
Tzmin
Une conversion complète
Figure 7.13 – Chronogramme d’un intégrateur lent typique
Pendant l’étape 1, le circuit va intégrer le signal d’entrée pour une période fixe, par
exemple 1000 signaux d’horloge. L’intégration dépend de Vin , Rint et Cint . À la deuxième
étape, le circuit va intégrer Vref , de polarité inverse à Vin , jusqu’à atteindre 0. Pendant ce
temps (T2 ), l’horloge contrôle un compteur décimal-codé-binaire. La durée de T2 détermine
jusqu’à quelle valeur le compteur va compter
T2 = T1
Vin
Vref
(7.14)
La troisième étape est nécessaire pour que tous les condensateurs retournent à 0. On utilise un condensateur Caz qui se chargera à la valeur moyenne des erreurs de décalage des
Gabriel Cormier
11
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
ampli-ops (intégrateur et comparateur). Ceci permet d’éliminer l’erreur pendant l’intégration
de Vin .
7.6.2
Conversion par comparaison successive
Le convertisseur A/N à comparaison successive, montré à la figure 7.14, est constitué
de trois blocs principaux :
• Un comparateur
• Un convertisseur numérique-analogique
• Un registre à approximation successive
Il nécessite une horloge, ainsi que deux entrées de contrôle : une entrée qui contrôle le
début de la conversion, et une entrée qui contrôle la fin de la conversion.
Vo
C
DA
AC
D
Vi
Comparateur
Registre à
approximation
successive
Horloge
Sortie
sérielle
Contrôle
Figure 7.14 – Schéma bloc d’un convertisseur à comparaison successive
Le circuit fonctionne en comparant du bit le plus significatif au moins significatif à
la tension d’entrée. Le comparateur indique si Vo est plus grand ou plus petit que Vin .
Une comparaison est effectuée pour chaque bit (pour une sortie à n bits, il faut faire n
comparaisons). L’algorithme est montré à la figure 7.15.
Le temps de conversion est fonction du nombre de bits et de l’horloge utilisée :
Tc = T (n + 1)
(7.15)
où T est la période de l’horloge et n le nombre de bits. Typiquement, il faut 1 pulse de
l’horloge pour initialiser le tout à zéro, d’où le facteur +1 dans l’équation précédente.
Gabriel Cormier
12
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Initialisation
i = n (MSB)
Bit i = 1
Non
Conversion
N/A
Vo
Vin
Vin > Vo ?
i < 1?
Oui
Fin
i = i−1
Oui
Non
Bit i = 0
Figure 7.15 – Algorithme du convertisseur à comparaison successive
Exemple 2
Soit un ADC où Vomax = 7V, codé à 3 bits (donc 1 bit = 1V). Quelle est la valeur
numérique de 6.5V ?
1. On initialise tous les bits à zéro : [000] ;
2. Modifier le bit 3 (MSB) à la valeur 1 : [100] ;
3. Comparer [100] à la valeur d’entrée : [100] = 4V < 6.5V : Puisque c’est plus petit,
b3 = 1 ;
4. Compare [110] à la valeur d’entrée : [110] = 6V < 6.5V : Puisque c’est plus petit,
b2 = 1 ;
5. Compare [111] à la valeur d’entrée : [111] = 7V > 6.5V : Puisque c’est plus grand,
b1 = 0 ;
6. Résultat final : [110]
7.6.3
Convertisseur A/N flash
Le convertisseur flash est le plus rapide des trois types de convertisseurs A/N de ce
chapitre. Il est composé d’un réseau de résistances et de comparateurs. La sortie des comparateurs est branchée à un encodeur, qui donne la sortie numérique voulue. Le circuit
typique est montré à la figure 7.16.
Gabriel Cormier
13
GELE4011
CHAPITRE 7. CONVERSION ANALOGIQUE-NUMÉRIQUE
Vref = 8V
= Vf s
3R/2
−
R
+
−
R
+
−
R
+
Encodeur
8-à-3
−
R
+
−
R
+
−
R
V = 0.5LSB
+
−
R/2
+
Vin (analogique) de 0 à 7V
Figure 7.16 – Circuit d’un convertisseur flash
Le temps de comparaison n’est fonction que du comparateur et de l’encodeur, ce qui
donne un circuit qui peut être très rapide. Cependant, il devient coûteux si on veut beaucoup de précision : le circuit nécessite 2n − 1 comparateurs.
Pendant le temps de conversion Tc , le signal d’entrée ne doit pas changer de plus de
±0.5LSB, sinon la conversion sera fausse. On appelle ceci une erreur de fenêtre (aperture
error). Pour une entrée sinusoı̈dale, la fréquence max est :
fmax ≈
Gabriel Cormier
1
2πTc 2n
14
(7.16)
GELE4011

Documents pareils