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-