Convertisseur analogique-numérique
Le convertisseur analogique-numérique, ou ADC, est un convertisseur de données qui permet
aux circuits numériques de s'interfacer avec le monde réel en codant un signal analogique en
un code binaire
Le convertisseur analogique-numérique (ADC) permet aux circuits contrôlés par
microprocesseur, Arduinos, Raspberry Pi et autres circuits logiques numériques de
communiquer avec le monde réel. Dans le monde réel, les signaux analogiques ont des valeurs
en constante évolution provenant de diverses sources. Les capteurs peuvent mesurer le son, la
lumière, la température ou le mouvement, etc. Les circuits électroniques peuvent interagir avec
leur environnement en mesurant les signaux analogiques provenant de ces transducteurs.
Alors que les signaux analogiques peuvent être continus et fournir une infinité de valeurs de
tension di érentes, les circuits électroniques numériques fonctionnent en revanche avec des
signaux binaires qui n'ont que deux états discrets, un « 1 » logique (HAUT) ou un « 0 » logique
(BAS).
Il est donc nécessaire de disposer d'un circuit électronique capable de convertir entre les deux
domaines di érents des signaux analogiques en constante évolution et des signaux numériques
discrets, et c'est là qu'interviennent les convertisseurs analogique-numérique (A/N).
En principe, un convertisseur analogique-numérique prend un instantané d'une tension
analogique à un instant donné et produit un code de sortie numérique qui représente cette
tension analogique. Le nombre de chi res binaires, ou bits, utilisés pour représenter cette
valeur de tension analogique dépend de la résolution d'un convertisseur A/N.
Par exemple, un ADC 4 bits aura une résolution d'une partie sur 15, (2 4 – 1) tandis qu'un ADC 8
bits aura une résolution d'une partie sur 255, (2 8 – 1). Ainsi, un convertisseur analogique-
numérique prend un signal analogique continu inconnu et le convertit en un nombre binaire de «
.n » bits de 2 n bits
Mais rappelons d’abord les di érences entre un signal analogique (ou analogique) et un signal
: numérique comme indiqué
Signaux analogiques et numériques
Ici, nous pouvons voir que lorsque la borne du curseur du potentiomètre est tournée entre 0 volt
et V MAX , elle produit une tension de sortie continue (ou signal). Cette tension de sortie aura un
.nombre infini de valeurs de sortie par rapport à la position physique du curseur
Comme le curseur du potentiomètre est réglé d'une position à l'autre, il n'y a pas de
changement brusque ou progressif entre les deux niveaux de tension, ce qui produit une tension
de sortie variable en continu. Les exemples de signaux analogiques de production comprennent
.la température, la pression, les niveaux de liquide et l'intensité lumineuse
Pour un circuit numérique, le curseur du potentiomètre a été remplacé par un seul
commutateur rotatif qui est connecté à son tour à chaque jonction de la chaîne de résistances
en série. Cet agencement forme un réseau diviseur de potentiel de base. Lorsque le
commutateur est tourné d'une position (ou nœud) à la suivante, la tension de sortie, V OUT,
change rapidement par paliers de tension discrets et distincts représentant des multiples de 1,0
.volt à chaque action de commutation, comme indiqué
Ainsi, par exemple, la tension de sortie sera de 2 volts, 3 volts, 5 volts, etc. mais PAS de 2,5 V,
3,1 V ou 4,6 V. Des niveaux de tension de sortie plus fins pourraient facilement être produits en
utilisant un commutateur multiposition et en augmentant le nombre d'éléments résistifs dans le
.réseau diviseur de potentiel, augmentant ainsi le nombre d'étapes de commutation discrètes
Nous pouvons alors voir que les principales di érences entre un signal analogique et un signal
numérique sont qu'une quantité « analogique » change continuellement au fil du temps tandis
qu'une quantité « numérique » a des valeurs discrètes (étape par étape). « FAIBLE » à « ÉLEVÉ »
.« ou « ÉLEVÉ » à « FAIBLE
Comment pouvons-nous alors convertir un signal en constante évolution avec un nombre infini
de valeurs en un signal ayant des valeurs ou des étapes distinctes pouvant être utilisées par un
.circuit numérique ? La réponse est d'utiliser un convertisseur analogique-numérique , ou ADC
Convertisseur analogique-numérique
Le processus de prise d'un signal de tension analogique et de sa conversion en un signal
numérique équivalent peut être e ectué de nombreuses manières di érentes, et bien qu'il
existe de nombreuses puces de conversion analogique-numérique telles que la série ADC08xx
disponibles auprès de divers fabricants, il est possible de construire un ADC simple en utilisant
.des composants discrets
Un moyen simple et facile consiste à utiliser un codage parallèle, également connu sous le nom
de convertisseurs flash , simultanés ou à comparateurs multiples dans lesquels les
comparateurs sont utilisés pour détecter di érents niveaux de tension et transmettre leur état
.de commutation à un encodeur
Les convertisseurs A/N parallèles « Flash » utilisent une série de comparateurs interconnectés
mais également espacés et de références de tension générées par un réseau série de
résistances de précision pour générer un code de sortie équivalent pour une résolution n bits
particulière. L'avantage des convertisseurs parallèles ou flash est qu'ils sont simples à
construire et ne nécessitent aucune horloge de synchronisation car dès qu'une tension
analogique est appliquée aux entrées du comparateur, elle est comparée à une tension de
référence. Considérez le circuit comparateur ci-dessous.
Circuit comparateur
Un comparateur analogique tel que le LM339N qui possède deux entrées analogiques, une
positive et une négative, et qui peut être utilisé pour comparer les amplitudes de deux niveaux
de tension di érents.
Un signal d'entrée de tension (V IN ) est appliqué à une entrée du comparateur, tandis qu'une
tension de référence (V REF ) est appliquée à l'autre. Une comparaison des deux niveaux de
tension à l'entrée du comparateur est e ectuée pour déterminer l'état de sortie logique
numérique du comparateur, soit un « 1 » ou un « 0 ».
La tension de référence, V REF, est comparée à la tension d'entrée, V IN appliquée à l'autre
entrée. Pour un comparateur LM339, si la tension d'entrée est inférieure à la tension de
référence, (V IN < V REF ) la sortie est « OFF », et si elle est supérieure à la tension de référence,
(V IN > V REF ) la sortie sera « ON ». Ainsi, un comparateur compare deux niveaux de tension et
détermine lequel des deux est le plus élevé.
Dans notre exemple simple ci-dessus, V REF est obtenu à partir du réseau diviseur de tension
configuré par R 1 et R 2 . Si les deux résistances ont des valeurs égales, c'est-à-dire R 1 = R 2 ,
alors le niveau de tension de référence sera clairement égal à la moitié de la tension
d'alimentation, soit V/2. Ainsi, pour un comparateur avec une sortie à collecteur ouvert, si V IN
est inférieur à V/2, la sortie est HAUT, et si V IN est supérieur à V/2, la sortie est BASSE agissant
comme un CAN 1 bit.
Mais en ajoutant plus de résistances au réseau diviseur de tension, nous pouvons e ectivement
« diviser » la tension d’alimentation par une quantité déterminée par les résistances des
résistances. Cependant, plus nous utilisons de résistances dans le réseau diviseur de tension,
plus il faudra de comparateurs.
En général, 2 n – 1 comparateurs seraient nécessaires pour la conversion d'une sortie binaire « n
» bits, où « n » est généralement compris entre 8 et 16. Dans notre exemple ci-dessus, le CAN à
un seul bit utilisait 2 1 – 1, ce qui équivaut à un comparateur « 1 » pour déterminer si VIN était
supérieur ou inférieur à la tension de référence V/2.
Si nous créons maintenant un CAN 2 bits, nous aurons besoin de 2 2 – 1, soit « 3 »
comparateurs, car nous avons besoin de quatre niveaux de tension di érents correspondant
aux 4 valeurs numériques requises pour un circuit d'encodeur 4 à 2 bits comme indiqué.
Circuit convertisseur analogique-numérique 2 bits
Cela nous donnera un code de sortie de 2 bits pour les quatre valeurs possibles de l'entrée
analogique de :
Sortie convertisseur A/N 2 bits
Tension d'entrée analogique
(V IN ) Sorties du comparateur
Sorties numériques
D3 D2 D1 D0 Q1 Q0
0à1V 0 0 0 0 0 0
1à2V 0 0 1 X 0 1
2à3V 0 1 X X 1 0
3à4V 1 X X X 1 1
Où : « X » est une condition « sans importance », c'est-à-dire soit une condition logique « 0 », soit
une condition logique « 1 ».
Comment fonctionne ce convertisseur analogique-numérique ? Pour qu'un convertisseur A/N
soit utile, il doit produire une représentation numérique significative du signal d'entrée
analogique. Ici, dans cet exemple simple de convertisseur A/N à 2 bits, nous avons supposé
pour simplifier que la tension d'entrée V IN est comprise entre 0 et 4 volts, nous avons donc
défini V REF et le réseau diviseur de tension résistif pour faire chuter 1 volt sur chaque
résistance.
Lorsque la tension d'entrée, VIN est comprise entre 0 et 1 volt (<1 V), l'entrée sur les trois
comparateurs sera inférieure à leur tension de référence, donc leurs sorties seront FAIBLES et
l'encodeur générera une condition binaire zéro (00) sur les broches Q 0 et Q 1 .
Lorsque la tension V IN augmente au-dessus de 1 volt, mais est inférieure à 2 volts, (1 V < V IN <
2 V) le comparateur U1 qui a une entrée de tension de référence réglée à 1 volt, détectera cette
di érence de tension et produira une sortie HAUT. Le codeur prioritaire qui est utilisé comme
codage 4 à 2 bits détecte ce changement de tension d'entrée à D 1 et produit une sortie binaire
de « 1 » (01).
Notez qu'un encodeur de priorité tel que le TTL 74LS148 attribue un niveau de priorité à chaque
entrée individuelle. La sortie de l'encodeur de priorité correspond à l'entrée actuellement active
qui a la priorité la plus élevée.
Ainsi, lorsqu'une entrée avec une priorité plus élevée (D 1 par rapport à D 0 ) est présente,
toutes les autres entrées avec une priorité inférieure seront ignorées. S'il y a deux entrées ou
plus au niveau logique « 1 » en même temps, le code de sortie réel sur D 0 et D 1 correspondra
uniquement à l'entrée avec la priorité désignée la plus élevée.
Ainsi, lorsque la tension V IN dépasse 2 volts, le prochain niveau de tension de référence, le
comparateur U2 détecte le changement et produit une sortie HAUT. Mais comme l'entrée D 2 a
une priorité plus élevée que les entrées D 0 ou D 1 , le codeur de priorité génère un code binaire
« 2 » (10), et ainsi de suite lorsque la tension V IN dépasse 3 volts, produisant une sortie de code
binaire de « 3 » (11).
De toute évidence, lorsque VIN diminue ou change entre chaque niveau de tension de
référence, chaque comparateur génèrera soit une condition HAUTE soit une condition BASSE
vers l'encodeur qui à son tour produit un code binaire de 2 bits entre 00 et 11 par rapport à VIN .
Tout cela est bien beau, mais les codeurs prioritaires ne sont pas disponibles sous forme de
dispositifs 4 à 2 bits, et si nous utilisons un codeur disponible dans le commerce tel que le TTL
74LS148 ou son équivalent CMOS 4532 qui sont tous deux des dispositifs 8 bits, alors six des
bits binaires ne seraient pas utilisés. Mais un circuit de codeur simple peut être réalisé en
utilisant des portes EX-OR numériques et une matrice de diodes de signal comme illustré.
Convertisseur analogique-numérique 2 bits utilisant des diodes
Ici, les sorties des comparateurs sont codées à l'aide de portes OU exclusives avant d'être
transmises aux diodes. Deux résistances de rappel externes sont utilisées à leurs sorties et à la
masse (0 V) pour garantir un état BAS et empêcher les sorties de flotter lorsque les diodes sont
polarisées en inverse.
Comme pour le circuit précédent, la valeur de V IN détermine quel comparateur produit un
signal de sortie HAUT (ou BAS) vers les portes OU exclusif produisant une sortie HAUT si l'une
des entrées ou l'autre est HAUT, mais pas les deux (l'expression booléenne est Q = A.B + A.B ) .
Ces portes EX-OR pourraient également être construites en utilisant les portes logiques
combinatoires AND–OR–NAND.
Le problème ici avec les deux conceptions de convertisseurs 4 vers 2 est que la résolution de ce
simple convertisseur A/N 2 bits est de 1 volt car, comme nous l'avons vu, la tension d'entrée
analogique à V IN doit changer d'un volt complet pour que le codeur modifie son code de sortie.
Une façon d'améliorer la résolution de la sortie est de l'augmenter à un convertisseur A/N 3 bits
en utilisant plus de comparateurs.
Convertisseur analogique-numérique 3 bits
Le convertisseur analogique-numérique parallèle ci-dessus convertit la tension d'entrée
analogique dans la plage de 0 à plus de 3 volts pour produire un code binaire à 2 bits. Étant
donné qu'un système logique numérique à 3 bits peut générer 2 3 = 8 sorties numériques
di érentes, la tension d'entrée analogique peut donc être comparée à huit niveaux de tension
de référence, chaque niveau de tension étant égal à un huitième (V/8) de la tension de
référence.
Nous pourrions ainsi maintenant mesurer une résolution de 0,5 (4/8) volts et aurions besoin de
2 comparateurs 3 – 1 pour une sortie de code binaire 3 bits entre 000 (0) et 111 (7) comme
indiqué.
Circuit convertisseur analogique-numérique 3 bits
Cela nous donnera un code de sortie de 3 bits pour les huit valeurs possibles de l'entrée
analogique de :
Sortie convertisseur A/N 3 bits
Tension d'entrée analogique
(V IN ) Sorties du comparateur
Sorties numériques
D7 D6 D5 D4 D3 D2 D1 D0 Q2 Q1 Q0
0 à 0,5 V 0 0 0 0 0 0 0 0 0 0 0
0,5 à 1,0 V 0 0 0 0 0 0 1 X 0 0 1
1,0 à 1,5 V 0 0 0 0 0 1 X X 0 1 0
1,5 à 2,0 V 0 0 0 0 1 X X X 0 1 1
2,0 à 2,5 V 0 0 0 1 X X X X 1 0 0
2,5 à 3,0 V 0 0 1 X X X X X 1 0 1
3,0 à 3,5 V 0 1 X X X X X X 1 1 0
3,5 à 4,0 V 1 X X X X X X X 1 1 1
Là encore, « X » signifie « sans importance », c'est-à-dire soit une condition d'entrée logique « 0 »
soit une condition d'entrée logique « 1 ».
Nous pouvons alors voir qu'en augmentant la résolution de l'ADC, non seulement le nombre de
bits binaires de sortie augmente, mais également le nombre de comparateurs et de niveaux de
tension nécessaires.
Ainsi, une résolution de 4 bits nécessite 15 (2 4 – 1) comparateurs, une résolution de 8 bits
nécessite 255 (2 8 – 1) comparateurs, tandis qu'un convertisseur analogique-numérique de 10
bits nécessiterait 1023 comparateurs, etc. Ainsi, pour ce type de circuit de convertisseur
analogique-numérique , plus le nombre de bits de sortie requis est élevé, plus le circuit devient
complexe.
Cependant, l'avantage de ce type de convertisseur A/N parallèle ou flash est que son taux de
conversion en temps réel est relativement rapide et peut être facilement construit dans le cadre
d'un projet si seulement quelques bits binaires sont nécessaires pour produire une lecture sur
un écran numérique pour a icher la valeur de tension d'un signal d'entrée analogique.
En plus de prendre un signal d'entrée analogique provenant d'un capteur ou d'un transducteur
et de le convertir à l'aide d'un convertisseur analogique-numérique en un code binaire
numérique dans le cadre d'un circuit d'interface d'entrée, nous pouvons également prendre un
code binaire et le convertir en une quantité analogique équivalente à l'aide d'un convertisseur
numérique-analogique pour l'interface de sortie afin de contrôler un moteur ou un actionneur,
ou généralement dans les applications audio.
Dans le prochain tutoriel sur les circuits numériques, nous examinerons les convertisseurs
numérique-analogique , ou simplement DAC, qui sont l'exact opposé des convertisseurs
analogique-numérique examinés ici. Les DAC utilisent des amplificateurs opérationnels et des
réseaux diviseurs résistifs pour convertir un nombre binaire à « n » bits en une tension de sortie
analogique équivalente, ou un signal de courant.