Convertisseur Analogique-Numérique (CAN)
Le convertisseur Analogique-Numérique, ou CAN, est un convertisseur de données qui permet aux circuits numériques d’interfacer avec le monde réel en encodant un signal analogique en code binaire.
Le convertisseur Analogique-Numérique (CAN) permet aux circuits contrôlés par microprocesseur, aux Arduinos, aux Raspberry Pi et à d’autres circuits logiques numériques de communiquer avec le monde réel. Dans le monde réel, les signaux analogiques ont des valeurs changeantes en continu qui proviennent de diverses sources. Les capteurs qui peuvent mesurer le son, la lumière, la température ou le mouvement, etc., permettent aux circuits électroniques d’interagir avec leur environnement en mesurant les signaux analogiques provenant de tels transducteurs.
Alors que les signaux analogiques peuvent être continus et fournir un nombre infini de valeurs de tension différentes, les circuits électroniques numériques, en revanche, fonctionnent avec des signaux binaires qui n’ont que deux états discrets : un “1” logique (ÉLEVÉ) ou un “0” logique (BAISSE).
Il est donc nécessaire d’avoir un circuit électronique qui peut convertir entre ces deux domaines différents de signaux analogiques changeants en continu et de signaux numériques discrets, et c’est là qu’interviennent les convertisseurs Analogique-Numérique (CAN).
Fondamentalement, un convertisseur analogique-numérique prend une « photo » d’une tension analogique à un instant donné et produit un code de sortie numérique qui représente cette tension analogique. Le nombre de chiffres 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 CAN 4 bits aura une résolution d’une partie sur 15, (24 – 1), tandis qu’un CAN 8 bits aura une résolution d’une partie sur 255, (28 – 1). Ainsi, un convertisseur analogique-numérique prend un signal analogique continu inconnu et le convertit en un nombre binaire de « n » bits de 2n bits.
Signaux Analogiques et Numériques
Ici, nous pouvons voir que lorsque le curseur du potentiomètre est tourné entre 0 volts et VMAX, il produit une tension de sortie continue (ou signal). Cette tension de sortie aura un nombre infini de valeurs de sortie en fonction de la position physique du curseur.
A mesure que le curseur du potentiomètre est ajusté d’une position à une autre, il n’y a pas de changement soudain ou d’étape entre les deux niveaux de tension, produisant ainsi une sortie de tension variable de manière continue. Des exemples de signaux analogiques produits 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 interrupteur rotatif unique qui est connecté à chaque jonction de la chaîne de résistances de série. Cet agencement forme un réseau de diviseur de potentiel de base. Lorsque l’interrupteur est tourné d’une position (ou nœud) à l’autre, la tension de sortie, VOUT, change rapidement par étapes de tension discrètes représentant des multiples de 1.0 volts à chaque action de commutation, comme montré.
Ainsi, par exemple, la tension de sortie peut être de 2 volts, 3 volts, 5 volts, etc., mais PAS 2.5V, 3.1V ou 4.6V. Des niveaux de tension de sortie plus fins pourraient être facilement produits en utilisant un commutateur multi-positions et en augmentant le nombre d’éléments résistifs dans le réseau de diviseur de potentiel, augmentant ainsi le nombre d’étapes de commutation discrètes nécessaires.
En résumé, les principales différences entre un signal analogique et un signal numérique résident dans le fait qu’une quantité « analogique » change de manière continue dans le temps, tandis qu’une quantité « numérique » a des valeurs discrètes (étape par étape) de « BAS » à « ÉLEVÉ » ou vice versa.
Convertisseur Analogique-Numérique (CAN)
Le processus de conversion d’un signal de tension analogique en un signal numérique équivalent peut être réalisé de plusieurs manières différentes. Bien qu’il existe de nombreux circuits intégrés de convertisseurs analogique-numérique comme ceux de la série ADC08xx disponibles chez divers fabricants, il est possible de construire un simple CAN à l’aide de composants discrets.
Une méthode simple et facile est l’encodage parallèle, également connu sous le nom de convertisseurs flash, simultanés ou multiples comparateurs dans lesquels des comparateurs sont utilisés pour détecter différents niveaux de tension et transmettre leur état de commutation à un encodeur.
Les A/N de type « flash » utilisent une série de comparateurs interconnectés mais également espacés et des références de tension générées par un réseau de résistances de précision pour générer un code de sortie équivalent pour une résolution de n bits particulière.
L’avantage des convertisseurs parallèles ou flash est qu’ils sont simples à construire et ne nécessitent pas de signaux d’horloge ; au moment où une tension analogique est appliquée aux entrées des comparateurs, elle est immédiatement comparée à une tension de référence. Considérons le circuit comparateur ci-dessous.
Circuit Comparateur

Un comparateur analogique tel que le LM339N, qui a deux entrées analogiques, une positive et une négative, peut être utilisé pour comparer les magnitudes de deux niveaux de tension différents.
Un signal d’entrée de tension (VIN) est appliqué à une entrée du comparateur, tandis qu’une tension de référence (VREF) est appliquée à l’autre. On compare les deux niveaux de tension à l’entrée du comparateur pour déterminer l’état de sortie logique numérique du comparateur, soit un « 1 » soit un « 0 ».
La tension de référence, VREF, est comparée à la tension d’entrée, VIN, 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, (VIN < VREF), la sortie est « DÉSACTIVÉE », et si elle est supérieure à la tension de référence, (VIN > VREF), la sortie sera « ACTIVÉE ». Ainsi, un comparateur compare deux niveaux de tension et détermine lequel des deux est le plus élevé.
Dans notre exemple simple ci-dessus, VREF est obtenu à partir du réseau de diviseur de tension configuré par R1 et R2. Si les deux résistances sont égales, c’est-à-dire R1 = R2, alors évidemment le niveau de tension de référence sera égal à la moitié de la tension d’alimentation, ou V/2. Ainsi, pour un comparateur avec une sortie à collecteur ouvert, si VIN est inférieur à V/2, la sortie est ÉLEVÉE, et si VIN est supérieur à V/2, la sortie est FAIBLE, agissant alors comme un CAN à 1 bit.
Mais en ajoutant davantage de résistors dans le réseau de diviseur de tension, nous pouvons effectivement « diviser » la tension d’alimentation par un montant déterminé par les valeurs de résistance des résistors. Cependant, plus nous utilisons de résistors dans le réseau de diviseur de tension, plus il sera nécessaire d’avoir de comparateurs.
En général, 2n – 1 comparateurs seraient nécessaires pour convertir une sortie binaire à « n » bits, où « n » est typiquement compris entre 8 et 16. Dans notre exemple ci-dessus, le CAN à 1 bit n’utilisait que 21 – 1, c’est-à-dire « 1 » comparateur 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 22 – 1, soit « 3 » comparateurs, car nous avons besoin de quatre niveaux de tension différents correspondant aux 4 valeurs numériques requises pour un circuit encodeur de 4 à 2 bits, comme montré.
Circuit Convertisseur Analogique-Numérique 2-Bit
Ce qui nous donnera un code de sortie de 2 bits pour toutes les quatre valeurs possibles de l’entrée analogique :
Sortie du Convertisseur A/N 2-bits
Tension d’entrée (VIN) |
Sorties des Comparateurs | Sorties Numériques |
||||
D3 | D2 | D1 | D0 | Q1 | Q0 | |
0 à 1 V | 0 | 0 | 0 | 0 | 0 | 0 |
1 à 2 V | 0 | 0 | 1 | X | 0 | 1 |
2 à 3 V | 0 | 1 | X | X | 1 | 0 |
3 à 4 V | 1 | X | X | X | 1 | 1 |
Où : “X” est une condition « peu importe », c’est-à-dire soit une condition binaire « 0 » ou « 1 ».
Alors, 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 CAN à 2 bits, nous avons supposé pour simplifier que la tension d’entrée VIN est comprise entre 0 et 4 volts, donc nous avons configuré VREF et le réseau de résistances du diviseur de tension pour faire chuter 1 volt à travers chaque résistance.
Lorsque la tension d’entrée, VIN, est comprise entre 0 et 1 volt (<1V), l’entrée des trois comparateurs sera inférieure à leur tension de référence, donc leurs sorties seraient FAIBLES et l’encodeur produira une condition binaire zéro (00) sur les broches Q0 et Q1.
À mesure que VIN augmente au-delà de 1 volt, mais est inférieur à 2 volts, (1V<VIN<2V), le comparateur U1, qui a son entrée de référence réglée à 1 volt, détectera cette différence de tension, produisant une sortie ÉLEVÉE. L’encodeur prioritaire utilisé comme encodeur de 4 à 2 bits détecte ce changement de tension d’entrée sur D1 et produit une sortie binaire de « 1 » (01).
Notez qu’un encodeur prioritaire tel que le TTL 74LS148 attribue un niveau de priorité à chaque entrée individuelle. La sortie de l’encodeur prioritaire correspond à l’entrée actuellement active ayant la priorité la plus élevée.
Ainsi, lorsque nous avons une entrée avec une priorité plus élevée (D1 par rapport à D0), 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 D0 et D1 correspondra uniquement à l’entrée ayant la priorité la plus élevée.
Ainsi, à mesure que VIN dépasse 2 volts, le prochain niveau de tension de référence, le comparateur U2 détecte le changement et produit une sortie ÉLEVÉE. Mais comme l’entrée D2 a une priorité plus élevée que les entrées D0 ou D1, l’encodeur prioritaire produit un code binaire « 2 » (10), et ainsi de suite lorsque VIN dépasse 3 volts produisant un code de sortie binaire de « 3 » (11).
Clairement, à mesure que VIN diminue ou change entre chaque niveau de tension de référence, chaque comparateur produira soit une condition ÉLEVÉE soit FAIBLE pour l’encodeur, qui à son tour produira un code binaire de 2 bits entre 00 et 11 relatif à VIN.
C’est très bien, mais les encodeurs prioritaires ne sont pas disponibles sous forme de dispositifs 4 à 2 bits, et si nous utilisons un encodeur disponible dans le commerce tel que le TTL 74LS148 ou son équivalent CMOS 4532 qui sont tous deux des dispositifs de 8 bits, six des bits binaires ne seront pas utilisés. Mais un circuit encodeur simple peut être construit en utilisant des portes Ex-OR numériques et une matrice de diodes de signal comme illustré.
CAN 2 Bits Utilisant des Diodes
Ici, les sorties des comparateurs sont encodées à l’aide de portes exclusives-OU avant d’être envoyées aux diodes. Deux résistances de tirage externes sont utilisées à leurs sorties et à la terre (0V) pour garantir une condition FAIBLE et empêcher les sorties de flottement lorsque les diodes sont polarisées en inverse.
Ainsi, comme avec le circuit précédent, selon la valeur de VIN, cela détermine quel comparateur produit un signal de sortie ÉLEVÉ (ou FAIBLE) aux portes exclusives-OU produisant une sortie ÉLEVÉE si une ou l’autre entrée est ÉLEVÉE, mais pas les deux, (l’expression booléenne est Q = A.B + A.B). Ces portes Ex-OR pourraient également être construites en utilisant des portes logiques combinatoires AND–OR–NAND.
Le problème avec ces deux conceptions de convertisseurs 4 à 2, c’est que la résolution de ce simple CAN à 2 bits est de 1 volt car, comme nous l’avons vu, la tension d’entrée analogique à VIN doit changer d’un volt complet pour que l’encodeur change son code de sortie. Un moyen d’améliorer la résolution de la sortie est de l’augmenter à un CAN à 3 bits en utilisant plus de comparateurs.
Convertisseur Analogique-Numérique à 3 Bits
Le CAN parallèle ci-dessus convertit la tension analogique d’entrée dans une plage de 0 à plus de 3 volts pour produire un code binaire de 2 bits. Étant donné qu’un système logique numérique à 3 bits peut générer 23 = 8 sorties numériques différentes, la tension analogique d’entrée 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.
Ainsi, nous pourrions maintenant mesurer une résolution de 0.5 (4/8) volts et aurions besoin de 23– 1 comparateurs pour une sortie de code binaire à 3 bits entre 000 (0) et 111 (7), comme montré.
Circuit Convertisseur Analogique-Numérique à 3 Bits
Ce qui nous donnera un code de sortie de 3 bits pour toutes les huit valeurs possibles de l’entrée analogique :
Sortie du Convertisseur A/N 3-bits
Tension d’entrée (VIN) |
Sorties des Comparateurs | 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 |
Où encore “X” est une condition « peu importe », soit un état d’entrée logique « 0 » ou « 1 ».
Nous pouvons voir que, en augmentant la résolution du CAN, non seulement le nombre de bits binaires de sortie augmente, mais aussi le nombre de comparateurs et de niveaux de tension nécessaires augmente.
Ainsi, une résolution de 4 bits nécessite 15 (24 – 1) comparateurs, une résolution de 8 bits nécessite 255 (28 – 1) comparateurs, tandis qu’un convertisseur analogique-numérique de 10 bits nécessiterait 1023 comparateurs, etc. 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 qu’il peut être facilement construit dans le cadre d’un projet si seuls quelques bits binaires sont nécessaires pour produire une lecture sur un affichage numérique pour montrer la valeur de tension d’un signal d’entrée analogique.
En plus de prendre un signal d’entrée analogique 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 une interface de sortie pour contrôler un moteur ou un actionneur, ou couramment dans des 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 abordés ici. Les DAC utilisent des amplificateurs opérationnels et des réseaux de diviseur résistif pour convertir un nombre binaire de « n » bits en une tension de sortie analogique équivalente, ou un signal de courant.