Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Comment choisir un microcontrôleur pour les applications de traitement du signal numérique

Cet article traite des fonctionnalités que vous devez rechercher lorsque vous avez besoin d'un MCU pour agir à la fois comme contrôleur système et processeur de signal numérique.

Cet article traite des fonctionnalités que vous devez rechercher lorsque vous avez besoin d'un MCU pour agir à la fois comme contrôleur système et processeur de signal numérique.

Le traitement du signal numérique peut ajouter des fonctionnalités précieuses à une grande variété de produits et d'applications. Même les conceptions limitées par le coût, le facteur de forme ou le calendrier peuvent facilement intégrer les avantages du DSP, car de nos jours, les ingénieurs ont accès à une abondance de code de bibliothèque, d'exemples de projets et de processeurs hautes performances qui sont à la fois peu coûteux et relativement conviviaux. .

Un véritable processeur de signal numérique, comme une pièce de la famille C5000 de Texas Instruments ou la famille SHARC d'Analog Devices, peut être un appareil intimidant. J'ai principalement travaillé avec des DSP de Texas Instruments et, dans l'ensemble, l'expérience a été productive et satisfaisante. Cependant, dans ce cas, je n'ai pas eu à concevoir le circuit imprimé et je n'ai pas apprécié le processus consistant à essayer de déboguer des plantages étranges du système et à comprendre les détails du système d'exploitation.

Il ne fait aucun doute que certaines tâches DSP gourmandes en calcul nécessiteront un véritable processeur de signal numérique ou même un FPGA. Il est également vrai, cependant, que dans de nombreuses applications, un microcontrôleur correctement choisi suffirait. Cet article traite des caractéristiques et des capacités sur lesquelles vous devez vous concentrer lorsque vous voulez vous assurer que votre MCU disposera de suffisamment de puissance DSP.

8 bits, 16 bits ou 32 bits ?

Cette question est moins simple que vous ne le pensez. En général, les périphériques 16 bits et 32 ​​bits seront plus appropriés pour les applications DSP. Le traitement du signal numérique implique des procédures mathématiques qui conduisent souvent à de grands nombres, et vous voulez un processeur capable de manipuler directement ces grands nombres.

Cependant, le traitement 8 bits n'est pas intrinsèquement mauvais, et si vous savez que vous aurez affaire à une plage limitée de valeurs numériques, un microcontrôleur 8 bits peut être un bon choix.

De plus, les ingénieurs n'ont souvent pas le temps ou l'envie d'étudier les détails de bas niveau d'un processeur et, par conséquent, il peut être difficile d'établir un lien clair entre la largeur de bits spécifiée et l'efficacité de calcul réelle. Par exemple, un « microcontrôleur 32 bits » possède-t-il des registres 32 bits ? Une ALU 32 bits ? Un bus d'adresses 32 bits ? Une interface de communication 32 bits ? Que signifie exactement « 32 bits » ? Ces détails peuvent influencer votre décision, surtout si vous prévoyez de traiter principalement avec de petits nombres qui n'ont pas besoin de tous ces bits supplémentaires.

Cette architecture 8 bits modernisée a été développée par Silicon Labs (schéma tiré de ce document). Ils mettent en garde contre l'hypothèse selon laquelle un appareil 16 bits ou 32 bits surpassera systématiquement un appareil 8 bits.

Vitesse de l'horloge

La fréquence d'horloge maximale d'un microcontrôleur est certainement un bon indicateur de ses mérites en tant que processeur de signal numérique. Cependant, il est essentiel de comprendre la différence entre les cycles d'horloge par seconde et les instructions par seconde. Le processeur accomplit des tâches DSP en exécutant des instructions et, par conséquent, ses performances sont influencées à la fois par la fréquence d'horloge et le nombre de cycles d'horloge requis pour exécuter les instructions.

Malheureusement, cette question devient rapidement assez compliquée. Le nombre de cycles d'horloge requis pour une instruction varie d'une instruction à l'autre, et la moyenne Le nombre de cycles d'horloge par instruction peut être réduit en utilisant une architecture pipeline. Ensuite, vous devez tenir compte de la quantité de « fonctionnalité par instruction », c'est-à-dire que le microcontrôleur A n'a peut-être besoin que d'une seule instruction pour faire quelque chose qui nécessiterait plusieurs instructions sur le microcontrôleur B.

Ce diagramme transmet le concept d'un processeur pipeline. Voir cet article pour plus d'informations. Colin M.L. Burnett [CC-BY-SA-3.0].

Voici ma recommandation abrégée :si vous comparez des appareils de la même famille, optez pour la fréquence d'horloge la plus élevée. Si vous comparez des appareils présentant des différences architecturales majeures, essayez de trouver une spécification fiable qui indique soit le taux d'exécution des instructions (exprimé en MIPS, en millions d'instructions par seconde) soit le nombre moyen de cycles d'horloge par instruction.

Point fixe contre virgule flottante

Le terme « virgule flottante » fait référence à une représentation numérique dans laquelle le point de base peut « flotter » car le nombre se compose d'une partie entière (la mantisse) et d'un exposant. L'alternative (« point fixe ») correspond à la manière dont nous gérons et percevons généralement les données dans un microcontrôleur normal. Une comparaison minutieuse entre l'arithmétique à virgule flottante et l'arithmétique à virgule fixe n'est en aucun cas une tâche simple, mais il semble y avoir un consensus sur le fait que le traitement à virgule flottante peut être supérieur dans les applications mathématiquement intensives.

Je pense qu'il est prudent de dire que tous les microcontrôleurs sont des dispositifs à virgule fixe, car à mon avis s'il s'agit vraiment d'un processeur à virgule flottante, ce n'est plus un microcontrôleur. Cependant, si vous êtes vraiment déterminé à maximiser vos performances mathématiques tout en restant dans le domaine du microcontrôleur, vous devriez envisager un appareil qui inclut un co à virgule flottante. processeur.

Le LPC3180FEL320 de NXP, un microcontrôleur Arm 16/32 bits, possède un coprocesseur à virgule flottante et peut atteindre jusqu'à 220 MIPS. STMicroelectronics dispose également de microcontrôleurs STM32 qui intègrent une unité à virgule flottante (FPU).

J'ai utilisé des calculs à virgule flottante dans mon projet de capteur tactile circulaire. Dans la plupart des cas, un FPU séparé est inutile - les compilateurs sont bons pour implémenter des variables à virgule flottante dans des microcontrôleurs typiques.

Récapitulatif

Dans cet article, nous avons exploré les caractéristiques du processeur qui rendent un microcontrôleur plus ou moins adapté aux applications DSP. Je pense que dans la plupart des situations, il est logique de se concentrer sur la largeur de bits et les MIPS. Nous continuerons ce sujet dans le prochain article, qui discutera des fonctionnalités périphériques liées au DSP.

Introduction à la série de microcontrôleurs

Cet article fait partie d'une plus grande série. Vous pouvez trouver le reste des articles ci-dessous :


Technologie industrielle

  1. Comment l'IA alimente la distanciation sociale pour la transformation numérique de l'entreprise
  2. Comment choisir la meilleure solution IIoT pour la fabrication d'équipements lourds
  3. Comment se préparer à l'Industrie 4.0
  4. Comment choisir le bon capteur pour les applications de remplissage
  5. Comment choisir une valve proportionnelle pour les dispositifs médicaux
  6. Comment choisir un fournisseur Scan-Pac pour vos matériaux de friction
  7. Intel Edison IoT :comment choisir Intel Edison pour votre prototype IoT
  8. Comment choisir la bonne fraise et la bonne programmation pour CNC ?
  9. Comment choisir un projet pour l'automatisation