Processeurs de signaux numériques (DSP)

Table des Matières

What is Digital Signal Processor (DSP)

Qu'est-ce qu'un processeur de signal numérique ?

Un processeur de signal numérique (DSP) est un microprocesseur dédié au traitement des signaux numériques (généralement en temps réel). Son architecture comprend un CPU/ALU, une mémoire programme, une mémoire données, etc. Ses types d'architecture courants comprennent le DSP amélioré, la structure VLIW, l'architecture superscalaire et la structure hybride SIMD. Sa principale caractéristique est son multiplicateur matériel interne dédié et sa structure de bus Harvard, qui lui permettent de traiter un grand nombre de signaux numériques à une vitesse élevée.

Comment fonctionne le DSP ?

Le DSP est un dispositif qui utilise des signaux numériques pour traiter de grandes quantités d'informations. Il s'agit des informations obtenues après « numérisation » du signal analogique à un moment donné. Plus précisément, il s'agit d'« échantillonner » à un moment donné, puis de « quantifier » le signal discret échantillonné à traiter et de le convertir en nombre correspondant, achevant ainsi le travail de numérisation.

Deux actions sont essentielles à la numérisation : « l'échantillonnage » et la « quantification », que nous aborderons plus en détail ultérieurement. Une fois les informations numériques obtenues, des opérations appropriées peuvent être effectuées pour répondre à nos exigences en matière de traitement du signal audio.

Structure DSP

Afin d'assurer un traitement numérique rapide et en temps réel des signaux, le DSP adopte une architecture différente de celle des autres puces de microprocesseur (CPU, etc.). Il a abandonné l'architecture parallèle von Norman au profit de l'architecture Harvard. Nous utilisons deux schémas pour distinguer la structure von Norman de la structure Harvard.

Harvard Architecture
Architecture de Harvard (Crédit image : wikimedia)
Von Neumann Architecture
Architecture Von Neumann (Crédit image : wikipedia)

Comme le montrent les deux schémas structurels ci-dessus, la principale différence entre la structure Harvard et la structure von Neumann réside dans la subdivision des unités de stockage. Dans l'architecture Harvard, les instructions stockent le programme et les données sont stockées dans des espaces mémoire différents. La récupération et l'exécution des instructions peuvent se chevaucher complètement, et chaque mémoire est adressée et accessible de manière indépendante. Elle permet également des transferts entre l'espace programme et l'espace données, ce qui augmente la flexibilité du dispositif.

Au contraire, il n'y a qu'une seule unité de stockage dans la structure von Neumann, qui contient l'adresse, les instructions, les données et d'autres informations. L'adresse fournie par le compteur d'instructions est utilisée pour distinguer s'il s'agit d'une instruction, de données ou d'une adresse. La vitesse et l'efficacité de lecture sont relativement faibles, ce qui se traduit par un faible débit de données.

Indicateurs de fonctionnement de la puce DSP

  • Fonctionnement de la chaîne de montage :

Le pipeline est lié à la structure Harvard. Les puces DSP utilisent largement les pipelines pour réduire le temps d'exécution des instructions, améliorant ainsi la puissance de traitement du processeur. Le processeur peut traiter deux à quatre instructions en parallèle, chaque instruction se trouvant à un stade différent du pipeline.

  • Multiplicateur matériel dédié :

Plus la vitesse de multiplication est rapide, plus les performances du processeur DSP sont élevées. Grâce à un multiplicateur dédié, la multiplication peut être effectuée en un seul cycle d'instruction.

  • Instructions DSP spéciales :

Instructions DSP spéciales Les puces DSP utilisent des instructions spéciales.

  • Cycle d'instruction rapide :

Le cycle d'instruction rapide, la structure Harvard, les opérations en pipeline, les multiplicateurs matériels dédiés, les instructions DSP spéciales et la conception optimisée du circuit intégré permettent de réduire le cycle d'instruction de la puce DSP à moins de 200 ns.

Caractéristiques du système DSP

Le système de traitement numérique du signal repose sur le traitement numérique du signal et présente donc toutes les caractéristiques du traitement numérique :

L'interface est pratique.

Les systèmes DSP sont compatibles avec d'autres systèmes ou appareils basés sur la technologie numérique moderne. Il est beaucoup plus facile pour ces systèmes de s'interfacer afin d'atteindre certaines fonctions que pour les systèmes analogiques de s'interfacer avec ces systèmes.

La programmation est pratique

 La puce DSP programmable du système DSP permet aux concepteurs de modifier et de mettre à niveau le logiciel de manière flexible et pratique pendant le processus de développement.

Bonne stabilité et durabilité

Le système DSP repose sur un traitement numérique, est moins sensible à la température ambiante et au bruit, et offre une grande fiabilité.

Haute précision

La précision pouvant être atteinte avec un système numérique à 16 bits.

Bonne répétabilité

Les performances des systèmes analogiques sont fortement affectées par les variations des paramètres des composants, tandis que les systèmes numériques n'en sont pratiquement pas affectés. Les systèmes numériques sont donc plus pratiques pour les tests, le débogage et la production en série.

Facile à intégrer

Les composants numériques du système DSP sont hautement standardisés et facilitent l'intégration à grande échelle.

Histoire des puces DSP

La naissance des puces DSP répond à un besoin de notre époque. Depuis les années 1960, avec le développement rapide des ordinateurs et des technologies de l'information, la technologie de traitement numérique du signal a fait son apparition et s'est développée rapidement. Avant l'avènement des puces DSP, le traitement numérique du signal ne pouvait être effectué que par des microprocesseurs. Cependant, en raison de la faible vitesse de traitement du microprocesseur, celui-ci ne pouvait tout simplement pas répondre aux exigences de vitesse et de temps réel imposées par la quantité croissante d'informations.

Dans les années 1970, les bases théoriques et algorithmiques des puces DSP avaient mûri. Mais à cette époque, le DSP ne figurait que dans les manuels scolaires. Même les systèmes DSP développés étaient composés de composants discrets et leurs domaines d'application se limitaient aux secteurs militaire et aérospatial.

En 1978, AMI a lancé la première puce DSP monopuce au monde, la S2811, mais celle-ci ne disposait pas du multiplicateur matériel nécessaire aux puces DSP modernes.

En 1979, le dispositif programmable commercial 2920 lancé par la société américaine Intel Corporation a marqué une étape importante dans l'histoire des puces DSP, mais il ne disposait toujours pas de multiplicateur matériel.

En 1980, le MPD7720 lancé par la société japonaise NEC a été la première puce DSP commerciale dotée d'un multiplicateur matériel, et a donc été considéré comme le premier dispositif DSP monolithique.

En 1982, la première génération mondiale de puces DSP TMS32010 et sa série de produits ont vu le jour. Ce dispositif DSP est fabriqué à l'aide de la technologie NMOS à processus micronique. Bien que sa consommation d'énergie et sa taille soient légèrement supérieures, sa vitesse de calcul est des dizaines de fois plus rapide que celle d'un microprocesseur.

L'avènement des puces DSP est une étape importante, qui marque un grand pas en avant pour les systèmes d'application DSP, passant de grands systèmes à la miniaturisation. Au milieu des années 1980, avec l'émergence des puces DSP basées sur la technologie CMOS, leur capacité de stockage et leur vitesse de calcul ont doublé, devenant la base de la technologie de traitement vocal et de traitement matériel des images.

À la fin des années 1980, la troisième génération de puces DSP est apparue, la vitesse de calcul a encore été améliorée et son champ d'application s'est progressivement étendu aux domaines des communications et des ordinateurs.

Le DSP s'est développé le plus rapidement dans les années 1990, avec l'apparition successive des puces DSP de quatrième et cinquième générations. Par rapport à la quatrième génération, le système de cinquième génération présente un degré d'intégration plus élevé, intégrant le cœur DSP et les composants périphériques sur une seule puce.

Après l'entrée dans le XXIe siècle, la puce DSP de sixième génération a vu le jour. Les puces de sixième génération surpassent largement les puces de cinquième génération en termes de performances. Parallèlement, de nombreuses branches personnalisées ont été développées en fonction de différents objectifs commerciaux, et elles ont commencé à s'étendre progressivement à de nouveaux domaines.

Applications des puces DSP

À l'ère numérique actuelle, le DSP est devenu un dispositif de base dans les domaines des communications, de l'informatique, de l'électronique grand public et autres.

Domaine de la communication

La quantité d'informations générées par la transmission de données multimédia est énorme. Les terminaux réseau multimédia doivent analyser et traiter rapidement les informations acquises tout au long du processus. C'est pourquoi le DSP est utilisé dans le codage vocal, la compression d'images et la réduction des communications vocales. Aujourd'hui, le DSP produit des effets en temps réel pour les calculs de décodage vocal, et les exigences du protocole de conception sont devenues la norme internationale la plus fondamentale.

Contrôle industriel

Dans le domaine du contrôle industriel, les robots industriels sont largement utilisés et les exigences de performance des systèmes de contrôle des robots sont de plus en plus élevées. Le système de contrôle des robots génère beaucoup de données et de calculs lors de l'exécution d'une action, et un DSP haute performance peut être utilisé ici. Une fois appliqué au système de contrôle du robot, le DSP exploite pleinement ses caractéristiques de vitesse de calcul en temps réel, ce qui permet au système robotique de traiter rapidement les problèmes. À mesure que la vitesse des puces de signal numérique DSP continue d'augmenter, il est facile de former un réseau de traitement parallèle dans le système, ce qui améliore considérablement le système de contrôle. Ces performances ont permis au système robotique de se développer plus largement.

Instrument

Les riches ressources intégrées du DSP peuvent considérablement simplifier le circuit matériel des instruments et permettre la conception SOC des instruments. La précision et la vitesse de mesure des instruments sont des indicateurs importants. L'utilisation de puces DSP pour développer des produits peut considérablement améliorer ces deux indicateurs. Par exemple, le TMS320F2810 de TI dispose d'un cœur CPU 32 bits efficace, d'un convertisseur A/N 12 bits, d'une mémoire intégrée riche et d'un système de commande flexible, constituant ainsi une plate-forme étendue pour les instruments de haute précision. Les instruments de haute précision sont désormais devenus une application importante du DSP et connaissent une période de diffusion rapide, ce qui favorisera l'innovation technologique dans l'industrie.

Domaine automobile

Le développement croissant des systèmes électroniques automobiles, tels que l'installation de radars infrarouges et à ondes millimétriques, nécessitera l'utilisation de DSP pour l'analyse. De nos jours, il y a de plus en plus de voitures, et les systèmes anticollision sont devenus un sujet de recherche très prisé. De plus, les données d'image capturées par la caméra doivent être traitées par le DSP avant de pouvoir être affichées dans le système de conduite à titre de référence pour le conducteur.

Domaine militaire

La faible consommation d'énergie, la petite taille et la vitesse de réponse en temps réel du DSP sont particulièrement nécessaires dans les armes et les équipements. Par exemple, les missiles air-air embarqués sont équipés de détecteurs infrarouges et de processeurs de signaux DSP correspondants dans un volume limité pour effectuer le verrouillage et le suivi automatiques des cibles. Les viseurs optiques équipant les avions de chasse avancés et les instruments de vision nocturne montés sur casque utilisés par les fantassins nécessitent la technologie DSP pour effectuer le filtrage et l'amélioration des images, ainsi que la recherche et la capture intelligentes des cibles. La technologie DSP est également utilisée dans le traitement numérique des signaux radar, comme le contrôle automatique de l'artillerie, les missiles de croisière, les avions d'alerte précoce et les antennes à réseau phasé.

DSP à virgule fixe et DSP à virgule flottante

En général, les processeurs DSP à virgule fixe se caractérisent par leur rapidité, leur faible consommation d'énergie et leur prix abordable, tandis que les processeurs DSP à virgule flottante offrent des calculs précis, une large plage dynamique, une grande rapidité, une programmation facile, une consommation d'énergie élevée et un prix élevé.

Plage dynamique

D'un point de vue macro, le DSP à virgule flottante offre une plage dynamique beaucoup plus large que le DSP à virgule fixe. En arithmétique à virgule fixe, les programmeurs doivent toujours prêter attention à l'apparition d'un dépassement de capacité. Afin d'éviter cela, ils doivent soit continuer à effectuer des opérations de décalage et de mise à l'échelle, soit procéder à une troncature. La première solution consomme beaucoup de temps et d'espace, tandis que la seconde entraîne une perte de précision. Au contraire, le DSP à virgule flottante élargit la plage dynamique, améliore la précision, économise du temps de fonctionnement et de l'espace de stockage, réduisant ainsi considérablement les opérations de mise à l'échelle, de décalage et de vérification des dépassements.

Matériel informatique

D'un point de vue purement technique, la différence entre les nombres à virgule fixe et les nombres à virgule flottante réside principalement dans deux aspects, à savoir le matériel et les logiciels. La différence au niveau du matériel provient du fait que le processeur DSP à virgule flottante dispose d'un multiplicateur à virgule flottante/entier, d'une unité arithmétique et logique (ALU) entière/à virgule flottante, d'un registre adapté au stockage de résultats à virgule flottante à précision étendue, etc.

logiciel

Examinons les différences dans le développement logiciel. Cela comprend principalement les caractéristiques et les précautions à prendre lors de la programmation DSP en virgule flottante ; les opérations de mise à l'échelle, de décalage et de détection de dépassement de capacité du DSP en virgule fixe lors de l'exécution d'opérations en virgule flottante. Lorsque vous comparez deux nombres en virgule flottante, n'utilisez jamais l'opérateur « == » pour déterminer l'égalité. Même lorsque vous comparez deux nombres identiques, il peut y avoir des différences subtiles. Même définir exactement 0 n'est pas très sûr. Bien qu'il existe une représentation de 0 en langage C, n'écrivez jamais un tel code (x==0), mais écrivez plutôt (fabs(x) < TINY), où TINY est défini comme une très petite valeur, c'est-à-dire le traitement de l'erreur d'arrondi du format à virgule flottante du processeur.

Abonnez-vous

Rejoignez notre liste d’abonnés pour obtenir mensuel blog des mises à jour, des nouvelles technologies, des études de cas. Nous n’enverrons jamais de spam, et vous pouvez vous désinscrire à tout moment.

À Propos De L'Auteur

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Besoin D'Aide?

Retour en haut

Instant Quote