Qu'est-ce qu'une puce DSP ?
Un processeur de signal numérique, également appelé puce DSP, est un microprocesseur spécialement conçu pour les opérations de traitement des signaux numériques. Son application principale est la mise en œuvre rapide et en temps réel de divers algorithmes de traitement des signaux numériques.
Comment fonctionnent les puces DSP ?
Le processeur de signal numérique utilise l'architecture Harvard, qui sépare la mémoire programme et la mémoire données. Jeu d'instructions spécial pour les opérations SIMD (Single Instruction Multiple Data). Le traitement parallèle est possible, mais le multitâche n'est pas pris en charge. Lorsqu'il est utilisé dans un environnement hôte, il peut servir de périphérique DMA (Direct Memory Access).
Les données sont obtenues à partir d'un convertisseur analogique-numérique (ADC) et la sortie finale est constituée des données converties en signal analogique par un convertisseur numérique-analogique (DAC).
Capable d'implémenter une ou plusieurs opérations de multiplication et d'accumulation (MAC) en un seul cycle d'instruction. Par conséquent, plusieurs unités d'opération de multiplication et d'accumulation sont intégrées au DSP, qui peut effectuer des opérations de multiplication et d'accumulation en parallèle.
Plusieurs lectures de la mémoire peuvent être effectuées en un seul cycle d'instruction. Par conséquent, plusieurs bus sur puce et mémoires multiports sur puce sont intégrés au DSP. Afin d'accélérer les opérations dans le processeur, plusieurs unités de génération d'adresses sont intégrées au DSP pour prendre en charge l'adressage circulaire et l'adressage par inversion de bits. La plupart des opérations dans un processeur sont des opérations répétitives.
Pour faciliter leur utilisation, la plupart des DSP prennent en charge ces opérations répétitives sans qu'il soit nécessaire d'écrire des instructions supplémentaires pour les opérations répétitives. La plupart des DSP fournissent plusieurs interfaces d'E/S série ou parallèles, ainsi que des interfaces d'E/S spéciales pour traiter des données spéciales, ce qui réduit les coûts et améliore les performances de sortie/entrée.
Comment choisir une puce DSP ?
Sur la base des informations présentées, le choix du processeur de signal numérique repose sur les principes suivants, qui peuvent être résumés comme suit :
1. Format de l'algorithme
Les algorithmes à virgule fixe ont une plage dynamique plus réduite. Par exemple, la plage dynamique d'un algorithme à virgule fixe 16 bits n'est que de 96 dB, ce qui le rend sujet aux problèmes de dépassement, mais il présente l'avantage d'être peu coûteux et de consommer peu d'énergie. C'est pourquoi la plupart des DSP sont à virgule fixe, environ 67 %. L'arithmétique en virgule flottante offre une large plage dynamique, comme l'arithmétique en virgule flottante 32 bits, qui a une plage dynamique de 1536 dB. La vitesse de traitement est beaucoup plus élevée que celle des processeurs à virgule fixe, et la largeur du bus est plus grande. La programmation est plus facile, mais le coût et la consommation d'énergie sont plus élevés. Les processeurs de signaux numériques à virgule flottante sont principalement utilisés dans les produits haut de gamme.
2. Largeur des données
Tous les DSP à virgule flottante ont une largeur de 32 bits, tandis que les DSP à virgule fixe ont généralement une largeur de 16 bits, mais peuvent également avoir une largeur de 24 bits, comme la série DSP563xx de Motorola et la série ZR3800 de Zoran (toutes deux de 20 bits). La largeur des données influe directement sur la taille de la puce DSP, le nombre de broches du boîtier et la capacité de la mémoire périphérique, et donc sur le coût du DSP.
3. Vitesse de course
Lors du choix d'un DSP, la vitesse est le critère le plus important. La vitesse d'un DSP correspond généralement à la durée des cycles d'instruction, mais elle fait également référence au temps de calcul des fonctions principales telles que les filtres FIR ou IIR. Certains DSP utilisent une structure à mot d'instruction très long (VLIW) qui permet d'exécuter plusieurs instructions en un seul cycle. Elle est étroitement liée à la fréquence de fonctionnement de l'horloge.
4. Structure de la mémoire
La structure de la mémoire (y compris la structure du bus) a une grande influence sur les performances du DSP. D'une part, différentes méthodes ont des vitesses différentes pour lire les données et les instructions pendant l'exécution des opérations. Lisez une instruction et deux données dans un cycle d'instruction pour une opération MAC rapide. La structure peut être une mémoire multiport, une mémoire séparée pour les instructions et les données, ou un tampon d'instructions. D'autre part, la structure de la mémoire comprend également la taille de la mémoire prise en charge sur la puce et hors puce. La plupart des DSP à virgule fixe ciblent le marché des systèmes embarqués, leur mémoire est donc petite. Bien que certains DSP à virgule flottante aient une mémoire sur puce plus petite, ils nécessitent une mémoire périphérique plus importante, comme le TMS320C30 de TI.
5. Consommation électrique
De nombreux DSP sont utilisés dans les appareils portables tels que les téléphones mobiles, les PDA et les lecteurs audio portables. La consommation d'énergie est un facteur important pour ces produits. De nombreux fabricants de processeurs ont réduit les tensions de fonctionnement (par exemple 3,3 V, 2,5 V, 1,8 V) et ajouté des fonctions de gestion de la tension d'alimentation, telles que le « mode veille » qui coupe la plupart de l'alimentation lorsque l'appareil n'est pas utilisé et que les périphériques ne sont pas utilisés. Réduire la consommation d'énergie.
6. Facile à programmer
Les utilisateurs des DSP sont principalement des techniciens et des ingénieurs. Les premiers processeurs de signaux numériques étaient programmés en langage assembleur, puis les produits ultérieurs pouvaient être écrits en C, mais ils devaient être compilés en programmes source en langage assembleur par un compilateur C et optimisés pour réduire le temps de calcul. Les fournisseurs de DSP fournissent souvent des outils de développement. Mais les produits DSP des différentes entreprises diffèrent considérablement en matière de programmation logicielle. Les utilisateurs doivent donc choisir un outil de développement qu'ils connaissent bien. Ces outils comprennent des outils logiciels tels que des programmes en langage assembleur, des éditeurs de liens, des simulateurs, des débogueurs, des compilateurs, des bibliothèques de codes, des systèmes d'exploitation en temps réel, etc. Ils comprennent également des outils matériels tels que des cartes de développement, des émulateurs, etc.
7. Prix
Le coût est également un facteur important à prendre en compte dans la production de masse. Le conditionnement des appareils a également une incidence sur le coût des puces. Le conditionnement en grille (PGA) est plus coûteux que le conditionnement en plastique PQFP et TQEP.
8. Prise en charge de plusieurs processeurs
Si des calculs particulièrement rapides sont nécessaires, plusieurs processeurs peuvent être utilisés en parallèle. À ce stade, les connexions internes de chaque processeur peuvent constituer un enjeu important. L'ADSP-2106x d'Analog Devices fournit un matériel dédié. Il dispose d'un bus d'adresses et d'un bus de données bidirectionnels et fonctionne avec six bus bidirectionnels. Il est facile de connecter jusqu'à six processeurs dans un système via un bus externe commun.




