52
GELE4011 Chapitre 7: Conversion Analogique-Num´ erique Gabriel Cormier, Ph.D., ing. Universit´ e de Moncton Automne 2010 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 1 / 52

GELE4011 Chapitre 7: Conversion Analogique-Numérique · Conversion num erique-analogique Introduction Convertisseur num erique-analogique (DAC) : convertit une entr ee binaire en

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