Microprocesseur et FPGA vs microcontrôleurs
Introduction :
Les FPGA et les microcontrôleurs sont à la base de presque tous les projets électriques. Dans presque tous les appareils électriques, vous serez sûr de trouver une puce programmable installée qui aide cet appareil à fonctionner correctement. Mais quelle est la différence entre un FPGA et un microcontrôleur ? Et comment pouvez-vous dire lequel est le meilleur pour vous ?
Un FPGA (Field Programmable Gate Array) est un type de circuit intégré que vous pouvez programmer après fabrication alors qu'un microcontrôleur possède ses propres circuits et instructions définies à l'avance. Nous discuterons des caractéristiques qui différencient les deux et comment choisir celle qui convient à votre projet.
Différence entre un microprocesseur et un microcontrôleur :
Tout d'abord, vous devez connaître la différence entre un microprocesseur et un microcontrôleur car ils sont souvent confondus. Un microprocesseur est un circuit intégré fourni avec un appareil électrique tel qu'un processeur et conçu pour le traitement. Ces puces n'ont pas de périphériques tels que la RAM ou la ROM inclus sur la puce mais sont plutôt fournis à l'extérieur de la puce, ce qui a tendance à la rendre plus volumineuse. D'autre part, le microcontrôleur est lui-même un ordinateur avec des périphériques intégrés et est relativement plus petit. Les microcontrôleurs sont conçus pour effectuer des tâches spécifiques et le besoin de périphériques est donc moindre à mesure que la tâche est spécifiée. Les microprocesseurs peuvent être considérés comme le cœur du système tandis que les microcontrôleurs sont ce qui pilote les systèmes embarqués.
Les microprocesseurs sont généralement utilisés pour des tâches telles que le montage vidéo, le développement de jeux, etc., tandis que les microcontrôleurs couvrent des tâches plus complexes. Les microprocesseurs peuvent généralement aller au-delà de 1 GHz alors que les microcontrôleurs peuvent aller jusqu'à 30-50 MHz. De plus, les microcontrôleurs sont généralement moins chers que les microprocesseurs. Vous pouvez utiliser un microcontrôleur à la place d'un microprocesseur, mais cela coûte assez cher.
Microprocesseurs
Les microprocesseurs sont comparativement plus chers en raison des multiples composants externes requis. Les microcontrôleurs peuvent être construits avec des systèmes d'économie d'énergie alors que les microprocesseurs ne disposent pas d'une telle fonctionnalité. Les microcontrôleurs sont basés sur l'architecture Harvard avec une programmation et une mémoire d'informations spécifiques, tandis que les microprocesseurs sont construits sur le modèle de von Neumann et les données et la programmation sont stockées dans le même module de mémoire.
Différence entre FPGA et microcontrôleurs :
Les microcontrôleurs et les FPGA sont tous deux utilisés pour surveiller les valeurs de sortie et contrôler le traitement d'un système. Mais ils ont des différences très nettes. Un microcontrôleur est comme un ordinateur avec sa propre mémoire, ses ports d'E/S et ses temporisateurs. Il peut effectuer des tâches simples pour le compte d'autres matériels. Un FPGA est un type de circuit intégré avec des millions de portes logiques et peut effectuer des tâches via des portes logiques programmées, ils ont également besoin de périphériques externes pour fonctionner. Un microcontrôleur peut être programmé en C, C++ alors que les portes logiques du FPGA sont programmées en VHDL ou Verilog. Le microprocesseur a une puissance de traitement limitée alors que le FPGA a un espace limité.
Carte de développement Mimas V2 Spartan 6 FPGA
Les FPGA font preuve de flexibilité car ils peuvent effectuer n'importe quelle tâche pour laquelle ils sont programmés dans les portes logiques, et peuvent même être recâblés pour effectuer une tâche différente. Les microcontrôleurs, en revanche, sont limités à la tâche avec laquelle ils sont câblés. Les microprocesseurs consommeront également un programme ligne par ligne dans une séquence alors que les FPGA peuvent traiter diverses commandes en même temps.
Il est également relativement plus facile d'écrire des codes pour un microcontrôleur qu'un FPGA. Vous pouvez facilement contrôler les interruptions dans les FPGA en utilisant des FSM (Finite State Machines), alors que dans les microcontrôleurs, il faut du temps pour surmonter les interruptions. Vous pouvez facilement reprogrammer le FPGA sans apporter de modifications au matériel alors que la disposition du microcontrôleur doit être modifiée dans le circuit intégré au silicium.
La configuration FPGA est plus complexe car vous devrez compiler tous les codes à partir de zéro, puis les convertir en langage machine. D'autre part, les microcontrôleurs sont prêts à l'emploi pour effectuer des tâches et sont plus faciles à utiliser et à configurer. Si nous parlons en termes de programmation, les microcontrôleurs sont comparativement plus flexibles mais ne peuvent pas être personnalisés avec précision via le matériel.
Consommation d'énergie dans les FPGA et les microcontrôleurs :
Les FPGA utilisent comparativement plus de puissance que les microcontrôleurs et ne conviennent donc pas à tous les systèmes. Les FPGA ne sont pas non plus aussi performants que les composants tels que les ASIC (Application Specific Integrated Circuits). La reprogrammation d'un FPGA signifie également une inefficacité car l'utilisation de la logique devient faible. De même, les transistors inutilisés entraînent une plus grande consommation d'énergie.
Mais la vitesse des FPGA est supérieure à celle des microcontrôleurs. Les microcontrôleurs ont des vitesses de traitement inférieures mais consomment également moins d'énergie et offrent même des modes d'économie d'énergie. Certains autorisent des courants de veille inférieurs à 1 µA et peuvent fonctionner à quelques µA pendant des fréquences d'horloge lentes. Dans certains cas, un système FPGA peut utiliser un microcontrôleur sur la carte pour augmenter l'efficacité énergétique.
Conclusion :
Votre projet peut utiliser à la fois un microcontrôleur et un FPGA. Mais si vous voulez un choix plus abordable, vous devez choisir des microcontrôleurs. De même, si vous souhaitez une option plus flexible et reprogrammable, vous devez opter pour un FPGA.
Technologie industrielle
- Programmation du microprocesseur
- Résumé R, L et C
- BeagleBone et Raspberry Pi bénéficient de modules complémentaires FPGA
- Field Programmable Gate Array (FPGA) vs microcontrôleur - Quelle est la différence ?
- Délaminage et délaminage des PCB
- Guide des PCB et de l'IoT
- Avantages et inconvénients de l'industrie 4.0
- Systèmes SCADA et industrie 4.0
- Comparaison du rodage et du rodage