Premiers CAN
basés sur un oscilloscope
Electronique
Root » Serveurs » Electro-ménager » Historique » Convertisseur analogique - numérique
Les premiers convertisseurs analogique - numérique (CAN) étaient basés sur l'utilisantion d'un oscilloscope spécial.
-

-

Le convertisseur est basé sur un écran d'oscilloscope adapté. L'oscilloscope est l'ancètre de la télévision à écran cathodique: un canon projette un rayon concentré sur un écran, qui est alors illuminé à cet endroit. En déplaçant rapidement le faisceau, on peut écrire des images sur tout l'écran, c'est ainsi que fonctionne la télévision. L'intensité lumineuse d'un point est déterminée par l'intensité du rayon cathodique à ce moment donné. L'intensité lumineuse dépend de la tension sur le tube, et donc de la valeur du signal vidéo à ce moment. Dans un écran d'oscilloscope, on indique la modulation du point lumineux la modulation Z par analogie avec la modulation X et Y (traces horizontales et verticales).

Il existait déjà à la même époque des convertisseurs analogiques-numériques mais ils étaient de type à conversion à double rampe, trop lents pour les applications de l'époque.


Convertisseur parallèle

Dans un convertisseur, le signal est envoyé sur les plaques de déflection verticales du tube. Au lieu d'avoir un écran phosphorescent, il y a de petites cibles qui reçoivent le flot d'électrons. Il n'y a pas de modulation Z, sauf pour éventuellement interrompre le rayon entre deux conversions. Ce premier convertisseur analogique - numérique a été mis au point à la fin de la seconde guerre mondiale.

Ce sont des systèmes qui peuvent travailler à haute vitesse: une vitesse d'échantillonage de 10MHz pouvait facilement être atteinte, alors que les ordinateurs de l'époque étaient limités à une vitesse d'horloge inférieure à 1MHz. Même dans les années 1950 et 1960, le convertisseur était plus rapide que l'électronique en aval.

La première version est montrée par le premier dessin. Le flux d'électrons n'est pas concentré horizontalement (il forme un trait horizontal qui monte et qui descend selon l'amplitude du signal à encoder). Le convertisseur montré à droite permet une résolution de 16 niveaux (le tube d'échantillonage a 16 sorties), le nombre de niveaux dépend du nombre de cibles. A la sortie, il y a une ligne qui reçoit un signal.


Mesure sérielle

Mais entretemps, les ordinateurs travaillent avec une notation binaire avec des bits dont le poids suit une progression 1 - 2 - 4 - 8 - 16 - ... Le convertisseur doit donc suivre l'évolution technologique. Le second système produit un code binaire sériel (il n'y a qu'une sortie).


Principe de la grille de codage
La cible qui est frappée par les électrons est maintenant une grille perforée et derrière se trouve une anode qui récolte les électrons qui traversent la grille de codage. L'anode est maintenue à une tension positive via une résistance de valeur élevée. Chaque fois que des électrons frappent l'anode, il se produit une chute de tension aux bornes de la résistance et la tension diminue. Un "1" est donc codé par un pic de tension négatif.

En plus de la déflection verticale (Y) qui représente la tension à numériser, nous avons une déflection horizontale qui va de gauche à droite (a à b). La fréquence est de l'ordre de 10MHz pour donner un ordre d'idée. Pendant le retour, le spot est bloqué (blanking).

Si la tension à numériser est très basse, mettons 0V, le spot va tracer la ligne inférieure et à la lecture nous avons 0000. Pour une tension de 11V, le code sériel est 1101. Le bit de poids le plus faible est transmis en premier.


Grille de codage en pratique
(face avant de l'oscilloscope)



A gauche une photo d'une grille de codage et une représentation des signaux sur le tube de numérisation. Le trait vert est tracé par le rayon cathodique. La position en hauteur du trait est déterminée par la tension à numériser. Le trait est dessiné par une déflection horizontale très rapide du faisceau d'électrons (de gauche à droite) par un signal en dents de scie.

L'image suivante montre trois signaux: le signal d'horloge qui produit un retour à la ligne et l'extinction du spot, le signal de déflection horizontal et le signal mesuré à l'anode. Le signal de déflection vertical est le signal à numériser.

Ce code sériel peut être utilisé directement dans les ordinateurs de l'époque après transformation sérielle - parallèle.



Frank Gray a déposé un brevet pour son invention en 1947. On connait ce nom à cause du Code Gray (qui n'a pas été inventé par lui), mais Gray est à la base de nombreuses inventions concernant la télévision et les télécommunications. La sortie n'est pas une valeur binaire, mais un code Gray. On vous explique plus loin pourquoi.


Problèmes avec notre convertisseur

Notre code binaire classique a un problème de taille, qui est le plus apparent quand la tension se situe entre 7 et 8V (voir grille ci-dessus): lors de la numérisation, le résultat peut avoir une valeur entre 0000 et 1111 (et toutes les valeurs intermédiaires). La situation est même plus grave qu'il n'y parait: one ne peut se fier à aucune valeur que le convertisseur fournit, car c'est soit la valeur exacte, soit une valeur qui se situe entre 7 et 8.

Le problème peut être résolu de deux manières différentes:

  • l'ajout d'une grille horizontale (solution hardware)
  • l'utilisation du code de Gray (solution logicielle)
Ces deux méthodes seront expliquées plus loin au fil de l'article.


Solution matérielle (harware)

Une version plus moderne du tube de numérisation a une grille horizontale et un collecteur d'électrons. La grille horizontale est a une tension légèrement négative et dirige le flot d'électrons pour qu'il forme un trait bien horizontal (son fonctionnement est un peu identique au masque des téléviseurs couleurs).

Une tension de servo commande est prélevée de cette grille et sert à asservir l'amplificateur vertical pour que la déflection du spot soit parfaitement horizontale. Dans certaines versions, la tension d'asservissement est prélevée du collecteur, mais le fonctionnement est identique.

La correction de l'erreur de numérisation dépend de ce qu'on veut faire du signal numérique:

  • Pour une utilisation dans un ordinateur, on préfère un signal binaire classique (qui ne nécessite qu'une conversion série-parallèle). On peut ainsi se passer de la conversion du code de Gray (qui ne permet pas des opérations numériques) en code binaire, mais il faut utiliser un asservissement du spot et un tube avec grille horizontale. Les ordinateurs de l'époque n'étaient pas en mesure de transformer rapidement un nombre en code Gray en code binaire.

  • Pour une transmission du signal à grande distance on utilise le code de Gray car le signal numérique n'est pas utilisé dans un ordinateur. La numérisation du signal permet de mieux assurer l'intégrité du signal (communication par satellite). Pour la transmission d'un programme de télévision à un autre continent on transformait le signal analogique en signal numérique qui était moins sensible aux perturbations. Les communications téléphoniques étaient groupées et également transformée en signal numérique.

Le convertisseur se compose ainsi des éléments suivants:


Convertisseur analogique numérique avec correction hardware

Partie balayage:

  • Un circuit sample and hold qui bloque la valeur pendant la durée de l'acquisition: il ne faut pas que le rayon monte ou descende pendant la mesure. Tous les convertisseurs actuels ont un circuit sample and hold sous une forme ou une autre.

  • Un amplificateur vertical pour dévier le faisceau d'électrons. Cet amplificateur est présent sur toutes les versions, mais reçoit ici différents signaux de correction.

  • Le canon à électrons avec ses électrodes pour concentrer le rayon et éventuellement le couper entre deux numérisations (blanking). Le rayon est ici concentré aussi bien verticalement qu'horizontalement et forme un point sur la cible.

  • Nous avons ensuite les plaques de déflection verticales qui font dévier le rayon vers le haut ou vers le bas selon l'amplitude du signal à numériser.

  • Les plaques de déflection horizontales font dévier le rayon vers la gauche et la droite. Il s'agit d'un signal en dent de scie, avec une augmentation progressive et constante de la tension pendant l'échantillonage et un retour à zéro rapide après l'échantillonage.
Partie échantillonage, de droite à gauche:
  • L'anode réceptrice reçoit le flux d'électron s'il passe à travers la grille. L'anode est maintenue à une tension positive via une résistance de valeur élevée pour attirer les électrons. Quand la cible reçoit des électrons, il se développe un courant aux bornes de la résistance et la tension devient moins positive.

  • L'aperture plate est la plaque qui effectue le codage, c'est la partie la plus importante du système. Quand le rayon frappe cette plaque dans un mouvement de gauche à droite, la hauteur du faisceau (et donc la tension à numériser) est codée en un format de x bits. Le codage est sériel, avec le bit de poids le plus faible en premier.

  • La grille de quantification permet d'éviter les erreurs de lecture. Cette grille contient 129 fils tendus horizontalement (pour une valeur à 7 bits). Son fonctionnement détaille est expliqué plus bas.

  • Le collecteur est un cadre situé à l'extérieur de la grille de quantification. Il récolte les électrons de l'émission secondaire de la grille.


Elimination des erreurs de lecture (solution matérielle)

Le rayon est suffisamment concentré pour qu'il ne frappe qu'une seule ligne de quantification. Mais l'influence du champ magnétique et les tolérances de la fabrication font que le faisceau n'est pas parfaitement horizontal. Le faisceau peut frapper une ligne au début et puis passer à une autre ligne pendant le balayage.

Nous renvoyons le lecteur à la figure située plus haut 'Convertisseur analogique numérique avec correction hardware' pour les explications qui suivent.

L'amplificateur vertical reçoit un léger signal (quantizing bias) issu de la déflection horizontale qui fait se dévier légèrement le point vers le haut pendant le scan horizontal. Quand le faisceau frappe la grille de quantification il y a une émission secondaire qui est récoltée par le collecteur. Ce signal sert à corriger la déflection verticale vers le bas, pour que tout au long du parcours du spot, il suive une même ligne.

Sur le photo de la grille de codage, on voit que la partie à gauche n'est pas utilisée: elle sert à stabiliser le spot sur une ligne (lock on H line).

A gauche, un tube de numérisation réel. Le système de déflection est identique à celui d'un oscilloscope.

A droite sur l'image on voit le collecteur (il a la forme d'un cadre), suivi de la grille horizontale et à courte distance la grille de codage. La dernière électrode est l'anode.


Interlude: la mesure parallèle

Le système parallèle qui a été utilisé en premier est toujours utilisé, mais maintenant avec des bits de poids différents (le signal est fourni sous forme numérique codée en binaire). L'exemple montre un convertisseur à 9 bits parallèle (512 niveaux de résolution). Le bit avec le poids le plus faible se trouve au milieu pour réduire les erreurs à la lecture (le spot est mieux concentré au milieur de l'écran).

La déflection horizontale est supprimée et le faisceau forme un trait horizontal. Il n'y a plus de grille de correction, on se base sur une version du code de Gray pour éliminer les erreurs.



Il y a 9 anodes verticales placées derrière les fentes. Quand le rayon traverse la fente, le fil correspondant reçoit le flot d'électrons. Il est important de noter qu'il n'y a pas de déflection horizontale, les électrons passent simultanément à travers les fentes. Cela permet de numériser plus rapidement la valeur.

Ce dernier type de convertisseur permet de travailler à une vitesse très élevée (fréquence d'horloge de 12MHz, limitée par l'électronique en aval) car il n'y a plus de déflection horizontale nécessaire (les bits sont produits simultanément).

Ce système parallèle était utilisé pour numériser des signaux téléphoniques multiplexés (la norme DS-1 ou T1 permettant de transmettre simultanément 24 communications téléphoniques ou un canal vidéo). Pour une transmission fiable à longue distance, le signal multiplex analogique doit être numérisé. C'est la compagnie téléphonique Bell qui est à l'origine de cette numérisation par tube spécialisé. Le signal parallèle était mis en forme et transformé en signal sériel pour une transmission par cable coaxial ou par satellite.

Le signal sur l'anode étant très faible (le pic fait généralement moins de 100µA), certains tubes convertisseurs était équipés d'anodes en forme de multiplicateur à émission secondaire. Les électrons frappant la première anode libèrent de nombreux électrons, qui sont attirés par la seconde anode et ainsi de suite. Chaque anode suivante se trouve à une tension de 150V plus élevée par rapport à l'anode précédente.

Ces différents circuits ont été développés par Frank Gray, un chercheur qui est à la base des systèmes de télévision américains (théorie du balayage, flying spot scanner,...). Il est plus connu pour le code binaire réfléchi (reflected binary code) qu'il a développé et qui maintenant porte son nom.


Solution logicielle aux erreurs de lecture: le code de Gray

Le codage (tube de conversion parallèle ou tube à sortie série sans asservissement) n'est pas un codage binaire classique dont les valeurs sont 000, 001, 010, 011, 100, 101, 110 et 111 mais un codage de Gray. Dans ce code, la différence entre deux valeurs consécutives est toujours représentée par le saut d'un seul bit (distance de Hamming = 1). Dans le cas d'un codage binaire classique, les sauts de Hamming (nombres de bits qui changent) sont les suivants:
000 [1] 001 [2] 010 [1] 011 [3] 100 [1] 101 [2] 110 [1] 111.

Je ne vais pas entrer dans les détails, mais ce code permet d'élimimer les erreurs à la lecture.

Il n'a pas un seul code de Gray, mais plusieurs codes. Le code binaire réfléchi est construit de telle manière que le passage de la valeur binaire la plus élevée à la valeur la plus basse produit également une modification d'un seul bit. Ce code n'est pas nécessaire dans notre exemple, mais peut par exemple être utilisé sur un encodeur rotatif. Les codes montrés ici sont des codes réfléchis.

L'exemple à 4 bits montre ce qui peut se produire dans une situation extrème où les 4 bits changent simultanément et le rayon frappe la cible entre deux valeurs. La valeur qui est effectivement lue peut prendre n'importe quelle valeur de 0000 à 1111: la valeur qui est lue n'est pas définie, alors que la valeur analogique se situe entre 7 et 8.

Avec un système de Gray, la numérisation ne peut produire qu'une valeur 7 (codée 0010) ou 8 (codée 0011). La marge d'erreur est donc réduite à l'erreur de numérisation. Ce système est actuellement encore utilisé dans de nombreux domaines.

Dans le code de Gray, il n'est pas possible de déterminer le poids d'un bit et il est impossible de faire des calculs avec ce code. De plus, il n'existe pas un seul code de Gray, mais plusieurs codes sont possibles.

Le code est dit "réfléchi" (reflected) can il peut être construit récursivement pour un nombre de bits donné en partant de deux bits qui sont étendus:
00 01 11 10 deux bits de base
10 11 01 00 réflection
000 001 011 010 110 111 101 100 ajout d'un 0 ou d'un 1 et concaténation
Nous avons maintenant un code à 3 bits et la procédure peut être répétée autant de fois que nécessaire.

Comme vous pouvez le lire sur la page des systèmes de conversion analogique - numérique, une vitesse de conversion élevée produit une précision moindre (pour une complexité du système identique).

Ces systèmes ont atteint leur apogée vers 1965, au moment où les premiers circuits intégrés sont apparus sur le marché. Un convertisseur 'solid state' avec des caractéristiques identiques nécessitait une centaine de circuits élémentaires (comparateur, fonction AND, OR, XOR,...) montés sur une dixaine de plaquettes. Le coût du convertisseur solid state était moindre et les convertisseurs basés sur un tube à rayon cathodique ont rapidement disparu.

Publicités - Reklame

-