GELE4011 Chapitre 7: Conversion Analogique
Transcription
GELE4011 Chapitre 7: Conversion Analogique
GELE4011 Chapitre 7: Conversion Analogique-Numérique Gabriel Cormier, Ph.D., ing. Université de Moncton Automne 2010 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 1 / 52 Contenu 1 Conversion numérique-analogique 2 Fonction de transfert 3 Caractéristiques 4 Circuits de conversion N/A Conversion N/A 5 Conversion Analogique-Numérique 6 Circuits ADC Intégrateur lent Conversion par comparaison successive ADC flash Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 2 / 52 Conversion numérique-analogique Introduction Convertisseur numérique-analogique (DAC) : convertit une entrée binaire en sortie analogique (tension ou courant) Sortie : unipolaire (positif seulement) ou bipolaire (positif et négatif) Commercialement : DAC ont tension ou courant comme sortie Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 3 / 52 Conversion numérique-analogique Résolution Résolution : nombre de sorties distinctes analogiques Pour un DAC de n bits, Résolution = 2n Ex : pour un DAC à 3 bits, la résolution est 8 (8 sorties distinctes) Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 4 / 52 Fonction de transfert Fonction de transfert Graphe représentant la valeur analogique de sortie en fonction des codes binaires de l’entrée Donné en fonction d’une valeur de référence (habituellement normalisé à 1) La valeur de référence n’est jamais atteinte : la sortie maximale est une unité de résolution (∆V ) de moins que le max Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 5 / 52 Fonction de transfert Fonction de transfert Exemple : DAC à 3 bits unipolaire Valeur de référence 1.000 0.875 ∆Vo 0.750 0.625 0.500 0.375 0.250 0.125 0.000 000 Gabriel Cormier (UdeM) 001 010 011 100 GELE4011 Chapitre 7 101 110 111 Automne 2010 6 / 52 Fonction de transfert Fonction de transfert Exemple : DAC à 3 bits bipolaire Valeur de référence 1.00 0.75 ∆Vo 0.50 0.25 0.00 −0.25 −0.50 −0.75 −1.00 000 Gabriel Cormier (UdeM) 001 010 011 100 GELE4011 Chapitre 7 101 110 111 Automne 2010 7 / 52 Caractéristiques Variation de la sortie La variation de la sortie, ∆Vo , est la variation de la sortie lorsque l’entrée varie de 1 bit moins significatif (LSB) : ∆Vo = ∆Vmax 2n où ∆Vmax représente la variation maximale de la sortie. Sortie maximale Vf s n’est pas égale à la référence : 1 Vf s = Vref 1 − n 2 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 8 / 52 Caractéristiques Exemple 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 = 20 mV/bit b) ∆Vo = 256 1 c) Vf s = 5.12 1 − 8 = 5.1 V 2 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 9 / 52 Caractéristiques Erreur de décalage Les fonctions de transfert présentée auparavant étaient idéales. En réalité, il peut avoir une erreur entre l’entrée spécifiée et la sortie. Typiquement, on mesure l’erreur de décalage (Vos ) lorsque la sortie devrait être nulle. Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 10 / 52 Caractéristiques Erreur de décalage Exemple : DAC à 3 bits unipolaire avec erreur Valeur de référence 1.000 0.875 ∆Vo 0.750 0.625 0.500 Courbe idéale 0.375 0.250 Vos 0.125 0.000 000 Gabriel Cormier (UdeM) 001 010 011 100 GELE4011 Chapitre 7 101 110 111 Automne 2010 11 / 52 Caractéristiques Erreur de gain Erreur de gain : la pente de la courbe est différente de celle du cas idéal Erreur de gain est donnée en fonction de la sortie maximale : V11 − Vos Erreur de gain = −1 Vf s V11 est la sortie réelle lorsque l’entrée est composée entièrement de 1 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 12 / 52 Caractéristiques Erreur de gain Exemple : DAC à 3 bits unipolaire avec erreur Valeur de référence 1.000 0.875 Erreur de gain 0.750 Courbe idéale 0.625 0.500 0.375 0.250 0.125 0.000 000 001 Gabriel Cormier (UdeM) 010 011 100 GELE4011 Chapitre 7 101 110 111 Automne 2010 13 / 52 Caractéristiques Erreur de gain Mesurer l’erreur de gain, Déterminer en premier l’erreur de décalage, Ajuster toutes les entrées à 1 logique, Mesurer l’amplitude à la sortie Idéalement, on recherche une erreur de gain de 1 LSB. Il est aussi possible d’avoir des erreurs de gain non-linéaires, où la fonction 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 Schéma-bloc : Tension de référence Réseau R-2R de résistances Interrupteurs Sortie de courant optionnelle Convertisseur Io à Vo Io Vo MSB LSB Entrée numérique Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 15 / 52 Circuits de conversion N/A Conversion N/A Conversion R–2R Les entrées contrôlent chacune 1 interrupteur (1 par bit) La sortie du réseau est un courant proportionnel au code de l’entrée 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 Réseau R–2R R3 − + Vref Iref 2R 0 R I3 1 R2 I3 2R 0 R I2 1 R1 I2 2R 0 R I1 1 R0 I1 2R I0 I0 0 2R 1 Iout Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 17 / 52 Circuits de conversion N/A Conversion N/A Réseau R–2R Selon le circuit précédent, R3 = R2 = R1 = R0 La relation entre les courants : Iref 2 Iref I2 I1 = = 2 8 Iref I3 = 2 4 Iref I1 I0 = = 2 16 I3 = I2 = Le courant total est : Iout = I0 × D où D est la valeur décimale du code binaire de l’entrée Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 18 / 52 Circuits de conversion N/A Conversion N/A Réseau R–2R I0 = résolution du réseau I0 = plus petite valeur de courant disponible I0 = Gabriel Cormier (UdeM) Iref 1 Vref = n· n 2 2 R GELE4011 Chapitre 7 Automne 2010 19 / 52 Circuits de conversion N/A Conversion N/A Sortie en tension Conversion en tension à l’aide d’un ampli-op Rf R–2R − Vo = −Iout Rf + Typiquement, Rf = R Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 20 / 52 Circuits de conversion N/A Conversion N/A DAC multiplicateur Équation de Vo est la multiplication de 2 variables : Vref 1 · Vo = −Iout Rf = − · Rf D R 2n = kVref D où k est une constante (résistances et résolution) Vo est le produit de 2 variables : Vref et D Ex : Vref est 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. 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 à un microprocesseur. Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 22 / 52 Conversion Analogique-Numérique Conversion Analogique-Numérique Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 23 / 52 Conversion Analogique-Numérique Convertisseur analogique-numérique Convertisseur analogique-numérique (ADC) : utilisé principalement pour l’interface entre un capteur et microcontrôleur Signaux peuvent varier très lentement (température) ou très rapidement (signal audio) Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 24 / 52 Conversion Analogique-Numérique Résolution Comme le DAC, le ADC a une résolution : résolution = 2n où n est le nombre de bits à la sortie 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. ∆Vi = Gabriel Cormier (UdeM) F SR 2n GELE4011 Chapitre 7 Automne 2010 25 / 52 Conversion Analogique-Numérique Résolution L’entrée qui provoque une sortie où tous les bits sont 1 est Vif s : Vif s = F SR − ∆Vi De façon générale, la sortie d’un ADC est donnée par : D= Gabriel Cormier (UdeM) Vin ∆Vi GELE4011 Chapitre 7 Automne 2010 26 / 52 Conversion Analogique-Numérique Fonction de transfert Exemple : ADC à 3 bits unipolaire 1 LSB 111 110 101 100 011 010 001 000 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 1 Automne 2010 27 / 52 Conversion Analogique-Numérique Fonction de transfert Selon le graphe précédent, la sortie du ADC 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 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 28 / 52 Conversion Analogique-Numérique Erreur de quantification Selon la fonction de transfert, 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 Plus la résolution est élevée, plus l’erreur de quantification est faible Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 29 / 52 Conversion Analogique-Numérique Erreur de décalage De façon similaire aux DAC, les ADC 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 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 30 / 52 Conversion Analogique-Numérique Erreur de décalage Exemple : ADC à 3 bits unipolaire avec erreur de décalage Erreur 1 LSB 111 Courbe idéale 110 101 100 011 010 Erreur 001 000 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 1 Automne 2010 31 / 52 Conversion Analogique-Numérique 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) Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 32 / 52 Conversion Analogique-Numérique Erreur de gain Exemple : ADC à 3 bits unipolaire avec erreur de gain 111 Erreur 110 101 100 011 Courbe idéale 010 001 000 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 1 Automne 2010 33 / 52 Conversion Analogique-Numérique 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). Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 34 / 52 Conversion Analogique-Numérique Erreur de linéarité Exemple : ADC à 3 bits unipolaire avec erreur de linéarité 111 Transitions inégales 110 101 Erreur 100 011 Courbe idéale 010 001 000 0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 1 Automne 2010 35 / 52 Circuits ADC Circuits ADC Trois types principaux de ADC Intégrateur lent ADC par comparaison successive ADC flash Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 36 / 52 Circuits ADC Intégrateur lent Intégrateur lent Cint T1 Vin Rint − T2 Comparateur − Tz + + Auto-zéro Vref Sortie numérique Logique de contrôle Horloge RT , C T Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 37 / 52 Circuits ADC Intégrateur lent Intégrateur lent 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 Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 38 / 52 Circuits ADC Intégrateur lent Intégrateur lent : T1 Étape 1 : Intégrer le signal d’entrée pour une période fixe Ex : Intégrer pour 1000 signaux d’horloge L’intégration dépend de Vin , Rint et Cint Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 39 / 52 Circuits ADC Intégrateur lent Intégrateur lent : T2 Étape 2 : 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 Vin T2 = T1 Vref Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 40 / 52 Circuits ADC Intégrateur lent Intégrateur lent : Tz Étape 3 : Temps nécessaire pour que tous les condensateurs retournent à 0V. Utilise un condensateur Caz qui se chargera à la valeur moyenne des erreurs de décalage des ampli-ops (intégrateur et comparateur). Permet d’éliminer l’erreur pendant l’intégration de Vin Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 41 / 52 Circuits ADC Intégrateur lent Intégrateur lent : exemple Vinmax T1 T2 T2max Une conversion complète Gabriel Cormier (UdeM) t Tz GELE4011 Chapitre 7 Tzmin Automne 2010 42 / 52 Circuits ADC Conversion par comparaison successive Conversion par comparaison successive Constitué de 3 blocs principaux : Un comparateur Un convertisseur numérique-analogique Un registre à approximation successive Nécessite une horloge Nécessite 2 entrées de contrôle : début de conversion et fin de conversion Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 43 / 52 Circuits ADC Conversion par comparaison successive Conversion par comparaison successive Vo D CA AC D Vi Comparateur Registre à approximation successive Horloge Gabriel Cormier (UdeM) Sortie sérielle Contrôle 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 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) Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 45 / 52 Circuits ADC Conversion par comparaison successive Conversion par comparaison successive : algorithme Initialisation i = n (MSB) Non Bit i = 1 i < 1? Oui Fin Conversion N/A Vo Vin Vin > Vo ? i = i−1 Oui Non Bit i = 0 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’horloge utilisée : Tc = T (n + 1) 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 (UdeM) GELE4011 Chapitre 7 Automne 2010 47 / 52 Circuits ADC Conversion par comparaison successive Exemple Soit un ADC où Vomax = 7V, codé à 3 bits (donc 1 bit = 1V). Quelle est la valeur numérique de 6.5V ? 1 Initialise le tout à zéro : [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 Résultat final : [110] Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 48 / 52 Circuits ADC ADC flash ADC flash Composé d’un réseau de résistances et comparateurs La sortie des comparateurs est branchée à un encodeur L’encodeur donne la sortie numérique Gabriel Cormier (UdeM) GELE4011 Chapitre 7 Automne 2010 49 / 52 Circuits ADC ADC flash ADC flash :exemple à 3 bits 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 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 de l’encodeur Peut être très rapide Devient coûteux pour beaucoup de précision : nécessite 2n − 1 comparateurs 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’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 (UdeM) 1 2πTc 2n GELE4011 Chapitre 7 Automne 2010 52 / 52