Circuits spéciaux

Transcription

Circuits spéciaux
9
CIRCUITS SPECIAUX
Comme l’indique leur nom, les appareils numériques travaillent essentiellement sur des nombres, des valeurs discrètes parfaitement définies.
Pour des commodités de manipulation, ces nombres sont représentés de façon
interne en numérotation binaire, en général groupés par blocs de huit chiffres soit
un octet.
Le premier composant de la chaîne de capture, le capteur d’image ou senseur
est un composant analogique, c’est-à-dire fournissant une grandeur continue variable (une tension en l’occurence).
Il est donc necessaire de convertir les variations continues, fonction de
l’intensité lumineuse des points-image de la scène en valeurs discrètes, ou numériques.
Cette fonction est assurée par un convertisseur analogique/numérique (CAN),
un circuit intégré électronique.
-94-
LE CONVERTISSEUR ANALOGIQUE/NUMERIQUE
Les techniques mises en oeuvre dans ces circuits sont nombreuses et des
ouvrages spécialisés leur sont consacrés.
Pour rester dans le cadre de cet ouvrage, nous allons étudier les deux
systèmes les plus simples et les plus répandus.
Le convertisseur parallèle
Ce modèle atteint des performances inégalées mais possède l’inconvénient d’être complexe à mettre en oeuvre et par conséquent demeure d’un coût
élevé.
Le principe est d’utiliser une batterie de comparateurs donnant chacun
une des valeurs binaire (un des chiffres) du mot traité (le nombre représentant
la grandeur d’entrée), en passant par un circuit dit “codeur de priorité” (Cf.
Figure 46 ci-dessous).
Le circuit est très rapide et une conversion sur 8 bits (un octet) prend
1,5 µs. Cette rapidité lui a vallu le nom générique de convertisseur “Flash”.
C’est le cas du circuit ADC-0820 CN par exemple
Entrée
V Réf.
HPRI/BIN
e1
e2
e3
e4
Mot binaire
de sortie
Il faut autant de comparateurs
que de niveaux de conversion.
A
B
C
D
Si N est le nombre de chiffres
binaires désiré en sortie, et M
le nombre de niveaux, on a la
relation :
M=2
N
Fig. 46 - Convertisseur A/N “Flash” Convertisseur à rampe
Le procédé est un peu plus lourd à mettre en oeuvre mais à le mérite de
fournir un prix de revient plus bas.
Les temps de conversion sont respectables pour des applications de
mesure mais restent très éloignés de ceux obtenus avec les convertisseurs
parallèles.
Comme l’illustre la figure 47 ci-après, le principe est de lancer un
compteur binaire avec autant d’étages que de bits désirés dans le mot final,
-95-
simultanément à la montée d’une tension de référence, la plus linéaire possible.
La tension de référence (la dent de scie) est comparée à la tension de
référence et quand les deux valeurs coïencident, on arrête le compteur.
La position du compteur au moment de l’égalité des tensions donne la
valeur binaire de la tension d’entrée.
V
GENERATEUR
de RAMPE
DEPART
Vréf.
Tension
d’entrée
(analogique)
t
Comparateur
ARRET
COMPTEUR
BINAIRE
HORLOGE
Avance du
compteur
1 0 1 0 1 1 0 1
Mot binaire de sortie
(numérique)
Fig. 47 - Convertisseur A/N à rampe Si le montage donne l’impression d’une simplicité biblique, la réalisation
pratique n’est pas sans poser problèmes.
La rampe doit être très linéaire et le comparateur doit réagir quasi
instantanément sous peine de fournir un retard qui serait traduit par une
position érronée du compteur, en retard sur la valeur réelle.
Pour cette raison, les circuits pratiques utilisent des générateurs à deux
ou trois rampes et des comparateurs rapides.
L’autre problème crucial est le temps de conversion qui s’allonge proportionnellement au nombre de bits du compteur, et n’est pas fixe : les petites
valeurs éxigeant peu d’impulsions de comptage sont converties plus rapidement que les grandes valeurs fournissant une égalité en fin de comptage.
LES ASICs
Une fois converties les valeurs de tension en grandeurs numériques, on peut
désormais appliquer aux nombres obtenus différents traitements exécutés par des
circuits digitaux spécialisés.
Outre quelques composants discrets assurant des tâches indispensables
comme la mesure des paramètres extérieurs, la gestion de l’énergie, le fonctionnement du flash et la communication vers l’utilisateur, toutes les autres fonctions sont
-96-
hautement intégrées dans des circuits VLSI Very Large Scale Integration, développés spécialement pour l’application et se chargeant des fonctions annexes dont est
pourvu l’appareil, parmi lesquelles nous pouvons citer : la liaison IrDA, la liaison
série, l’interfaçage PC Card-ATA, le pilotage des écrans LCD etc...
Ces circuits fabriqués spécialement “sur mesures” pour des besoins très
précis sont regroupés sous l’appellation de ASIC Application Specific Integrated
Circuit et permettent d’énormes économies en termes de coût de développement et
de gain de place et augmentent d’autant la fiabilité globale et l’efficacité du système.
Développé par des grands noms de l’électronique (CHINON, FUJITSU ...) en
fonction d’un cahier des charges fourni par le constructeur de l’appareil photo, en
termes de fonctions d’entrées et de valeurs de sorties, l’ASIC est en fait une “boîte
noire” immensément complexe qui peut contenir jusqu’à 500.000 portes logiques.
Le circuit utilisé dans le “petit” KODAK DC20, de conception simple, fabriqué
par CHINON sous la référence HC69302A/630U6C80 XLD est une grosse puce de
100 broches qui s’occupe de toute la partie commande du capteur CCD avec les
différents signaux afférents et de l’interfaçage avec les circuits mémoire.
Certains appareils récents renferment plusieurs de ces circuits combinés entre
eux, toujours dans le but d’une plus grande intégration.
MICROPROCESSEURS et MICROCONTROLEURS
Comme nous l’avons déjà vu au chapitre des notions théoriques, le microprocesseur est un composant programmable qui éxecute un programme stocké en
mémoire et qui accomplit une tâche précise sur des données numériques.
Les composants les plus représentatifs de cette catégorie sont actuellement
les PENTIUM de la société INTEL équipant plus de 75% du parc des microordinateurs.
Le microprocesseur éxecute les calculs et ne contient qu’une unité de traitement arithmétique et logique (UAL).
Pour obtenir un système opérationnel, il est encore necessaire de lui adjoindre
des mémoires RAM et ROM, des boîtiers d’interface avec les périphériques, des
circuits de synchronisation, le tout reliés par des lignes électriques, les bus.
Cette architecture (connue sous le nom de VON NEUMANN) a été intégrée sur
une seule puce de silicium et c’est ainsi que sont nés les microcontrôleurs,
véritables petits micro-ordinateurs dans un seul boîtier.
Les électroniciens connaissent bien ce type de composants programmables
comme les PHILIPS 80C451CCN, MOTOROLA 68HC11 ou 68705P3, THOMSON
ST-62 ou encore le INTEL 8052.
Ils possèdent tout ce qu’il faut pour agir sur l’environnement car possédant des
lignes d’entrées/sorties directes.
-97-
Dans les photoscopes, ils sont esentiellement dévolus aux tâches de contrôle
des processus (ce en quoi ils exellent), et prennent en charge les fonctions
secondaires de fonctionnement comme la surveillance du niveau d’energie, la
mesure des paramètres externes (luminosité, distance de mise au point ...), l’éxecution des tests de bon fonctionnement des organes internes, la gestion de l’écran
d’état, le retardateur, le choix de la vitesse d’exposition, le déplacement des blocs
mémoire etc...
LES DSP
Ce sigle signifie Digital Signal Processor, processeur de signal numérique.
Apparus dans les années 80, ils ont d’abord été cantonnés au traitement numérique
des signaux audio.
Cette origine est d’ailleurs source d’erreur dans la littérature technique (même
spécialisée) et a fait interpréter le “S” du sigle comme étant celui de Sound (Son), et
plus grave, faisant même intervenir les DSP sur des grandeurs analogiques.
Cette méprise vient du fait que le traitement des signaux sonores a lieu en
temps réel mais après conversion en valeurs numériques auquelles on applique un
traitement arithmétique suivies par une re-conversion en grandeurs analogique par
le biais d’un convertisseur Numérique/Analogique (CNA). Ceci est illustré par la
figure 48 ci-dessous.
Un DSP n’est rien d’autre qu’un microprocesseur dont l’architecture interne est
spéciale.
DSP
Convertisseur
Analogique
Numérique
00110101
11001101
01011011
ai X bi
10111100
10001101
01111001
Convertisseur
Numérique
Analogique
Fig. 48 - Chaîne de traitement du signal Les algorithmes mis en oeuvre pour intervenir sur les signaux sonores (comme
par exemple la Transformée de Fourier Rapide ou le filtrage des parasites) se
retrouvent dans d’autres domaines d’application. C’est ainsi qu’avec la croissance
des applications multimédia est apparue l’idée d’utiliser les DSP pour le traitement
d’images.
Niveau de performances
Alors qu’un microprocesseur ou un microcontrôleur possèdent une architecture de VON NEUMANN et sont prévus pour travailler sur des grands
programmes d’usage général avec une gestion peu critique des évènements
dans le temps, les processeurs de signaux sont au contraire spécialisés dans
des tâches simples n’éxigeant pas un grand espace d’adressage pour les
données et se contentant de petits programmes.
Pour un traitement Hi-Fi sur Compact-Disk par exemple, le son doit être
échantilloné (convertit en valeurs numériques) sur 16 bits toutes les 22,5 µs (la
fréquence doit être de 44,4 KHz).
-98-
Entre deux échantillons, il faut donc convertir, traiter et restituer. Pendant
la phase de traitement, le processeur ne doit pas être dérangé par un
évênement extérieur (une interruption logicielle ou matérielle ).
Le calcul est répétitif, ne porte que sur deux valeurs de 16 bits (la valeur
à traiter et l’opérande) et ne demande pas une importante quantité de
mémoire.
Le facteur déterminant est ici la vitesse de calcul et rien d’autre (enfin
presque...).
La chaîne de la figure 48 ci-dessus pourrait par exemple être implantée
dans un téléphone cellulaire à brouillage où la conversation serait rendue
incompréhensible par l’application d’un algorithme de cryptage avant d’être
envoyée sur le réseau public.
Le moindre “blanc” dans le traitement rendrait impossible le décryptage
par l’algorithme inverse.
Les DSP sont ainsi caractérisés par la vitesse de traitement, exprimée en
MIPS, Millions d’Instructions Par Seconde et par la largeur des données qu’ils
peuvent traiter d’un seul bloc.
Un des premiers DSP, le Texas Instruments TMS320C1xx travaillait à un
taux de 8,8 MIPS sur 16 bits. La nouvelle génération du même constructeur,
les modèles TMS 320C62xx, atteignent 1600 MIPS sur 16 bits.
Cette vitesse est d’autant plus vertigineuse qu’elle approche celle de
l’horloge interne en faisant exécuter au DSP pratiquement une instruction par
cycle, grâce à une structure dite en “pipeline” qui autorise le chaînage de
jusqu’à quatre instructions simultanément sur un cycle d’horloge.
Architecture interne
La figure 49 ci-dessous montre un exemple d’architecture dite “Harvard”
où l’on voit que contrairement à l’architecture classique, les données et les
instructions transitent par des bus séparés, avec même deux bus de données
sur certains modèles pour une lecture/écriture simultanée.
Adresses (Données)
Données
RAM
Cache
MAC
Unité
Arithmétique
et logique
Cache
Données
Instructions
Fig. 49
Adresses (instructions)
-99-
ROM
Une des opérations les plus importantes du traitement numérique est la
somme des produits notée :
S=
ai x bi
et utilisée par exemple pour le filtrage, où elle est aussi appellée produit de
convolution.
La multiplication sur un processeur conventionnel représente 1% de son
occupation et par conséquent n’est pas optimisée.
Sur un DSP par contre, elle fait l’objet d’une attention toute particulière et
est implantée sur la puce dans un circuit de calcul spécialisé, le MAC Multiply
and ACcumulate (multiplication et ajout) qui exécute des sommes de produits
au rythme de l’horloge.
Sur un DSP piloté à 54 MHZ, un produit de matrices (1X3) X (3X3) ne
demande que 27 cycles d’horloge soit un temps total de 0,5 µs.
Appliqué au filtrage d’une image VGA, le traitement des 307200 pixels ne
prend que 153 ms. Le même traitement effectué sur un PENTIUM à 90 MHz
demanderait plus d’une seconde.
Une autre particularité des DSP qui leur permet d’atteindre de tels
niveaux de performances est la structure RISC Reduced Instructions Set
Computer qui à l’opposé des processeurs traditionnels CISC Complex Instruction Set Computer offre une largeur d’instructions fixe, combinée à d’imposantes mémoires cache hyper rapides.
Sur l’antique 8086 (l’ancêtre des i486 et des Pentium) les instructions
peuvent aller de 1 à 5 octets.
Les nouveaux microcontrôleurs PIC-16C5x de MICROCHIP TECHNOLOGY sont bâtis sur une architecture RISC et possèdent la structure RISC.
Leur jeu d’instructions ne comprend que 33 codes d’une largeur fixe de 12 bits.
Utilisation
La plupart des appareils numériques actuels (lecteurs de DVD, téléphones portables, systèmes de transmission par satellites ...) utilisent les DSP.
Les processeurs de signaux existent en plusieurs versions, caractérisées
par leur puissance (nombre de MIPS), la largeur des mots traités (16, 24 ou 32
bits) et enfin par le type de calculs sur lesquels opèrent leur unité de calcul.
Ces calculs peuvent s’effectuer sur des valeurs entières fixes (Fixed
Point) ou sur des nombres réels représentés par des nombre en virgule
flottante (Floating Point).
Ils existent enfin sous deux formes : en circuits intégrés autonomes, dans
un boîtier (Chip Version) ou en version destinée à être incorporée dans la puce
-100-
d’un circuit plus important (Core Version).
Ainsi, le MOTOROLA DSP5600 utilisé par SoundVision dans le circuit
dédié au Vivicam 3000 est un circuit travaillant sur des valeurs de 24 bits en
Fixed Point à une vitesse de 47,5 MIPS.
Le MIPS R3000 (Core Version) est lui implanté dans le circuit spécialisé
DCAM-101 de LSI Logic.
Evolution
En photographie numérique, le couple processeur/DSP est assez rarement utilisé tel quel. Généralement, le circuit de traitement numérique est
intégré dans une structure plus complexe, accompagné de nombreuses fonctions annexes.
Ce type d’architecture a été reprise par certains constructeurs dans des
circuits fortement intégrés et très spécialisés sous le nom de “Embedded
Processors” ou processeurs à fonctions incorporées.
La société FUJITSU Electronics produit un circuit VLSI de ce type sous la
référence MB86933H, contenant toutes les fonctionnalités d’un processeur
dédié au traitement numérique des images.
Bâti autour d’une structure RISC, il gère les données sur 32 bits, possède
1Ko de mémoire cache pour les données et autant pour les instructions et
travaille à une fréquence de 25 MHz.
Ce circuit d’entrée de gamme (tout est relatif!) prévu pour des applications à faible coût équipe les photoscopes PC500 d’EPSON, ePhoto307
d’AGFA et Camédia C-400 d’OLYMPUS.
Ce circuit est représentatif de l’évolution technologique dans le domaine
du traitement d’images quand on le compare au désuet MB89625R du même
constructeur, un microcontrôleur 16 bits cadencé à 10 MHz, offrant 16 Ko de
ROM, 136 instructions de 8 bits de large, 53 ports d’entrées/sorties, 1 CAN sur
8 bits avec temps maxi de conversion de 5 µs et enfin un temporisateur de 16
bits, équipant le défunt KODAK DC20.
Les circuits dédiés
L’arrivée des photoscopes “MégaPixels” sous la demande pressante des
utilisateurs exigeant toujours plus de qualité à des prix de plus en plus bas a
forcé les industriels à d’importants efforts de recherche et de développement
dans le domaine de l’imagerie numérique.
La photographie numérique impose, par rapport à la vidéo, des composants aux caractéristiques précises, ne tolérant aucune imperfection.
Un défaut dans une image passagère en vidéo (1/25ème s) est tolérable
de par son caractère temporaire et du niveau de définition requis (650 lignes)
mais devient rédhibitoire dans une image fixe que l’on peut analyser tranquile-101-
ment.
L’interlignage ou l’interpolation ne produisent pas des niveaux de qualité
suffisants et les traitements numériques sur l’image doivent être beaucoup plus
pointus.
Les algorithmes de traitement sont optimisés dans ce sens et les
constructeurs ont donc orientés leurs recherches dans d’autres voies.
C’est ainsi que la société LSI LOGIC a développé un circuit spécifiquement dédié à la photographie numérique (un gros circuit de 256 broches au
format TQFP) et possédant les remarquables caractéristiques suivantes :
Tension de service 3,3V
Puissance consommée entre 0,75W et 1,2W
Fréquence d’horloge 54 MHz
Format d’image 2048 X 2048 pixels maxi
Vitesse de traitement : 3,3 millions de pixels par seconde.
Cette dernière vcaleur représente l’équivallent de la capture, la compression et
le stockage de 11 images VGA par seconde.
Il possède en plus d’autres fonctions internes comme l’interfaçage PCCard ATA, un contrôleur DMA pour la gestion de la mémoire, un contrôleur
d’écran LCD couleur de 2”, un compreseur aux normes JPEG, un encodeur
vidéo PAL/SECAM pour sortie directe sur téléviseur, un contrôleur de transmission série à haut débit, une gestion intelligente de l’énergie et il dispose
enfin de 14 lignes d’entrées/sorties générales pour la connexion des capteurs,
des moteurs d’autofocus, du flash du temporisateur etc...
Le CASIO QV-5000SX doit ainsi ses performances à l’utilisation de ce
circuit.
Dans le même ordre d’idée, on peut citer aussi la toute jeune société
SIERRA IMAGING (née en 94) déja réputée pour le développement de la
partie traitement informatique des appareils des sociétés EPSON, AGFA et
TOSHIBA et qui se lance dans la conception de circuits spécialisés dans ce
domaine.
La société propose ainsi un ensemble de plusieurs composants indépendants qui une fois associés dans une application, fournissent un appareil photo
numérique complet.
Ce concept de circuits associés (Chipset en anglais) est déjà utilisé
en micro informatique avec le célèbre PCI 430 VX d’INTEL, ensemble de
plusieurs circuits necessaires au bon fonctionnement du Pentium et se chargeant des “tâches ménagères”.
Le chipset de Sierra Imaging est donc un jeu de trois composants : un
circuit microcontrôleur 8 bits, un ASIC et un processeur 32 bits à fonctions
incorporées, l’ensemble porte le nom commercial de “RAPTOR”.
Outre des fonctions standard de traitement d’image (filtrage, correction,
compression etc...), le constructeur annonce la valeur maximum de 58 MPPS
(Millions de Pixels Par Seconde) !
-102-