Quelle est la différence entre un microcircuit et un processeur ? Microprocesseurs et microcontrôleurs

Choisir le bon appareil sur lequel baser votre nouveau développement peut être difficile. Vous devez trouver un équilibre entre prix, performances et consommation électrique, et considérer les conséquences à long terme de ces choix. Par exemple, si l'appareil utilisé, qu'il s'agisse d'un microcontrôleur ou d'un microprocesseur, devient la base de toute une gamme de nouveaux produits.

Quelle est la différence entre un microprocesseur et un microcontrôleur ?

Tout d'abord, regardons la différence entre un microcontrôleur (MCU) et un microprocesseur (MPU). En règle générale, un microcontrôleur utilise une mémoire flash intégrée pour stocker et exécuter son programme. Grâce à cela, le microcontrôleur a très un bref délais lanceur et peut exécuter du code très rapidement. La seule limitation lors de l’utilisation de la mémoire intégrée est sa capacité limitée. La plupart des microcontrôleurs disponibles sur le marché disposent d'une mémoire flash maximale d'environ 2 Mo. Pour certaines applications, cela peut être critique.

Les microprocesseurs n'ont pas de limite de mémoire car ils utilisent une mémoire externe pour stocker les programmes et les données. Le programme est généralement stocké dans une mémoire non volatile telle que la mémoire NAND ou la mémoire flash série. Une fois lancé, le programme est chargé dans une RAM dynamique externe puis exécuté. Un microprocesseur n'est pas capable de démarrer aussi rapidement qu'un microcontrôleur, mais la quantité de RAM et de mémoire non volatile pouvant être connectée au processeur peut atteindre des centaines, voire des milliers de mégaoctets.

Une autre différence entre un microcontrôleur et un microprocesseur est le système d'alimentation. Grâce au régulateur de tension intégré, le microcontrôleur n'a besoin que d'une seule valeur de tension externe. Alors qu’un microprocesseur nécessite plusieurs tensions différentes pour le cœur, les périphériques, les ports E/S, etc. Le développeur doit veiller à la présence de ces tensions sur la carte.

Dois-je choisir MPU ou MCU ?

Le choix du microcontrôleur ou du microprocesseur est déterminé par certains aspects de la spécification du dispositif en cours de développement. Par exemple, un certain nombre de canaux d'interface périphériques sont nécessaires, ce que le microcontrôleur ne peut pas fournir. Ou encore, les exigences de l'interface utilisateur ne peuvent pas être satisfaites à l'aide d'un microcontrôleur car il manque de mémoire et de vitesse. Lorsque nous commençons notre premier développement, nous savons que le produit peut évoluer considérablement dans le futur. Dans ce cas, il est possible la meilleure solution il y aura utilisation d'une plate-forme prête à l'emploi. De cette façon, nous prendrons en compte la réserve de puissance de calcul et les capacités d'interface pour les futures modifications de l'appareil.

L’un des aspects difficiles à déterminer est la vitesse nécessaire au fonctionnement du futur système. Ce critère peut être quantifié à l'aide de ce que l'on appelle la puissance de calcul, qui est mesurée en Dhrystone MIPS ou DMIPS (Dhrystone est essai synthétique performances de l'ordinateur, et MIPS est le nombre de millions d'instructions par seconde). Par exemple, un microcontrôleur Atmel SAM4 basé sur le cœur ARM Cortex-M4 fournit 150 DMIPS, tandis qu'un microprocesseur ARM Cortex-A5 tel que l'Atmel SAM5AD3 peut fournir jusqu'à 850 DMIPS. Une façon d’estimer le DMIPS requis consiste à examiner les performances requises pour exécuter une partie de l’application. L'exécution d'un système d'exploitation complet (Linux, Android ou Windows CE) pour exécuter votre application nécessiterait environ 300 à 400 DMIPS. Et s'il est utilisé pour une application RTOS, seulement 50 DMIPS suffisent. L'utilisation d'un RTOS nécessite également moins de mémoire puisque le noyau occupe généralement quelques kilo-octets. Malheureusement, un système d'exploitation à part entière nécessite une unité de gestion de mémoire (MMU) pour fonctionner, ce qui limite le type de cœurs de processeur pouvant être utilisés.

Les applications qui traitent de grands volumes de nombres nécessitent une certaine quantité de DMIPS. Comment plus d'application orienté vers le traitement numérique, plus la probabilité d’utiliser un microprocesseur est élevée.

L'utilisation de l'interface utilisateur, que ce soit dans l'électronique grand public ou industrielle, nécessite une discussion sérieuse. Les consommateurs sont déjà habitués à utiliser des outils intuitifs interfaces graphiques, et dans l'industrie, cette méthode d'interaction avec l'opérateur est de plus en plus utilisée.

Il existe plusieurs facteurs concernant l'interface utilisateur. Premièrement, il s’agit d’une charge de calcul supplémentaire. Une bibliothèque d'interface comme Qt, largement utilisée sous Linux, nécessitera 80 à 100 DMIPS supplémentaires. Deuxièmement, la complexité de l'interface utilisateur. Plus vous utilisez d'animations, d'effets et de contenu multimédia et plus la résolution de l'image est élevée, plus vous aurez besoin de performances et de mémoire. Par conséquent, un microprocesseur conviendra probablement ici. D'un autre côté, une interface utilisateur simple avec une image statique sur un écran basse résolution peut être implémentée sur un microcontrôleur.

Un autre argument en faveur du microprocesseur est la présence d'un contrôleur LCD TFT intégré. Peu de microcontrôleurs incluent un tel module. Vous pouvez installer un contrôleur LCD TFT externe et quelques autres pilotes pour le microcontrôleur, mais vous devez prendre en compte le coût du produit qui en résulte.

Des microcontrôleurs Flash avec contrôleurs TFT LCD font désormais leur apparition sur le marché, mais il devrait encore y avoir un nombre suffisant de contrôleurs intégrés mémoire vive pour contrôler l’affichage. Par exemple, un QVGA 16 couleurs 320x240 nécessite 150 Ko de RAM pour afficher les images et mettre à jour l'affichage. Il s'agit d'une quantité de RAM assez importante et peut être nécessaire mémoire externe, ce qui affectera également le coût.

Les interfaces utilisateur graphiques plus complexes, en particulier celles utilisant des écrans de plus de 4,3 pouces, nécessitent l'utilisation de microprocesseurs. Si les microprocesseurs dominent les applications qui utilisent une interface utilisateur à écran couleur TFT, les microcontrôleurs sont les rois des écrans LCD segmentés ou matriciels et autres écrans d'interface série.

Du point de vue des communications, la plupart des microcontrôleurs et microprocesseurs intègrent les systèmes . Mais les interfaces haut débit telles que les ports HS USB 2.0, Ethernet 10/100 Mbps ou les ports Gigabit Ethernet ne se trouvent généralement que sur les microprocesseurs car elles sont mieux adaptées au traitement de grandes quantités de données. Le problème clé ici est la disponibilité de canaux et de bande passante appropriés pour gérer le flux de données. Les applications qui utilisent des connexions à haut débit et sont centrées sur le système d'exploitation nécessitent l'utilisation de microprocesseurs.

Un autre aspect clé qui détermine le choix entre un microcontrôleur et un microprocesseur est l’exigence d’un temps de réponse déterministe des applications. Grâce au cœur du processeur, à la mémoire flash intégrée et logiciel sous la forme d'un RTOS (système d'exploitation en temps réel) ou de code C pur, le microcontrôleur sera définitivement en tête sur ce critère.

La dernière partie de notre discussion concernera la consommation d’énergie. Bien qu’un microprocesseur dispose de modes basse consommation, un microcontrôleur classique en possède bien d’autres. De plus, le matériel externe du microprocesseur complique son passage vers ces modes. La consommation réelle d'un microcontrôleur est nettement inférieure à celle d'un microprocesseur. Par exemple, en mode économie d'énergie avec préservation des registres et de la RAM, le microcontrôleur peut consommer 10 à 100 fois moins.

Conclusion

Le choix entre un microcontrôleur et un microprocesseur dépend de nombreux facteurs tels que les performances, les capacités et le budget de développement.

De manière générale, les microcontrôleurs sont généralement utilisés dans des solutions à coûts optimisés où le coût du produit et les économies d'énergie sont importants. Ils sont, par exemple, largement utilisés dans les applications à très faible consommation nécessitant une longue durée de vie de la batterie. Par exemple, dans les consoles télécommande, compteurs d'électricité grand public, systèmes de sécurité, etc. Ils sont également utilisés lorsqu’un comportement système hautement déterministe est requis.

Les microprocesseurs sont généralement utilisés pour créer des applications fonctionnelles et performantes. Ils sont idéaux pour les applications industrielles et grand public basées sur systèmes d'exploitation, où le calcul est intensif ou où des communications de données à haut débit ou une interface utilisateur coûteuse sont nécessaires.

Et une dernière chose. Choisissez un fournisseur qui propose des microcontrôleurs ou des microprocesseurs compatibles afin de pouvoir migrer vers le haut ou vers le bas, augmentant ainsi la réutilisation des logiciels.

Les microcontrôleurs et les microprocesseurs se trouvent souvent dans divers appareils électroniques. Ces deux composants prennent des commandes de la mémoire et exécutent des commandes logiques et opérations arithmétiques, tout en travaillant avec des périphériques d'entrée/sortie et d'autres périphériques. Alors, quelle est la différence ?

Microcontrôleur

Microcontrôleur - (ci-après dénommé MK) est un microcircuit conçu pour le contrôle de programme circuits électroniques. MK est réalisé sur une seule puce. Il contient à la fois le périphérique informatique, la ROM et la RAM. De plus, le MK contient le plus souvent des ports d'entrée/sortie, des minuteries, des CAN, des interfaces série et parallèle. Dans certains, vous pouvez même remarquer un module Wi-Fi/Bluetooth et même un support NFC.

Le premier brevet de microcontrôleur a été délivré en 1971 à Texas Instruments. Les ingénieurs de cette société ont proposé de placer sur la puce non seulement le processeur, mais également la mémoire et les périphériques d'E/S.

Bien que tout ce qui est nécessaire au fonctionnement du microcontrôleur y soit déjà inclus, ils sont parfois utilisés en conjonction avec des périphériques externes. Par exemple, lorsque la ROM interne ne suffit pas (ou qu'elle est tout simplement absente), une ROM externe est connectée. C'est exactement ce qu'ils ont fait avec les microcontrôleurs de la série ESP. L'ESP8266 n'a aucune mémoire intégrée, tandis que l'ESP32 n'a que 448 Ko dérisoires. Par conséquent, une mémoire flash d'une capacité de 1 à 16 Mo est placée dans leur boîtier (plus précisément sous le radiateur).

Alors pourquoi ne pas créer une sorte d’ordinateur portable basé sur un microcontrôleur ? Le fait est que la puissance de calcul d'un MK est le plus souvent assez faible. Il suffit de contrôler, par exemple, un système d'irrigation, un four à micro-ondes ou une sorte de machine.

Par exemple, l'une des puissantes cartes de plate-forme Arduino est Due. Il est contrôlé par un microcontrôleur AVR 32 bits AT91SAM3X8E. Sa fréquence d'horloge est de 84 MHz. Il y a 512 Ko de mémoire permanente et 96 Ko de RAM. Le MK dispose de 54 GPIO numériques (dont 12 prennent en charge PWM), 12 entrées analogiques et 2 sorties analogiques (DAC). Il existe également diverses interfaces, telles que UART, SPI, I2C.

Malgré ces caractéristiques mineures, les microcontrôleurs sont très populaires. Ils sont utilisés là où une grande puissance de calcul n'est pas requise - robotique, contrôleurs de serre, appareils électroménagers.

Microprocesseur

Avec un microprocesseur (ci-après dénommé MP), les choses sont un peu différentes. Il contient une unité arithmétique-logique, une unité de synchronisation et de contrôle, un périphérique de stockage, des registres et un bus. Autrement dit, le MP ne contient que ce qui est directement nécessaire pour effectuer des opérations arithmétiques et logiques. Tous les autres composants (RAM, ROM, périphériques d'entrée/sortie, interfaces) doivent être connectés en externe.

Les premiers microprocesseurs sont également apparus au début des années 70. Il était considéré à l’époque comme le plus populaire. Il s'agit d'un microprocesseur développé par Intel et introduit le 15 novembre 1971. Il présentait des caractéristiques impressionnantes pour cette période :

  • 2300 transistors ;
  • fréquence d'horloge - 740 kHz;
  • registre et largeur de bus - 4 bits ;
  • processus technique - 10 microns;
  • surface cristalline : - 12 mm².

À propos, le 4004 a été fabriqué dans un boîtier DIP-16 standard. Ce MP est le microcircuit de collecte le plus populaire. Certains exemplaires se vendent 400 $ chacun. Les moins rares coûtent environ 250 $.

En quelques années, les MP 8 bits ont permis de créer les premiers micro-ordinateurs domestiques.

Naturellement, l'avantage ici est que l'on peut choisir de connecter au MP différents périphériques aux caractéristiques différentes (ce qui n'est pas possible dans tous les cas sur un MK). La deuxième différence principale entre un microprocesseur et un microcontrôleur est que les microprocesseurs ont plus de puissance de traitement. Cela n’a aucun sens de les mettre dans des micro-ondes et des ampoules intelligentes. Les microprocesseurs sont utilisés là où Puissance de calcul MK ne peut plus faire face - consoles de jeux, appareils et instruments informatiques complexes, gadgets.

Il s'avère que pour garantir la fonctionnalité du microprocesseur, vous devez le connecter à au moins un ensemble minimum de périphériques. Inconvénients :

  1. Taille - si dans le cas d'un MK tout est déjà dans un seul boîtier, alors l'ensemble minimum d'éléments pour le fonctionnement d'un MP prend plus de place.
  2. Prix ​​- généralement, l'ensemble de « l'assemblage » des composants d'un MP est beaucoup plus cher que les microcontrôleurs « nus ».
  1. Performances – Les microprocesseurs ont de meilleures performances que les microcontrôleurs.
  2. Choix - dans le cas de MP, vous avez la possibilité de sélectionner les composants. Cela vous permettra d'installer des périphériques plus adaptés à vos besoins.

Application

Le microcontrôleur a une simplicité évidente : moins de matériel est nécessaire, il est plus facile de travailler avec lui au niveau logiciel et le coût commence à quelques centimes. Mais cette simplicité s'étend également aux performances. Comme mentionné ci-dessus, un microcontrôleur n’est pas capable de fournir des performances élevées comparables à celles des microprocesseurs. Bien que les microprocesseurs nécessitent une commutation matérielle externe et soient relativement complexes à utiliser par rapport aux microprocesseurs, ils peuvent facilement être utilisés dans des dispositifs plus complexes.

Cependant, il arrive parfois que des artisans apparaissent sur le réseau et poussent l'ESP32 dans le microcontrôleur.

Différence entre microprocesseurs et microcontrôleurs. et j'ai obtenu la meilleure réponse

Réponse de Releboy[gourou]
MICROPROCESSEUR - un dispositif de traitement de l'information indépendant ou faisant partie d'un micro-ordinateur, réalisé sous la forme d'un ou plusieurs grands circuits intégrés (en substance, il s'agit du cerveau du microcontrôleur). L'avènement des micro-ordinateurs monopuces est associé au début de l'ère de l'application massive de l'automatisation informatique dans le domaine de la gestion. Apparemment, cette circonstance a défini le terme « contrôleur » (contrôleur anglais - régulateur, dispositif de contrôle). En raison du déclin de la production nationale et de l'importation accrue d'équipements, y compris de matériel informatique, le terme « microcontrôleur » (MK) a remplacé le terme précédemment utilisé « micro-ordinateur à puce unique ». Le premier brevet pour un micro-ordinateur monopuce a été délivré en 1971 aux ingénieurs M. Kochren et G. Boone, employés de la société américaine Texas Instruments. Ce sont eux qui ont proposé de placer sur une seule puce non seulement un processeur, mais également des périphériques de mémoire et d'E/S. Lors de la conception de microcontrôleurs, il existe un équilibre entre la taille et le coût, d'une part, et la flexibilité et les performances, d'autre part. Pour différentes applications, l’équilibre optimal de ces paramètres et d’autres peut varier considérablement. Il y a donc grande quantité types de microcontrôleurs, différant par l'architecture du module processeur, la taille et le type de mémoire intégrée, un ensemble de périphériques, le type de boîtier, etc. Alors que les processeurs polyvalents 16 bits ont longtemps été complètement remplacés par des processeurs plus modèles productifs, les microcontrôleurs 8 bits continuent d'être largement utilisés . En effet, il existe un grand nombre d'applications dans lesquelles des performances élevées ne sont pas requises, mais un faible coût est important. Dans le même temps, il existe des microcontrôleurs dotés de plus grandes capacités de calcul, tels que les processeurs de signaux numériques. Aujourd'hui, le terme microcontrôleur désigne un ordinateur qui contrôle les périphériques dans mode automatique sans participation de l'opérateur. Travaillez généralement à des niveaux d’automatisation inférieurs. Les ordinateurs personnels modernes sont des microcontrôleurs puissants et rapides destinés à effectuer un grand nombre d'opérations et de fonctions avec la participation d'un opérateur. Collecter et traiter les informations des contrôleurs. Utilisé sur niveaux élevés automatisation.

Réponse de Yeerenky[gourou]
Autant que je sache, le microprocesseur est déjà programmé. et le microcontrôleur peut être programmé à votre guise, en fonction des tâches, le même contrôleur peut contrôler le fonctionnement, par exemple, d'un indicateur à plusieurs chiffres avec différents comptes, générer une fréquence, contrôler la commutation divers appareils même en HF pour contrôler le fonctionnement d'une interface (par exemple un modem), ils sont généralement utilisés de manière relativement peu coûteuse appareils multifonctions en fonction de l'heure de sortie de l'appareil, le service fonctionnel peut varier ; il est défini par le programme ;


Réponse de Vladimir Nikolaïev[gourou]
Un microcontrôleur est un ordinateur sur une seule puce. Conçu pour contrôler divers appareils électroniques et interagir entre eux conformément au programme intégré dans le microcontrôleur. Contrairement aux microprocesseurs utilisés dans Ordinateur personnel, les microcontrôleurs contiennent des dispositifs supplémentaires intégrés. Ces appareils effectuent leurs tâches sous le contrôle du cœur du microprocesseur du microcontrôleur.

Altera-Cyclone et Arduino

Essence de la question. Différence entre FPGA et microcontrôleur

Tout microproger débutant à un certain stade de son développement se demande ce que différence entre les FPGA(d'Altera ou Xilinx) et microcontrôleur(microprocesseur) ?

Vous lisez les forums - les experts dans le domaine écrivent que ce sont des choses complètement différentes qui ne peuvent être comparées, arguant qu'elles ont des significations différentes. architecture. Vous lisez un manuel sur Verilog ou C++ : ils utilisent tous deux des opérateurs similaires avec des fonctionnalités similaires, même la syntaxe est similaire, mais pourquoi sont-ils différents ? Vous montez sur le rover martien - il y a des LED (ou même simplement des ampoules) qui utilisent FPGA Ils clignent des yeux, vous regardez des projets sur Arduino - ils contrôlent des robots. Arrêt!

Mais maintenant, arrêtons-nous et demandons-nous : pourquoi avec FPGA- une ampoule stupide, et Arduino - un robot intelligent ? Après tout, le premier et le second semblent être des appareils programmables, vraiment ? FPGA Pas assez de capacités du robot ?

Dans une certaine mesure, l'essence de la question « Qu'est-ce que différence entre FPGA et microcontrôleur? se révèle précisément dans cet exemple.

Notons-le tout de suite. Fonctionnel FPGA au départ pas inférieur microcontrôleur(et le microprocesseur d'ailleurs aussi), plus précisément - les fonctions principales de l'un et de l'autre sont essentiellement identiques - produire un 0 ou un 1 logique dans certaines conditions, et si l'on parle de vitesse, le nombre de broches (jambes ) et les capacités de traitement du pipeline, puis microcontrôleur avant FPGA mais généralement loin. Mais il y a un « mais ». Il est temps de développer le même algorithme logiciel sur deux différents appareils (FPGA et microcontrôleur) diffère plusieurs fois, voire des dizaines de fois. Exactement FPGA ici, dans 99% des cas, il est bien inférieur au MK. Et ce n’est pas du tout une question de confusion linguistique Verilog,VHDL ou AHDL, et dans l'appareil lui-même FPGA.

Sur l'interaction du langage de programme avec l'architecture du FPGA et du microcontrôleur

FPGA:V FPGA et il n'y a pas de chaînes automatisées complexes (qui font une partie du travail à votre place). Il n'y a que des routes et des autoroutes en fil de fer, des entrées, des sorties, des blocs logiques et des blocs mémoire. Parmi les traces, il existe une classe spéciale - la trace de synchronisation (liée à certaines branches à travers lesquelles il est recommandé de conduire la fréquence d'horloge).

Le casting principal:

Le tracé est un métal soudé sur les couches du microcircuit qui conduit l'électricité entre les blocs.

Les blocs sont des emplacements individuels sur le plateau, constitués de cellules. Les blocs sont utilisés pour stocker des informations, des multiplications, des additions et des opérations logiques sur les signaux en général.

Les cellules sont des groupes de plusieurs unités à plusieurs dizaines de transistors.

Le transistor est l'élément principal de la logique TTL.

Conclusions (jambes du microcircuit) - l'échange s'effectue à travers elles FPGA avec le monde extérieur. Il existe des jambes spéciales conçues pour le micrologiciel, la réception de la fréquence d'horloge, l'alimentation électrique, ainsi que des jambes dont le but est défini par l'utilisateur dans le programme. Et, en règle générale, il y en a beaucoup plus que microcontrôleur.

Générateur d'horloge - une puce externe qui génère les impulsions d'horloge sur lesquelles est basé la plupart du travail FPGA.

Architecture FPGA. Interrelation des éléments constitutifs

Les traces sont connectées aux blocs à l'aide de transistors CMOS spéciaux. Ces transistors sont capables de maintenir leur état (ouvert ou fermé) pendant une longue période. L'état du transistor change lorsqu'un signal est appliqué le long d'un certain chemin, qui n'est utilisé que lorsque Programmation FPGA. Autrement dit, au moment du micrologiciel, la tension est fournie à un certain ensemble de transistors CMOS. Cet ensemble est déterminé par le programme du micrologiciel. Ainsi, une construction complexe d'un vaste réseau de routes et d'autoroutes a lieu à l'intérieur FPGA, reliant un grand nombre de blocs logiques les uns aux autres de manière complexe. Dans le programme, vous décrivez exactement quel algorithme doit être exécuté et le micrologiciel connecte entre eux les éléments qui exécutent les fonctions que vous décrivez dans le programme. Les signaux parcourent la voie de bloc en bloc. Un itinéraire complexe est spécifié par le programme.


Architecture FPGA(FPGA)

Architecture du microcontrôleur

Dans cet élément de la logique TTL, toutes les opérations de traitement des signaux individuels sont effectuées indépendamment de vous. Vous indiquez uniquement quoi faire avec tel ou tel ensemble de signaux reçus et où émettre les signaux qui doivent être transmis. Architecture microcontrôleur se compose de blocs complètement différents de ceux FPGA. Et les connexions entre les blocs s'effectuent via des autoroutes permanentes (et non reflasquées). Parmi les blocs de MK, on ​​distingue les principaux :

La mémoire morte (ROM) est la mémoire dans laquelle votre programme est stocké. Il comprend des algorithmes d'action et des constantes. Ainsi que des bibliothèques (ensembles) de commandes et d'algorithmes.

Mémoire vive (RAM) - mémoire utilisée microcontrôleur pour le stockage temporaire des données (comme les déclencheurs dans FPGA). Par exemple, lors d'un calcul en plusieurs étapes. Disons que vous devez multiplier le premier nombre qui vient par le deuxième (1ère action), puis le troisième par le quatrième (2ème action) et additionner le résultat (3ème action). Dans ce cas, le résultat de l'action 1 sera inscrit dans la RAM pendant la durée de la deuxième action, puis le résultat de l'action 2 sera inscrit. Et puis ces deux résultats iront de la RAM pour calculer l’action 3.

Le processeur est une calculatrice microcontrôleur. Il communique avec la RAM, ainsi qu'avec la mémoire permanente. Les calculs sont échangés avec celui opérationnel. À partir de la constante, le processeur reçoit des commandes qui l'obligent à exécuter certains algorithmes et actions avec des signaux d'entrée.

Installations d'E/S (ports) et ports d'E/S série – Broches microcontrôleur conçu pour interagir avec le monde extérieur.

Les minuteries sont des blocs conçus pour compter le nombre de cycles lors de l'exécution d'algorithmes.

Le contrôleur de bus est un bloc qui contrôle l'échange entre tous les blocs de microcontrôleur. Il traite les demandes, envoie des commandes de contrôle, organise et rationalise la communication au sein du cristal.

Le contrôleur d'interruption est un bloc qui reçoit les demandes d'interruption des périphériques externes. Une demande d'interruption est un signal provenant d'un périphérique externe informant qu'il doit échanger des informations avec microcontrôleur.

Autoroutes intérieures - itinéraires aménagés à l'intérieur microcontrôleur pour l'échange d'informations entre les blocs.

Générateur d'horloge - un microcircuit externe qui génère des impulsions d'horloge sur lesquelles toutes fonctionnement du microcontrôleur.

Interrelation des blocs composants du microcontrôleur

DANS microcontrôleur, V différences depuis FPGA, le travail se déroule entre les blocs ci-dessus, qui ont un complexe architecture, facilitant le processus de développement du programme. Lors du flashage du firmware, vous modifiez uniquement la mémoire permanente, sur laquelle repose tout le travail du MK.


La principale différence entre FPGA et microcontrôleur

Le FPGA est cousu au niveau matériel, presque sur toute la surface de la puce. Les signaux transitent par des chaînes complexes de transistors. Le microprocesseur est flashé au niveau du programme matériel, les signaux passent en groupes, de bloc en bloc - de la mémoire au processeur, à la RAM, de la RAM au processeur, du processeur aux ports d'E/S, des ports d'E/S à la RAM, de RAM... et ainsi de suite. Conclusion : en raison de Architectures FPGA gagne en vitesse et en possibilités plus larges de traitement du pipeline, MK gagne en facilité d'écriture des algorithmes. En raison de plus manière simple descriptions de programmes, imagination du développeur Microcontrôleur moins contraint par le temps de débogage et de développement, et donc par le temps de programmation du même robot sur MK et FPGA volonté différer plusieurs fois. Cependant, un robot fonctionnant sur FPGA sera beaucoup plus rapide, plus précis et agile.

Matériel et logiciel.

DANS FPGA vous devez faire tout le travail vous-même, manuellement : afin d'implémenter n'importe quel programme sur FPGA, vous devez suivre chaque signal pour chaque fil entrant FPGA, placez certains signaux dans des cellules mémoire, assurez-vous qu'au bon moment ces cellules mémoire sont accédées par un autre signal, que vous surveillez également ou même générez, et par conséquent, l'ensemble des signaux retardés en mémoire active le signal dont vous avez besoin, qui, par exemple, ira à une certaine broche de sortie et allumera la LED qui y est connectée. Certains signaux ne vont pas en mémoire, mais, par exemple, pour lancer une certaine partie de l'algorithme (programme). Autrement dit, dans le langage microproger, ces jambes sont adressables. Par exemple, sur notre carte dans notre programme, nous avons trois broches d'adresse pour activer certains algorithmes non liés (ou liés), que nous avons implémentés dans le langage Verilog dans FPGA. Également dans le programme, en plus de trois jambes d'adresse, nous avons également, par exemple, 20 jambes d'informations, à travers lesquelles un ensemble de signaux d'entrée (par exemple, provenant de différents capteurs) arrive avec des informations (par exemple, la température du l'eau dans l'aquarium à partir du capteur de température de l'eau dans l'aquarium). 20 pattes = 20 bits. 3 pattes -3 bits. Lorsque le signal d'adresse 001 arrive (à partir de trois jambes d'adresse), nous lançons le premier algorithme, qui écrit 20 signaux d'information dans 20 cellules mémoire (20 déclencheurs), puis nous multiplions les 20 signaux suivants par les 20 reçus plus tôt, et écrivons le résultat de la multiplication en mémoire, puis envoyez-la le long d'autres jambes, par exemple dans le thermostat d'eau d'un aquarium. Mais nous n'enverrons ce résultat que lorsqu'un code, par exemple 011, arrivera à nos étapes d'adresse et lancera l'algorithme de lecture et de transmission. Eh bien, bien sûr, nous « envoyons », « lisons » et écrivons autre chose manuellement. Nous contrôlons chaque signal à chaque étape du travail FPGA sur un certain chemin, nous ne perdons pas. Traitement ou enregistrement. Ajoutez ou multipliez. N'oubliez pas de l'écrire. N'oubliez pas d'accepter le signal suivant et de l'écrire sur d'autres déclencheurs. Ajoutez également ici les travaux liés à fréquence d'horloge, la synchronisation (qui est également implémentée manuellement), les erreurs inévitables lors des étapes de développement et de débogage et un tas d'autres problèmes qu'il est tout simplement inutile de considérer dans cet article. Difficile. Pendant longtemps. Mais la sortie fonctionne très rapidement, sans problèmes ni ralentissements. Fer!

Maintenant microcontrôleur. 20 pattes pour recevoir des informations - pour la plupart microcontrôleurs une tâche physiquement impossible. Mais 8 ou 16 - oui s'il vous plaît ! 3 informations informatives - faciles ! Programme? A l'adresse 001, multipliez le premier chiffre reçu par le second, à l'adresse 011 envoyez le résultat au thermostat. Tous! Rapide. Facilement. Pas génial, mais efficace. Si vous écrivez le programme avec beaucoup de compétence, sans problèmes ni freins. Par programmation !

Matériel et programme ! C'est l'essentiel différence entre FPGA et microcontrôleur.

DANS microcontrôleur La plupart des algorithmes déroutants mais fréquemment utilisés sont déjà câblés dans le cristal. Il te suffit d'appeler par programmation la bibliothèque souhaitée dans laquelle cet algorithme est stocké, appelez-le par son nom et il fera tout le sale boulot à votre place. D'une part, c'est pratique et nécessite moins de connaissances sur structure interne microcircuits. Mikrik s'occupe du suivi des signaux reçus, générés et résultants, de leur stockage, de leur traitement et de leur délai. Il fait tout lui-même. Pour la plupart des tâches de microprogrammation, c'est ce qui est nécessaire. Mais si vous utilisez toutes ces commodités de manière analphabète, il est alors possible opération incorrecte. Matériel et programme !

Conclusion

Les développeurs modernes de processeurs et de microprocesseurs développent initialement leurs appareils sur FPGA. Oui, oui, vous avez bien deviné : d'abord, ils imitent le créé architecture du microcontrôleurà travers le développement et le firmware du programme sur FPGA, puis mesurer la vitesse d'exécution des algorithmes pour un agencement particulier de blocs MC simulés et un ensemble particulier de fonctionnalités pour chaque bloc séparément.

Selon les caractéristiques du signal de sortie, FPGA le plus souvent conçu pour 3,3 V, 20 mA, Microcontrôleurà 5V, 20mA.

Sous microcontrôleur AVR, implémenté avec succès dans la plateforme Arduino, a été beaucoup écrit logiciels open source, une grande variété de gadgets ont été développés sous forme de capteurs, de moteurs, de moniteurs et tout ce que votre cœur désire ! Arduino ressemble désormais davantage à un kit de construction de jeu pour enfants et adultes. N'oubliez cependant pas que le noyau de ce constructeur contrôle " maisons intelligentes", moderne électronique grand public, équipements, voitures, avions, armes et même vaisseau spatial. Sans aucun doute, un tel jeu de construction sera l'un des meilleurs cadeaux pour tout représentant de la moitié la plus forte de l'humanité.

En principe, tout est simple !

Vous avez encore des questions ? Écrire un commentaire. Nous vous répondrons et vous aiderons à comprendre =)


Différence clé: La différence entre un microprocesseur et un microcontrôleur réside dans la présence de RAM, ROM et autres périphériques dans le microcontrôleur. Un microprocesseur contient uniquement le processeur et ne comporte aucun autre composant.

Le microprocesseur et le microcontrôleur sont tous deux les principaux processeurs utilisés pour faire fonctionner les ordinateurs. Les fonctions des deux processeurs sont les mêmes. La principale différence entre eux est que les microprocesseurs effectuent diverses fonctions, alors que les microcontrôleurs sont de petits ordinateurs conçus pour des tâches spécifiques. Cet article vous aide à trouver plus de différences entre les deux processeurs.

Les microprocesseurs sont généralement appelés unité centrale de traitement ou processeur de micro-ordinateur. On dit que c’est le cœur et le cerveau d’une machine informatisée.

Un microprocesseur est nécessaire pour effectuer de nombreuses tâches. Il s'agit d'un petit ordinateur utilisé pour effectuer des opérations arithmétiques et logiques telles que le contrôle du système, le stockage de données, etc. Le microprocesseur traite les données d'entrée ou de sortie des périphériques et donne une fonction pour renvoyer les résultats. Le premier microprocesseur commercial a été lancé par Intel en novembre 1971 et s'appelait le 4004 ; c'était un microprocesseur 4 bits.

Les opérations effectuées par le microprocesseur ont un objectif général. Par conséquent, il est considéré comme nécessaire d’effectuer toute opération logique sur une machine informatisée. Les microprocesseurs sont configurés sur des puces ; il est composé de transistors miniatures et de quelques autres éléments de circuit sur un seul circuit intégré à semi-conducteur pour effectuer ses tâches dans un ordinateur. Il est abrégé en « µP » ou « uP ». Il existe cinq principaux types de processeurs :

  • Jeu d'instructions complet pour le microprocesseur
  • Microprocesseurs avec jeu d'instructions réduit
  • Processeurs superscalaires
  • Circuit intégré spécifique à une application
  • Multiprocesseurs de signaux numériques

Un microcontrôleur est un ordinateur embarqué optimisé pour contrôler les appareils électriques. Il s'agit d'un appareil qui comprend un microprocesseur, une mémoire et des périphériques d'entrée/sortie sur une seule puce. On dit que c’est le cœur d’un système embarqué.

Les microcontrôleurs sont de nature spécifique à la tâche qu’ils doivent accomplir. Il dispose d'un microprocesseur sur sa carte pour effectuer toutes les opérations logiques du gadget. Une fois le microcontrôleur programmé, il peut fonctionner seul avec un ensemble d’instructions stockées et effectuer des opérations ou des tâches selon les besoins. Elle se veut autosuffisante et rentable. De plus, le microcontrôleur représente un ensemble de fractions dans le système, ce qui est fondamental pour la configuration circuit imprimé. Un « système informatique fixe » est conçu pour exécuter une ou plusieurs fonctions encore et encore en temps réel. Ce système est intégré au matériel et aux éléments motorisés d’une machine informatisée.

Les microcontrôleurs sont conçus pour effectuer des opérations spécifiques permettant de contrôler des systèmes spécifiques. Il est abrégé en « uC », « µC » ou « MCU ».

Les microcontrôleurs sont comme un petit ordinateur dans lequel le processeur, l'unité de mémoire comme la RAM et la ROM, les périphériques d'E/S, les minuteries et les compteurs sont intégrés dans un seul circuit intégré, c'est-à-dire IC. Ils se connectent facilement à des périphériques tels que les ports série, ADC, DAC, Bluetooth, Wi-Fi, etc. Ici, le processus de couplage est plus rapide que celui du microprocesseur. Dans la plupart des cas, les microcontrôleurs utilisent l'architecture RISC ou CISM pour effectuer des tâches sur différentes machines. Divers types microcontrôleurs :

  • microcontrôleur 8 bits
  • microcontrôleur 16 bits
  • microcontrôleur 32 bits
  • Microcontrôleur intégré
  • Microcontrôleur intégré

Comparaison entre microprocesseur et microcontrôleur :

Microprocesseur

microcontrôleur

C'est le cœur du système informatique.

C'est le cœur du système embarqué.

Contient

Il contient le processeur, les registres à usage général, les pointeurs de pile, les compteurs de programme, la synchronisation d'horloge et les circuits d'interruption.

Il contient des circuits à microprocesseur et intègre une ROM, une RAM, des périphériques d'E/S, des minuteries et des compteurs.

Mémoire de données

Il contient de nombreuses instructions pour déplacer les données entre la mémoire et le processeur.

Il comporte une ou deux instructions pour déplacer les données entre la mémoire et le processeur.

C'est gros.

C'est petit.

Prix

Le coût de l’ensemble du système augmente.

Le coût de l'ensemble du système est faible.

Instructions sur les bits

Il comporte des instructions de traitement sur un ou deux bits.

Il comporte de nombreuses instructions de traitement de bits.

Numéros d'enregistrement

A moins de registres ; les opérations sont donc basées sur la mémoire.

Il a plus de registres ; par conséquent, les programmes sont plus faciles à écrire.

Stockage

Il est basé sur l'architecture von Neumann, où le programme et les données sont stockés dans un seul module de mémoire.

Il est basé sur l'architecture Harvard, où la mémoire programme et la mémoire données sont stockées dans un module séparé.

Les temps d'accès à la mémoire et aux périphériques d'E/S sont plus longs.

Moins de temps d'accès à la mémoire intégrée et aux périphériques d'E/S.

matériel

Cela nécessite plus de matériel.

Cela nécessite moins de matériel.

Publications sur le sujet