Génie Industriel et Informatique 1iere Année (2003/2004) Promotion 2006 Equipe 7 Auto Apprentissage : Le DSP Equipe 7 Table des matières Table des matières ................................................................................ 2 I- Introduction ........................................................................................ 3 II) Spécificités et caractéristiques des DSP ........................................ 4 II.1) Spécificités ................................................................................... 4 II.2) Caractéristiques ........................................................................... 7 III-Les différences entre DSP et microprocesseurs .......................... 12 III-1)Introduction ................................................................................ 12 III-2) Architecture interne d’un microprocesseur standard ........... 12 III-3) Structure interne d’un DSP ...................................................... 12 Architecture de Von Neuman et architecture de Harvard ........... 16 Architecture d’un DSP : architecture de Harvard modifiée .......... 17 IV-Architecture externe ....................................................................... 18 Schéma général externe ................................................................. 18 La chaîne d'acquisition ................................................................... 18 Schéma ........................................................................................... 19 V-les applications, évolution et marché des DSP ............................ 20 V-1) application ................................................................................. 20 V-2) Les évolutions du DSP .............................................................. 23 V-3) le marché des DSP .................................................................... 26 V-4 ) Application directe .................................................................. 28 VI- Conclusion ..................................................................................... 31 Promotion 2006 Année 2003/2004 Page 2 sur 31 Auto Apprentissage : Le DSP Equipe 7 I- Introduction : Depuis maintenant plusieurs années, le traitement numérique du signal est une technique en plein essor. Nous allons nous intéresser aux processeurs de traitements du signal, plus communément désignés par l'acronyme Anglais DSP (Digital Signal Processor). Au niveau historique, les DSP ont été initialement développés pour des applications de radars militaires et de télécommunications cryptées dans les années 70. C'est Texas Instruments® qui en 1978 introduit un DSP pour la synthèse de la voix pour des applications très grand public. Il aura fallu 15 ans supplémentaires pour que les DSP deviennent des composants incontournables de l'électronique grand public. Les domaines d'application du traitement numérique du signal sont nombreux et variés, nous en verrons une liste ci-après. Chacun de ces domaines nécessite un système de traitement numérique, dont le cœur est un et même parfois plusieurs DSP ayant une puissance de traitement adaptée, pour un coût économique approprié. Un DSP est un type particulier de microprocesseur. Il se caractérise par le fait qu'il intègre un ensemble de fonctions spéciales. Ces fonctions sont destinées à le rendre particulièrement performant dans le domaine du traitement numérique du signal. Comme un microprocesseur classique, un DSP est mis en oeuvre en lui associant de la mémoire (RAM, ROM) et des périphériques à la différence qu'un DSP typique a plutôt vocation à servir dans des systèmes de traitements du signal. Ainsi il se présente généralement sous la forme d'un microcontrôleur intégrant de la mémoire, des timers, des ports séries synchrones rapides, des contrôleurs DMA, des ports d'E/S divers. Promotion 2006 Année 2003/2004 Page 3 sur 31 Auto Apprentissage : Le DSP Equipe 7 II) Spécificités et caractéristiques des DSP II.1) Spécificités La plupart des DSP , par rapport aux processeurs généraux, disposent de trois spécificités principales : Une architecture Harvard Des instructions adaptées aux opérations classiques de traitement de signaux : opérations MAC et transferts de données par DMA Un mode d’adressage à inversion de bits. Cependant des DSP plus évolués peuvent avoir d’autres spécificités tel que : Un adressage circulaire De la mémoire interne minimisant les temps d’accès RAM Des banques de mémoire Une architecture à pipe-line Des entrées sorties dignes d'un microcontrôleur Parfois des convertisseurs analogiques-numériques numériquesanalogiques intégrés. Promotion 2006 Année 2003/2004 Page 4 sur 31 Auto Apprentissage : Le DSP Equipe 7 II.1.a) L’architecture Harvard Elle sépare les bus de données et de programme. Cette structure permet de transférer une donnée et une instruction simultanément du fait de la séparation entre les mémoires programmes et données, améliorant ainsi les performances. Cependant quelques rares DSP utilisent une structure Von Neuman ou encore d’une structure dite « structure de Harvard modifié ». C’est deux structures étant moins coûteuses qu’une structure Harvard classique. II.1.b) Les instructions adaptées aux opérations classiques de traitement de signaux 1) Les opérations MAC Après numérisation, le signal est sous la forme d’une suite de valeurs numériques discrètes (échantillon). Cet échantillon peut ensuite être stocké et traité .En général, les opérations effectué sur un tel signal sont des opérations de base, addition et multiplication. Par exemple A= ( B*C ) + D. Promotion 2006 Année 2003/2004 Page 5 sur 31 Auto Apprentissage : Le DSP Equipe 7 La plupart des DSP peuvent lire en mémoire une donnée, effectuer une multiplication puis une addition, et enfin écrire en mémoire le résultat, le tout en un seul cycle d’horloge. C’est ce type d’opération que l’on appelle MAC (Mulpily and Accumulate). Cependant malgré la rapidité des DSP , on essaye toujours d’améliorer le temps de calcul d’un MAC. La figure 2 présente le progrès réalisé dans ce domaine depuis plus de trois décennies. Actuellement, un DSP de gamme moyenne effectue une opération MAC sur des données de 16 bits en moins de 25 nS, soit 40 000 000 opérations par seconde. 2) Le transfert de données par DMA DMA pour Direct Acces Memory (Accès direct à la mémoire). Une autre caractéristique des DSP est leurs capacités à réaliser plusieurs accès mémoire en un seul cycle. Ceci permet à un DSP de chercher en mémoire une instruction et ses données réalisant un Promotion 2006 Année 2003/2004 Page 6 sur 31 Auto Apprentissage : Le DSP Equipe 7 MAC, et simultanément, d’y ranger le résultat du MAC précédent. Ceci permet un gain de temps important. Toutefois, sur certains DSP basiques, ce type d’opération simultané est généralement limité. II.1.c) Un mode d’adressage à inversion de bits Il sert à réorganiser les échantillons de sortie de Transformées de Fourier Rapides (TFR). II.2) Caractéristiques Les caractéristiques principales qui distinguent deux DSP différents sont : Son type : virgule fixe ou virgule flottante ( que l’on étudiera dans le prochain paragraphes) Sa vitesse, exprimée en MIPS (Mega Instructions par Seconde), qui n'est pas obligatoirement représentative des performances du DSP Sa quantité de mémoire interne (DRAM/RAM/ROM/Flash...) Ses entrées/sorties (ports série, ports parallèles) et leurs vitesses respectives Son architecture interne, avec la présence ou non de canaux DMA. Les deux familles distincts de DSP sont les DSP à virgules fixes et les DSP à virgules flottantes. Promotion 2006 Année 2003/2004 Page 7 sur 31 Auto Apprentissage : Le DSP Equipe 7 II.2.a) Les DSP à virgules flottantes Les DSP à virgules flottantes sont plus souples et plus faciles à programmer que les DSP à virgules fixes. Les temps de développement sont donc réduits de façon conséquente. De plus, les calculs sont transparents pour l'utilisateur. Un DSP manipule des nombres formés avec une mantisse de 24 bits et un exposant de 8 bits, soit une taille de 32 bits de donnée en mémoire. La dynamique disponible est très grande, toutefois la résolution reste limitée à 24 bits au mieux. Mais les opérations effectuées par les circuits (hardware) sont beaucoup plus complexes qu'avec un DSP à virgule fixe. Ceci implique que les DSP à virgule flottante sont vendus à des prix bien supérieurs aux fixes. De plus, la puce d’un DSP à virgule flottante nécessitant à la fois une surface de silicium plus importante et un nombre de broches supérieur, car la mémoire externe est elle aussi au format 32 bits, augmente le coût. Promotion 2006 Année 2003/2004 Page 8 sur 31 Auto Apprentissage : Le DSP Equipe 7 C’est pourquoi, un DSP à virgule flottante est plutôt adapté à des applications dans lesquelles : les coefficients varient dans le temps (exemple : les filtres adaptatifs), le signal et les coefficients ont besoin d’une grande dynamique, on a besoin de grandes capacités de calcul, la structure mémoire est importante (exemple : traitement d’image), la précision est recherchée sur toute une gamme dynamique importante (exemple : traitements audio phoniques de qualité professionnelle). De part leurs facilités de programmation, ils peuvent également se justifier dans des projets où le temps et la facilité de développement sont des facteurs importants. On les trouve également dans des produits de faible volume de production, pour lesquels le prix du DSP n’est pas significatif. Les principaux consommateurs de DSP à virgule flottante sont les militaires et les grands systèmes de télécommunications. II.2.b) Les DSP à virgules fixes Un DSP à virgules fixes est un peu plus compliqué à programmer qu’un DSP à virgules flottantes. Le programmeur doit être très attentif lors de la programmation car c’est à lui de connaître à tout instant l’état du système. Dans un DSP à virgules fixes, les nombres sont codés sur 16 bits. Promotion 2006 Année 2003/2004 Page 9 sur 31 Auto Apprentissage : Le DSP Equipe 7 Toutefois, sur ce DSP, les calculs sont effectués avec des accumulateurs de 32 bits. Lorsque les résultats doivent être stockés en mémoire, les 16 bits les moins significatifs sont perdus. Ceci permet de limiter les erreurs d’arrondis cumulatives. La précision des calculs est un point critique des DSP à virgules fixes, car le concepteur de programmes doit rester vigilant à chaque étape d’un calcul. Il doit rechercher la plus grande dynamique possible (c’est à dire exploiter au mieux la gamme des nombres disponibles), pour conserver une bonne précision des calculs Les programmeurs contournent les limites des DSP à virgule fixe en déterminant à l’avance la précision et la dynamique nécessaire pour réaliser leurs projets. Il est également possible d’effectuer des opérations en virgule flottante dans un DSP à virgules fixes par le biais de routines logicielles adéquates. Cette approche est néanmoins pénalisante en temps d’exécution, même sur un DSP à virgules fixes très rapide. En termes de rapidité, les DSP à virgules fixes se placent d'ordinaire devant leurs homologues à virgules flottantes, ce qui constitue un critère de choix important. Les DSP à virgules fixes sont les plus utilisés, car ils sont moins chers que les DSP à virgules flottantes. On les trouve dans tous les Promotion 2006 Année 2003/2004 Page 10 sur 31 Auto Apprentissage : Le DSP Equipe 7 produits de grande diffusion où le coût est un facteur important. Il peut cependant exister des exceptions, certains DSP à virgules fixes se présentant comme des micro contrôleurs perfectionnés plus chers qu’un DSP à virgules II) Spécificités et caractéristiques des DSP Promotion 2006 Année 2003/2004 Page 11 sur 31 Auto Apprentissage : Le DSP Equipe 7 III-Les différences entre DSP et microprocesseurs III-1)Introduction La différence fondamentale se situe sur le simple fait qu'un microprocesseur n'est pas destiné à une application spécifique alors que le DSP est destiné au traitement du signal ce qui lui permet d'avoir une architecture optimisée pour ces types de traitements. Nous allons ici vous introduire le fonctionnement d'un microprocesseur standard et développer les parties de celui-ci que nous pourrions optimiser dans le cadre du traitement du signal. III-2) Architecture interne d’un microprocesseur standard : Promotion 2006 Année 2003/2004 Page 12 sur 31 Auto Apprentissage : Le DSP Equipe 7 Déroulement d'une instruction (appliquée au 68000) Les instructions sont placées dans des cases consécutives en mémoire puis sont exécutées en séquence. Une exécution se déroule en deux phases : La recherche de l'instruction (fetch); L'exécution (execute); Un microprocesseur standard a besoin au minimum de 3 à 4 périodes afin d'exécuter une instruction. Le tableau ci-dessous décrit les différentes phases nécessaire à l'exécution d'une instruction simple. Réduction du nombre de périodes Afin de réduire le nombre de phases et donc le nombre de périodes d'horloge nous pouvons effectuer plusieurs optimisations : Réduire à une adresse l'instruction complète; Envisager un processeur capable de superposer plusieurs phases, c'est la structure ``pipe line'' décrite ci-dessous. Cette structure n'est envisageable que si l'on peut lire en Promotion 2006 Année 2003/2004 Page 13 sur 31 Auto Apprentissage : Le DSP Equipe 7 même temps la mémoire donnée et la mémoire programme. Nous devons donc avoir une structure avec deux bus séparés (la structure Harward) ainsi que deux zones mémoires programme et mémoire données entièrement distinctes. Instruction n Instruction n+1 Recherche instruction Recherche opérande Exécution Recherche instruction Recherche opérande Exécution Recherche instruction Recherche opérande Instruction n+2 Exécution Doit être possible en même temps III-3) Structure interne d’un DSP : Cœur d’un DSP : (Cf figure 6) Le DSP doit être capable de traiter une somme de produits en un cycle machine, ce qui implique d’avoir 2 bus (un pour les coefficients et un pour les échantillons), un multiplieur, une ALU (pour l’addition) et un Accumulateur. Promotion 2006 Année 2003/2004 Page 14 sur 31 Auto Apprentissage : Le DSP Equipe 7 x(n-i) ai i=0 A.L.U. Accumulateur Cœur d’un DSP Schéma de principe de la structure interne du TMS320C5X (Texas Instrument) Le bus de programme véhicule l’instruction et la constante associée (coefficient a (i)) et le bus de données véhicule l’échantillon. Le DSP utilise, en plus, une architecture parallèle, puisque en un seul cycle il est possible de faire une multiplication de 16*16 bits, un décalage du résultat, une addition et une manipulation de la mémoire programme. Promotion 2006 Année 2003/2004 Page 15 sur 31 Auto Apprentissage : Le DSP Equipe 7 Architecture de Von Neuman et architecture de Harvard : La structure de VON NEUMAN, utilisée par les microprocesseurs (architecture des x86) depuis 40 ans, consiste à placer les données et le programme sur un bus commun. Inconvénient . majeur de cette structure : on ne peut lire une donnée ou une instruction qu’en un seul cycle. Architecture de Von Neuman Lorsque la vitesse d’exécution d’un programme est importante, il est préférable d’utiliser la structure de HARVARD ou mémoire programme et mémoire données sont séparées. Ainsi en un seul cycle, le processeur pourra lire l’instruction et la donnée. Architecture de Harvard Promotion 2006 Année 2003/2004 Page 16 sur 31 Auto Apprentissage : Le DSP Equipe 7 Architecture d’un DSP :architecture de Harvard modifiée La structure de HARVARD est cependant pénalisante par le nombre de broches utilisées et le nombre de boîtiers mémoires utilisés. T.I. comme de nombreux autres constructeurs (INTEL avec le MCS 51, MICROCHIP avec les microcôntroleurs PIC) utilise une structure de HARVARD modifiée, qui consiste à n’utiliser qu’un bus commun pour les accès en mémoire externe (architecture de VON NEUMAN) et à utiliser une structure de HARVARD pour les accès en mémoire interne. Charge ensuite au programmeur, si la taille de la mémoire programme ou de la mémoire données est trop importante, de placer en mémoire interne le bout de programme et de données qui demande une rapidité optimale d’exécution. Promotion 2006 Année 2003/2004 Structure de Harvard modifiée Le DSP utilise de la mémoire externe sur un bus commun. Page 17 sur 31 Auto Apprentissage : Le DSP Equipe 7 IV-Architecture externe Schéma général externe Nous allons définir ici le schéma général d'utilisation d'un DSP qui permet de développer la plupart des applications simples en traitement du signal. Les circuits exploitant les processeurs de traitement du signal ont une architecture particulière décomposable en deux parties : Une chaîne d'acquisition; Une unité de traitement du signal (DSP); La chaîne d'acquisition Le signal en entrée du circuit peut être : un signal électrique; une grandeur physique par le biais d'un capteur; un signal numérique; Promotion 2006 Année 2003/2004 Page 18 sur 31 Auto Apprentissage : Le DSP Equipe 7 Puis en fonction du signal d'entrée plusieurs éléments peuvent constituer la chaîne d'acquisition. Dans le cas d'un signal électrique ou d'une grandeur physique Le signal rencontrera en premier lieu un amplificateur d'adaptation qui comme son nom l'indique permet d'adapter le signal en décalage et en gain afin qu'il soit compatible avec les autres éléments du circuit. Puis le signal arrive à l'échantillonneur-bloqueur qui permet de discrétiser le signal en prélevant des portions à des intervalles de temps réguliers avant de les envoyer au convertisseur analogiquenumérique. Après un traitement en ``temps réel'' le DSP renvoie plusieurs signaux en direction soit d'un ordinateur (par le biais de la sortie numérique) soit vers un convertisseur numérique-analogique. Dans le cas d'un signal numérique Les DSP présentant une entrée numérique sont aptes à les traiter directement. Schéma : Promotion 2006 Année 2003/2004 Page 19 sur 31 Auto Apprentissage : Le DSP Equipe 7 V-les applications, évolution et marché des DSP A quels besoins répond le DSP ? Certaines applications nécessitent des calculs en temps réel sur des échantillons : filtrage numérique, contrôle moteur, reconnaissance vocale, modems, fax, etc... Pour ces applications il est nécessaire de faire des multiplications et additions (Y=BC+A), instruction MAC (Muliply And Accumulate), en un cycle d’horloge. Ces applications nécessitent des microcôntroleurs spécifiques dédiés au traitement du signal : les DSP (Digital Signal Processor). V-1) application : Général : Filtres numériques ; Filtres analogiques ; Corrélation ; FFT DCT ; Génération de signaux ; PLL … Promotion 2006 Année 2003/2004 Page 20 sur 31 Auto Apprentissage : Le DSP Equipe 7 Instrumentation : Analyse de transitoires ; Analyse spectrale ; Suppression de bruits ; Séismographes ; Acoustique : Réducteur de bruit ambiant ; Médical : Monitoring ; Echographie ; Imagerie médicale … Contrôle : Asservissement, robotique, vision artificielle… Promotion 2006 Année 2003/2004 Page 21 sur 31 Auto Apprentissage : Le DSP Equipe 7 Télécommunication : Modems, multiplexeurs, FAX ; Annuleurs d’échos, répéteurs de ligne ; Egaliseurs auto-adaptatifs ; Cryptage de données… Multimédia et imagerie : Traitement de l’image ; Reconnaissance de forme ; Reconnaissance et synthèse de la parole ; Compression des images et du son ; Suppression des bruits parasites ; Militaire : Traitement de l’image ; Radar, sonar ; Guidage de missiles, calculateurs de trajectoires ; Promotion 2006 Année 2003/2004 Page 22 sur 31 Auto Apprentissage : Le DSP Equipe 7 Communication et sécurité ; Navigation ; Grand public : Automobiles ; Electroménager ; Jeux, synthétiseurs musicaux ; Navigation ; Téléphones ; V-2) Les évolutions du DSP Evolution du temps de calcul d'un MAC 600 Temps en nS 500 400 300 Série1 200 100 0 En 1971 En 1976 En 1994 En 2003 Années Promotion 2006 Année 2003/2004 Page 23 sur 31 Auto Apprentissage : Le DSP Equipe 7 Actuellement, un DSP de gamme moyenne effectue une opération MAC sur des données de 16 bits en moins de 25 nS, soit 40 000 000 opérations par seconde. De telles performances sont indispensables pour effectuer des traitements rapides. Le TMS320C10 est un DSP de la première génération créer par Texas Instruments. C’est le plus basique d’entre eux. Nous parcourrons dans cette partie l’histoire des DSP de la première à la cinquième génération. Les DSP de première génération : Les DSP de la première génération sont tous semblable au TMS320C10. Tout d’abord la taille RAM ( mémoire donnée ) varie entre 144 et 256 mots. La taille de la ROM varie de 1.5K à 8K mots mais elle peut être remplacée par une EPROM de 4 ou 64Kmots. Certains de ces DSP peuvent contenir une ou deux entrées série au détriment d’une ou deux broches du port parallèle. La période de l’horloge peut varier de 280 à 114 nanosecondes. Promotion 2006 Année 2003/2004 Page 24 sur 31 Auto Apprentissage : Le DSP Equipe 7 Les DSP de cinquième génération : Les DSP de la 5° génération sont semblable au TMS320C5X de Texas Instruments. Ils traitent des données au format virgule fixe. Leur conception les rends encore plus puissant, d’une part par leur mémoire interne et d’autre part par leur jeu d’instruction toujours puissant. Promotion 2006 Année 2003/2004 Page 25 sur 31 Auto Apprentissage : Le DSP Equipe 7 V-3) le marché des DSP Les différents constructeurs : Le marché est partagé entre quatre constructeurs : le premier est Texas Instruments suivi par Analog Device puis Motorola et enfin Lucent. Les différences entre modèles de DSP se situent au niveau : Du format de calcul : fixe ou en flottant; De la taille du bus de donnée : 16, 24 ou 32 bits; De la puissance en millions d'instructions par seconde (MIPS); Promotion 2006 Année 2003/2004 Page 26 sur 31 Auto Apprentissage : Le DSP Equipe 7 Le but d’un DSP (Digital Signal Processor) ou PSN (Processeur de Traitement du Signal) est d’effectuer un traitement mathématique sur un signal numérisé et ceci en temps réel. Ainsi on retrouve, la plupart du temps, un DSP dans une chaîne de traitement du signal composée d’un CAN (Convertisseur Analogique Numérique) ou ADC (Analog Digital Converter) pour numériser le signal (Cf figure 1 et figure 2) et d’un CNA (Convertisseur Numérique Analogique) ou DAC (Digital Analog Converter). On parle de samples ou d’échantillons pour le signal échantillonné à la fréquence Fe par le CAN. Numérisation d’un signal analogique par un CAN Promotion 2006 Année 2003/2004 Page 27 sur 31 Auto Apprentissage : Le DSP Equipe 7 Traitement d’un signal audio à partir d’un DSP V-4 ) Application directe V-4-1.Les DSP dans le GSM : La conception générale d’un mobile GSM : Les mobiles GSM peuvent être décomposé en 4 parties principales : Le codage/décodage de la voix appelé aussi traitement en bande passante ; Les circuits de modulation et d’émission ; Les circuits de réception et de modulation ; Les circuits de contrôle (émission/réception, porteuse, puissance, alimentation...) Promotion 2006 Année 2003/2004 Page 28 sur 31 Auto Apprentissage : Le DSP Equipe 7 Signal Numérique S(t) Filtre Passe-bas Gaussien Circuit DSP Phase (t) Intégrateur Numérique Pente /2Tbit TXI(t) CNA Calculateur Numérique CNA TXQ(t) Dans les GSM le DSP à plusieurs rôles : Vocodeur ; Cryptage ; Filtre passe bas gaussien ; Intégrateur numérique ; Calculateur numérique ( qui restitue 2 signaux TXI(t) et TXQ(t) qui sont ensuite convertis en signaux analogiques comme le montre la figure ci dessus); Promotion 2006 Année 2003/2004 Page 29 sur 31 Auto Apprentissage : Le DSP Equipe 7 V-4-2 Les disques durs : V-4-3.modem ADSL : Promotion 2006 Année 2003/2004 Page 30 sur 31 Auto Apprentissage : Le DSP Equipe 7 VI- Conclusion Cette étude a mis en avant certaines notions des DSP. Toutefois, comme précisé dans l’introduction, les DSP ne sont qu’une partie du traitement numérique du signal. Pus exactement ils en sont un des supports clefs pour la réalisation pratique. De ce fait, programmer un DSP fait appel à un large champ de connaissances techniques (électronique, informatique, traitement du signal). Un traitement numérique du signal avec un DSP trouve des applications dans des domaines de plus en plus variés (exemples : asservissement des suspensions d’une automobile, réalisation d’un modem «logiciel », compression d’image vidéo, etc.…) Le principal moteur actuel de développement et d’évolution des DSP est l’immense marché des téléphones cellulaires (les « sans-fil »). Le DSP y réalise principalement de la compression/décompression de la voie humaine, permettant de la transmettre avec un faible débit numérique. L’utilisation des DSP trouve ses limites lorsqu’il s’agit de traiter en temps réel des signaux de fréquence très élevés, ou lorsqu’il s’agit de réaliser des fonctions trop simples pour justifier la complexité et le coût de l’électronique nécessaire a sa mise en œuvre. Sous quelque forme que ce soit, l’utilisation des DSP, et donc du traitement numérique de signal, constituent un domaine qu’il devient de plus en plus indispensable de connaître, et si possible de maîtriser. Promotion 2006 Année 2003/2004 Page 31 sur 31