Un convertisseur analogique numérique est un composant chargé de transformer une variation continue de tension en une série de valeurs codées.

 

Codage des valeurs

Les codages les plus souvent utilisés sont :

  • Le binaire naturel pour les  nombre non signés ;
  • Le complément à deux pour les nombres signés ;
  • Le code binaire signé.

 

Systèmes de numération 

Notation binaire :   c’est une écriture en base 2 (0, 1) ;

Notation décimale :    c’est une écriture en base 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) ;

Notation hexadécimale :    c’est une écriture en base 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).

 

Ces trois notations sont représentées par le tableau suivant:

 

Décimal  

Binaire    

Hexadécimal

0

0 0 0 0

0

1

0 0 0 1

1

2

0 0 1 0

2

3

0 0 1 1

3

4

0 1 0 0

4

5

0 1 0 1

5

6

0 1 1 0

6

7

0 1 1 1

7

8

1 0 0 0

8

9

1 0 0 1

9

10

1 0 1 0

A

11

1 0 1 1

B

12

1 1 0 0

C

13

1 1 0 1

D

14

1 1 1 0

E

15

1 1 1 1

F

 

 

Exemples de conversions

Binaire vers Décimale

Convertir le nombre binaire  1 1 0 1  en  nombre décimal :

1 1 0 1
x23 x22 x21 x20
MSB   LSB

 

LSB : bit de poids faible ;

MSB : bit de poids fort.

On a 1 1 0 1 = 1x23 + 1x22 + 0x21 + 1x20 = 13

 

Conversion Décimale vers Binaire

On peut procéder par divisions successives par deux et prendre les restes de la division en partant du dernier résultat, ou utiliser un tableau des puissances de deux.

Exemple: Convertir le nombre décimal 246 en nombre binaire:

Par divisions par 2:                                              246  = 1 1 1 1 0 1 1 0

 

On peut aussi utiliser le tableau suivant :

 

29

28

27

26

25

24

23

22

21

20

512

256

128 

64 

32 

16 

8  

4

2  

1   

 -  -

1

1

1

1

0

1

1

0

 

On peut constate selon ce tableau, que 246 = 128 + 64 + 32 + 16 + 4 + 2 ;  

Soit en binaire  246 = 1 1 1 1 0 1 1 0.

Conversion Binaire vers Hexadécimal

Convertir  le nombre binaire  1 1 1 1 0 1 0 1  en hexadécimal.

On divise le nombre par groupe de 4 éléments, puis à l’aide du « tableau 1 »,  on effectue la conversion.

 

1 1 1 1 0 1 0 1
F 5

1 1 1 1 0 1 0 1 = F5 en hexadécimal.

 

Conversion Hexadécimal vers Binaire

Convertir le nombre hexadécimal  C4  en binaire.

On effectue l’opération inverse de l’exemple précédent.

 

C 4
1 1 0 0 0 1 0 0

 

 C4  =  1 1 0 0 0 1 0 0 en binaire.

Conversion Hexadécimal  vers Décimal

Convertir le nombre hexadécimal  2BE  en décimal

 

2 (= 2 en décimal) B (= 13 en décimal) E (= 14 en décimal)

X 162

X 161

X 160

512

208

14

 

 2BE = 2x162 + 13x161 + 14x160 = 512 + 208 + 14 = 734

Conversion Décimal vers Hexadécimal

Convertir le nombre décimal 1618 en hexadécimal.

On procède par division successives par 16 (comme pour le cas de la conversion en binaire par 2), puis on prend les restes des divisions à partir du dernier reste.

On trouve après conversion  1618 = 652 en hexadécimal.

 

Conversion Analogique – Numérique

Symbole d’un CAN n bits :

can1

 

Pour convertir un signal analogique en un signal numérique, trois étapes sont nécessaires :

Etape 1 : Le conditionnement

On peut dire que c’est une remise en forme du signal

graphvin

 

Etape 2 : L’échantillonnage

Cette opération a pour but de laisser le temps aux circuits logiques du convertisseur d’exécuter la tâche qui leur est destinée.

graphvinech

 

Etape 3 : le codage

On associe une valeur analogique de chaque échantillon à un code binaire

 

graphvinquant

 

Opération de quantification

Elle qui consiste à associer une valeur analogique à la plus petite variation mesurable entre deux valeurs codées distinctes en sortie. Cette valeur est appelée le quantum q.

La relation permettant de calculer q pour un CAN unipolaire est : 

\[q = \frac{V_{PE}}{2^n}\]

q: le quantum en Volts (q = 1.LSB Least Significant Bit);

VPE : tension pleine échelle en V (FSR Full Scale Range);

n : nombre de bits du convertisseur.

 

Exemples de caractéristiques de transfert pour un CAN 3 bits  (Sortie  S = f(Ve))

 

Cas d’un CAN unipolaire :

Celui-ci ne converti que des valeurs positives de tension ; autrement dit il ne traite que des nombres non signés.

 

graphcanunipolaire

Cas d’un CAN bipolaire :

Celui-ci converti des tensions positives et négatives ; autrement dit il traite des nombres signés. Ainsi deux cas de codages peuvent être utilisés : le codage par complément à deux ou le codage binaire signé.

Codage binaire signé

graphcanbipol3

 

Codage par complément à deux :

On rappelle que le complément à deux est égal au complément à un plus un.

Exemple :  calculer le complément à deux de  0 0 1

Complément à un de 0 0 1 =  1 1 0 ;

Complément à un + 1 = 1 1 0 + 1 =  1 1 1 ; le complément à deux = 1 1 1.

graphcanbipol2

 

A titre d’exemple, le tableau ci-après donne les formats de codages pour divers types de CAN à 8 bits

 

Nature du code

Binaire pur

Binaire signé

Complément à deux

Binaire

Valeur décimale

Valeur décimale

Valeur décimale

11111111

256

127

-1

11000000

192

64

-64

10000000

128

0

-128

01111111

127

-1

127

01000000

64

-64

64

00000000

0

-128

0

 

Exemple de valeurs de quantum en fonction de la tension d’entrée pleine échelle et du nombre bits du CAN,  proposés par un fabricant

   

VPE

   

1,024V

1,25V

2,048V

2,5V

Résolution

8 bits

4mV

4,88mV

8mV

9,76mV

10 bits

1mV

1,22mV

2mV

2,44mV

12 bits

250μV

305μV

500μV

610μV

14 bits

52,5μV

76,3μV

125μV

152,5μV

16 bits

15,6μV

19,1μV

31,2μV

38,14μV

18 bits

3,91μV

4,77μV

7,81μV

9,53μV

20 bits

0,98μV

1,19μV

1,95μV

2,384μV

22 bits

244nV

299nV

488nV

596nV

24 bits

61nV

74,5nV

122nV

149nV

 

 

   

VPE

   

3V

3,3V

4,096V

5V

Résolution

8 bits

11,7mV

12,9mV

16mV

19,5mV

10 bits

2,93mV

3,222mV

4mV

4,882mV

12 bits

732μV

806μV

1mV

1,221mV

14 bits

183μV

201μV

250μV

305μV

16 bits

45,77μV

50,35μV

62,5μV

76,29μV

18 bits

11,44μV

12,58μV

15,6μV

19,07μV

20 bits

2,861μV

3,147μV

3,91μV

4,768μV

22 bits

715nV

787nV

976nV

1,192uV

24 bits

179nV

196nV

244nV

298nV

 

 

Caractéristiques des CAN

Erreur de quantification:

C'est l'erreur introduite par le processus de quantification. Selon la figure ci-après

erreurquantcan

 

C'est la différence entre la valeur du signal échantillonné et la valeur analogique d'entrée correspondant au code en sortie. L'erreur de quantification est exprimée en LSB. Elle est comprise entre -1/2LSB et +1/2LSB.

Plus la résolution du CAN est élevée, plus cette erreur est faible.

Erreur de gain

C'est l'écart entre la caractéristique réelle et la caractéristique idéale du CAN

erreurgaincan

 

Erreur d'offset

C'est le décalage de la caractéristique de transfert du CAN par rapport à l'axe horizontal

erreuroffsetcan

 

Erreur de non linéarité différentielle (DNL) et Erreur de non linéarité intégrale (INL)

L'erreur de DNL c'est l'écart ebntre la dimension réelle d'un palier de la caractéristique réelle et la diension idéale qui est 1LSB.

erreurinlcan

\[DNL(k) = \frac{(V_{k+1} - V_k) - q}{q}\];

Vk : échantillon k de la tension de sortie;

q : quantum.

 

L'erreur d' INL est une représentation cummulative des DNL, elle représente l'écart entre le centre d'un palier et la droite de transfert idéale

\[INL = \sum {DNL}\].

 

Autres caractéristiques:

Le rapport signal à bruit

L'opération de quantification, pourtant utile, introduit toujours (sauf cas particuliers) une erreur ε(t), appelée bruit de quantification. La valeur efficace de ce bruit est

\[\frac{1LSB}{\sqrt{12}}\].

Si

\[Valeur\; efficace\, max\; du\; signal\; = 2\frac{V_{PE}}{\sqrt{2}}\];

Et

\[Valeur\; efficace\; du\; bruit\; de\; quantification\; = \frac{1LSB}{\sqrt{12}}\];

Rapport signal à bruit (SNR), c'est à dire du signal utile par le bruit de quantification sera

\[SNR = \frac{Valeur\; efficace\, max\; du\; signal}{Valeur\; efficace\; du\; bruit\; de\; quantification}\];

Soit

\[SNR = 2^{(N-1)}\sqrt{6}\].

En dB, on a

\[SNR = 6,02N + 1,76\].

 

Le SINAD (SIgnal to Noise ratio And Distortion)

C'est le rapport signal à bruit avec distorsion.

\[SINAD_{dB} = 20\,log\,(\frac{Puissance_{signal}}{P_{bruit} + distorsion})\].

 

ENOB (Effective Numbre of Bit)

Ou encore le nombre de bits effectif.  C'est le nombre de bits du CAN idéal qui donnerai le même SINAD que le CAN réel.

\[SINAD = 6,02×ENOB + 1,76\]

En dB.

Soit

\[ENOB = \frac{SINAD - 1,76}{6,02}\].

 

Taux de distorsion harmonique (THD)

Ce paramètre est représenté sous forme spectrale. Il peut être exprimé en % ou en dB.

\[THD(en\; pourcent) = \frac{Valeur\; efficace\; de\; la\; distortion}{Valeur\; efficace\; du\; signal} × 100 = \frac{\sqrt{V_2 ^2 + V_3 ^2 + .. +V_n ^2}}{V_1}\]

 

\[THD(dB) = 20\,log\,(\frac{Valeur\; efficace\; de\; la\; distortion}{Valeur\; efficace\; du\; signal})\]

 

V1 étant le fondamental;

V2, V3, ... Vn les harmoniques du signal.

 

vrmscan

 

 

Familles de Convertisseurs Analogiques Numériques

Parmi de très nombreux procédés de conversion possibles, nous retenons :

  • Les convertisseurs parallèles ;
  • Les convertisseurs à approximation successives ;
  • Les convertisseurs à comptage d’impulsions.

Il en existe d'autres.

 

CAN  Parallèle

Ou encore appelés convertisseurs « flash ». Le principe de ce convertisseur consiste à comparer la tension d'entrée Vin  à n tensions de références simultanément.

canparallele2

 

La figure ci-dessus présente l’exemple d’un CAN à trois bits capable de coder huit nombres. Ce montage utilise sept comparateurs, et les tensions de référence sont réalisées à l’aide des diviseurs de tensions à résistance. En tout on a 23 résistances.

On pose

\[V_{LSB} = \frac{V_{REF}}{7}\]

On suppose par exemple que la tension Vin est telle que \(\frac{5}{2}V_{LSB}\) < Vin < \(\frac{7}{2}V_{LSB}\),  les sorties des comparateurs C1, C2, C3 passent à 1, les autres comparateurs ont leurs sorties à 0. Un système logique se charge de décoder ces états pour obtenir le nombre 3. Ce système logique peut être construit autour d’une batterie de bascules et d’encodeur de priorité.

 

Les CAN parallèles sont rapides, car la durée de conversion n’est limité que par le temps de propagation à travers les comparateurs et les circuits logiques.

Cependant, pour un convertisseur n bits on aura besoin de 2n – 1 comparateurs !

A titre d'exemple pour un convertisseur 8 bits, on aura besoin de 255 comparateurs.

Ce nombre élevé de comparateurs restreint naturellement le nombre de bits en sortie et par conséquent la résolution. Leur coût de fabrication est élevé; de plus ils consomment plus d'énergie.

Ils sont utilisés plus souvent dans des applications faible résolution; hautes fréquences telles que l'acquisition de données; les communications par satellite; les oscilloscopes numériques...

 

CAN à Approximations Successives

Ce type de convertisseur est décrit par le schéma ci-après

canapprox1

 

Ce montage est essentiellement bâti autour d'un comparateur, un registre à approximations successives, et un convertisseur numérique analogique.

 

La tension à convertir Vin peut se lettre sous la forme :

                                              Vin = q (b1.2n-1 + b2.2n-2 + …. + bn.20) ;

q: le quantum.

 

Au début de la conversion, le registre positionne tous les bits à 0, sauf le bit b1 (le MSB ou bit de poids fort).  Le CNA  délivre alors une tension VDAC égale à Vref/2. Cette tension est ensuite comparée à Vin; si VDAC est inférieure à VIN, la valeur binaire du MSB reste à 1, ensuite le régistre positionne à 1 les bits suivants; si VDAC devient supérieure à Vin, le registre positionne ses sorties à la valeur binaire immédiatement inférieure puis une nouvelle comparaison est effectuée; ce cycle se poursuit jusqu’au bit de poids faible (LSB). La valeur binaire à la fin de la conversion se rapproche ainsi de celle de la tension d’entrée.

Le graphe ci-après illustre ce fonctionnement pour un convertisseur 3 bits

graphcanapproxim

 

Bien souvent il est utile d’associer le CAN à un échantillonneur bloqueur, l’ensemble étant piloté par des signaux de commande spécifiques. Du fait de la présence de l’échantillonneur, l’emploi d’un filtre  est nécessaire ; ce qui au final donne le montage ci-après :

 

canapprox2

 

Avec une durée de conversion de l’ordre de dizaines de microsecondes, cette famille de CAN est rapide et peu coûteuse.

De plus ils sont moins gourmands en énergie, et ont un faible encombrement. Ce qui les prédestine aux systèmes à autonomie d'énergie, au contrôle industriel, aux systèmes d'acquisition de données...

 

Exemple de réalisations industrielle: MAX1116 de MAXIM.

 

Convertisseurs à Comptage d’impulsions

Ce type de convertisseur nécessite peu de composants mais offre une très bonne précision. Toutefois le temps de conversion est considérablement plus long que les deux familles précédentes.

Les CAN à comptage d’impulsions les plus répandus sont :

  • Les convertisseurs Simple Rampe ;
  • Les convertisseurs Double Rampe ;
  • Les convertisseurs Triple Rampe ;
  • Les convertisseurs Quadruple Rampe ;
  • Les convertisseurs Tension - Fréquence.

 

Pour cette famille de convertisseurs, on ne parlera que des convertisseurs Simple Rampe, des convertisseurs Double Rampe et des convertisseurs Triple Rampe.

 

Convertisseurs Simple Rampe

Le principe consiste à comparer une rampe de tension à la tension 0 et à la tension à mesurer Vin. L’intervalle de temps t1 – t0 est proportionnel à Vin.

Le nombre d’impulsions délivrées par une horloge et comptées pendant cet intervalle de temps fournit la valeur de Vin.

Ce type de convertisseur est illustré par le schéma suivant pour le cas où Vin > 0

cansimpleramp

 

L’évolution dans le temps, des tensions de sortie du comparateur et de l’intégrateur est donnée par la figure suivante :

graphcansimpleramp

 

Supposons qu’on veut convertir une tension Vin > 0.

La rampe de tension Vs fournie par l’intégrateur est comparée directement à Vin. Cette rampe est générée au moment du déclenchement de la mesure, à l’instant t = t0 ;  Vs étant inférieure à Vin, la sortie du comparateur est égale à zéro ; l’entrée Cpt est active, le compteur au rythme des impulsions d’horloge sur CLK.

Lorsque Vs atteint le niveau de Vin, la sortie du comparateur passe à un. L’entrée Cpt devient inactive et le compteur s’arrête. Le front montant dû au passage de la sortie du comparateur de l’état zéro vers l’état un,  permet au registre (REG), de transférer l’état du compteur vers la sortie des données binaires. Pendant ce temps le transistor à effet champ conduit et décharge le condensateur.

                                           Vs = \(\frac{V_{ref}}{RC}(t1 – t0)\) ; 

Le nombre d’impulsions N de période T compté, pendant l’intervalle de temps t1 – t0, est proportionnel à Vin :

                                          Vin  = \(\frac{V_{ref}}{rc}TN\).

Dans le cas où Vin a une polarité quelconque, le montage étudié auparavant n’est plus valable.

 

Convertisseur Double – Rampe

 

Le schéma bloc ci-après illustre son fonctionnement

candoubleramp

Au départ à l’instant t0, la tension Vin à convertir est appliquée à l’entrée du générateur de rampe ; grâce à la logique de commande. Le générateur de rampe intègre cette tension pendant un intervalle de temps t1 -  t0, un compteur mesure cet intervalle de temps, soit N1 périodes T d’horloge (première rampe).

On obtient :

\[\frac{V_{in}}{RC}N_1T\]

Ensuite la logique de commande commute la tension de référence Vref de polarité opposée à Vin, sur l’entrée de l’intégrateur.

La tension de sortie de l’intégrateur décroît linéairement jusqu’à s’annuler (deuxième rampe) ; le compteur compte la durée de cette décroissance, soit N2 périodes T d’horloge.

On obtient :

\[\frac{V_{ref}}{RC}N_2T\]

On peut alors écrire :

\[\frac{V_{in}}{RC}N_1 T = \frac{V_{ref}}{RC}N_2 T\]

Ce qui donne

\[V_{in} = \frac{V_{ref}}{N_1} N_2\].

 

Le graphique ci-après illustre ce fonctionnement

graphcandoubleramp

 

Convertisseur Triple - Rampe

La première étape du convertisseur double rampe est conservée. L'étape suivante comprend deux phases, comme l'indique la figure ci-après

graphetriplerampe

 

Dans la première phase, on a une décharge très rapide à partir de t1 jusqu'à une tension de seuil V1 faible de l'ordre de 100mV par exemple.

Cette décharge rapide sera obtenue en substituant la résistance R par une autre résistance R' = R/100, pour obtenir une décharge 100 fois plus rapide.

On appelle N2, le nombre de périodes d'horloge compté pendant cette décharge, pour Vs - V1 on obtient

\[\frac{V_{ref}}{RC}100 N_2 T\]

 

Dans la deuxième phase, lorsque la sortie de l'intégrateur atteint V1, un circuit logique substitue R' par R. Cette phase est courte car V1 est faible.

Soit N3, le nombre de périodes d'horloge comptées durant cette phase (cette phase s'arrête quand la tension de sortie de l'intégrateur Vs = 0), on a

\[Vs = \frac{V_{ref}}{RC} N_3 T\]

Ainsi en faisant le bilan de la première étape et des deux phases de la deuxième étape on obtient

\[\frac{V_{in}}{RC} N_1 T = \frac{V_{ref}}{RC} 100 N_2 T + \frac{V_{ref}}{RC} N_3 T\]

soit

\[V_in = \frac{V_{ref}}{N_1}(100 N_2 + N_3)\]

 

Dans la deuxième phase on notera que la décharge est ralentie pour permettre un comptage plus précis des dernières impulsions.

On remarque que, la tension Vin ne dépend pas du produit RC. Ce qui a pour conséquence d’accroître la précision. De pus l’instabilité à long terme de l’horloge est sans influence sur la mesure. Bien que le temps de conversion soit assez long, ce type de conversion peut être utilisé dans la conception des voltmètres numériques.

Exemple de performances rencontrées : précision > 10-4 ; résolution 1uV, linéarité 0,005% de la pleine échelle ; stabilité d’étalonnage quelques ppm/C ; impédance d’entrée de l’ordre du Giga ohm ; taux de rejection de mode commun 150dB en continu, 100dB en alternatif.

 

Parmi les types de convertisseurs à comptage d’impulsions, on peut citer aussi le convertisseur Quadruple – Rampe, et le convertisseur tension fréquence.

Le convertisseur Quadruple - Rampe est un CAN doubble rampe auquel on a ajouté deux phases supplémentaires pour compenser les erreurs de décalage.

Le convertisseur Tension - Fréquence quant à lui converti une tension d'entrée Vin en un signal périodique de fréquence proportionnelle à Vin.