- Mikrocontroller und Mikroprozessor
- Bei der Auswahl einer MPU oder MCU zu berücksichtigende Faktoren
- 1. Rechenleistung
- 2. Schnittstellen
- 3. Speicher
- 4. Macht
- Fazit
Das Gehirn eines eingebetteten Geräts, das die Verarbeitungseinheit ist, ist eine Schlüsselfaktor für den Erfolg oder Misserfolg des Geräts bei der Erfüllung der Aufgabe (n), für die es entwickelt wurde. Die Verarbeitungseinheit ist für jeden Prozess verantwortlich, der von der Eingabe in das System bis zur endgültigen Ausgabe reicht. Daher wird die Auswahl der richtigen Plattform für das Gehirn während des Gerätedesigns sehr wichtig, da alles andere von der Genauigkeit dieser Entscheidung abhängt.
Mikrocontroller und Mikroprozessor
Die für eingebettete Geräte verwendeten Verarbeitungskomponenten können in zwei große Kategorien unterteilt werden. Mikrocontroller und Mikroprozessoren.
Mikrocontroller sind kleine Computergeräte auf einem einzelnen Chip, die einen oder mehrere Prozessorkerne enthalten, wobei Speichergeräte neben programmierbaren E / A-Ports (Special and General Purpose Input and Output) eingebettet sind. Sie werden insbesondere in Anwendungen verwendet, in denen nur bestimmte sich wiederholende Aufgaben ausgeführt werden müssen. Wir haben bereits über die Auswahl des richtigen Mikrocontrollers für Ihre eingebetteten Projekte gesprochen.
Mikroprozessoren hingegen sind Allzweck-Computergeräte, die alle Funktionen der Zentraleinheit auf einem Chip enthalten, jedoch keine Peripheriegeräte wie Speicher sowie Eingangs- und Ausgangsstifte wie den Mikrocontroller enthalten.
Obwohl die Hersteller jetzt viele Dinge ändern, die die Grenze zwischen Mikrocontrollern und Mikroprozessoren verwischen, wie die Verwendung von Speicher auf Chips für Mikroprozessoren und die Fähigkeit von Mikrocontrollern, sich mit einem externen Speicher zu verbinden, bestehen zwischen diesen Komponenten und dem Designer immer noch wesentliche Unterschiede müssen die besten zwischen ihnen für ein bestimmtes Projekt wählen.
Erfahren Sie mehr über den Unterschied zwischen Mikrocontroller und Mikroprozessor.
Bei der Auswahl einer MPU oder MCU zu berücksichtigende Faktoren
Bevor Sie entscheiden, in welche Richtung das Verarbeitungsgerät für das Design eines eingebetteten Produkts gehen soll, müssen Sie die Designspezifikationen entwickeln. Die Entwicklung der Designspezifikationen bietet eine Möglichkeit für das Vorentwerfen von Geräten, mit deren Hilfe Details, das zu lösende Problem, die Art und Weise, wie es gelöst werden soll, im Detail identifiziert werden können, welche Komponenten verwendet werden sollen und vieles mehr. Dies hilft dem Designer, fundierte allgemeine Entscheidungen über das Projekt zu treffen und zu bestimmen, in welche Richtung die Verarbeitungseinheit fahren soll.
Einige der Faktoren in der Entwurfsspezifikation, die berücksichtigt werden müssen, bevor zwischen einem Mikrocontroller und einem Mikroprozessor gewählt wird, werden nachstehend beschrieben.
1. Rechenleistung
Die Verarbeitungsleistung ist eines der wichtigsten (wenn nicht das wichtigste) Dinge, die bei der Auswahl zwischen einem Mikrocontroller und einem Mikroprozessor zu berücksichtigen sind. Dies ist einer der Hauptfaktoren, die die Neigung von Mikroprozessoren verwendet. Sie wird in DMIPS (Dhrystone Million Instructions Per Seconds) gemessen und gibt die Anzahl der Befehle an, die ein Mikrocontroller oder Mikroprozessor in einer Sekunde verarbeiten kann. Dies ist im Wesentlichen ein Hinweis darauf, wie schnell ein Gerät eine ihm zugewiesene Aufgabe ausführen kann.
Während die Bestimmung der genauen Rechenleistung, die Ihr Entwurf erfordert, eine sehr schwierige Aufgabe sein kann, kann eine fundierte Vermutung angestellt werden, indem die Aufgabe (n) untersucht werden, für deren Ausführung das Gerät erstellt wird und welche Rechenanforderungen für diese Aufgaben möglicherweise bestehen. Zum Beispiel würde die Entwicklung eines Geräts, das die Verwendung eines vollständigen Betriebssystems erfordert, entweder Embedded Linux, Windows CE oder eines der anderen Betriebssysteme, eine Verarbeitungsleistung von bis zu 500 DMIPS erfordern, die wie ein Prozessor klingt? Ja. Um ein Betriebssystem auf einem Gerät auszuführen, ist eine Speicherverwaltungseinheit (Memory Management Unit, MMU) erforderlich, die die erforderliche Verarbeitungsleistung erhöht. Geräteanwendungen, die viel Arithmetik erfordern, erfordern auch sehr hohe DMIPSWerte und je mehr mathematische / numerische Berechnungen das Gerät durchführen soll, desto mehr tendieren die Entwurfsanforderungen aufgrund der erforderlichen Verarbeitungsleistung zur Verwendung eines Mikroprozessors.
Eine weitere wichtige Auswirkung der Verarbeitungsleistung, die sich auf die Wahl zwischen Mikroprozessoren und Mikrocontrollern auswirkt, ist die Komplexität oder Einfachheit von Dingen wie Benutzeroberflächen. Es ist heutzutage wünschenswert, farbenfrohe und interaktive GUIs zu haben, selbst für die grundlegendsten Anwendungen. Die meisten Bibliotheken, die zum Erstellen von Benutzeroberflächen wie QT verwendet werden, benötigen eine Verarbeitungsleistung von bis zu 80 - 100 DMIPS. Je mehr Animationen, Bilder und andere Multimedia-Inhalte angezeigt werden, desto mehr Verarbeitungsleistung ist erforderlich. Einfachere Benutzeroberflächen auf Bildschirmen mit niedriger Auflösung erfordern jedoch wenig Rechenleistung und können mit Mikrocontrollern betrieben werden, da heutzutage eine ganze Reihe von ihnen über eingebettete Schnittstellen für die Interaktion mit verschiedenen Displays verfügen
Abgesehen von einigen der oben genannten Kernfunktionen ist es wichtig, etwas Rechenleistung für die Kommunikation und andere Peripheriegeräte zu reservieren. Obwohl die meisten oben angegebenen Beispiele dazu neigen, die Verwendung eines Mikroprozessors zu unterstützen, sind sie im Vergleich zu Mikrocontrollern im Allgemeinen teurer und stellen einen Overkill dar, wenn sie in bestimmten Lösungen verwendet werden. Beispielsweise führt die Verwendung eines 500 DMIPS-Mikroprozessors zur Automatisierung einer Glühbirne zu den Gesamtkosten des Produkts höher als normal und könnte letztendlich zu einem Marktversagen führen.
2. Schnittstellen
Die Schnittstelle zum Verbinden verschiedener Elemente des Produkts ist einer der Faktoren, die berücksichtigt werden müssen, bevor zwischen einem Mikrocontroller und einem Mikroprozessor gewählt wird. Es ist wichtig sicherzustellen, dass die zu verwendende Verarbeitungseinheit über die Schnittstellen verfügt, die von den anderen Komponenten benötigt werden.
Unter dem Gesichtspunkt der Konnektivität und Kommunikation verfügen die meisten Mikrocontroller und Mikroprozessoren beispielsweise über die Schnittstellen, die für die Verbindung mit Kommunikationsgeräten erforderlich sind. Wenn jedoch Hochgeschwindigkeitskommunikationsperipheriegeräte wie die Super-Speed-USB 3.0-Schnittstelle, mehrere 10/100-Ethernet-Ports oder Gigabit-Ethernet-Ports erforderlich sind, sind dies erforderlich Die Neigung in Richtung des Mikroprozessors als Schnittstelle, die zur Unterstützung dieser Daten erforderlich ist, befindet sich im Allgemeinen nur auf diesen, da sie die großen Datenmengen und die Geschwindigkeit, mit der diese Daten übertragen werden, besser verarbeiten und verarbeiten können.
Der Einfluss der für diese Schnittstellen verwendeten Protokolle auf die für die Firmware erforderliche Speichermenge sollte bestätigt werden, da sie tendenziell den Speicherbedarf erhöhen. Es ist eine allgemeine Faustregel, dass ein mikroprozessorbasiertes Design für Anwendungen verwendet wird, die eine Hochgeschwindigkeitsverbindung mit großen Datenmengen erfordern, die ausgetauscht werden, insbesondere wenn das System die Verwendung eines Betriebssystems umfasst.
3. Speicher
Diese beiden Datenverarbeitungsgeräte behandeln Speicher und Datenspeicherung unterschiedlich. Mikrocontroller verfügen beispielsweise über eingebettete Festspeichergeräte, während Mikroprozessoren über Schnittstellen verfügen, an die Speichergeräte angeschlossen werden können. Zwei Hauptauswirkungen davon sind:
Kosten
Der Mikrocontroller wird zu einer billigeren Lösung, da keine zusätzliche Speichervorrichtung erforderlich ist, während der Mikroprozessor aufgrund dieser zusätzlichen Anforderungen zu einer teuren Lösung wird.
Begrenzter Speicher
Der feste Speicher des Mikrocontrollers begrenzt die Datenmenge, die darauf gespeichert werden kann. Dies ist eine Situation, die für Prozessoren nicht gilt, da sie normalerweise an externe Speichergeräte angeschlossen sind. Ein gutes Beispiel dafür, wann diese Einschränkung ein Problem sein kann, ist die Entwicklung der Firmware für das Gerät. Das Hinzufügen zusätzlicher Kilobyte zur Codegröße erfordert möglicherweise eine Änderung des zu verwendenden Mikrocontrollers. Wenn das Design jedoch auf einem Prozessor basiert, muss nur das Speichergerät geändert werden. Somit bieten Mikroprozessoren mehr Flexibilität beim Speicher.
Es gibt mehrere andere Faktoren, die auf dem zu berücksichtigenden Speicher basieren. Einer davon ist die Startzeit (Startzeit). Die Mikroprozessoren speichern beispielsweise die Firmware auf einem externen Speicher (normalerweise einem externen NAND- oder seriellen Flash-Speicher), und beim Booten wird die Firmware in den DRAM des Prozessors geladen. Dies geschieht zwar innerhalb weniger Sekunden, ist jedoch für bestimmte Anwendungen möglicherweise nicht ideal. Der Mikrocontroller hingegen benötigt weniger Zeit.
Aus allgemeinen Gründen der Geschwindigkeit gewinnt die MCU normalerweise aufgrund ihrer Fähigkeit, die zeitkritischsten Anwendungen zu adressieren, aufgrund des in ihnen verwendeten Prozessorkerns, der Tatsache, dass der Speicher eingebettet ist und die mit ihnen verwendete Firmware immer entweder ein RTOS oder ein Bare-Metal-System ist C.
4. Macht
Ein letzter zu berücksichtigender Punkt ist der Stromverbrauch. Während Mikroprozessoren Energiesparmodi haben, sind diese Modi nicht so zahlreich wie die auf einer typischen MCU verfügbaren und mit den externen Komponenten, die für ein mikroprozessorbasiertes Design erforderlich sind, ist es etwas komplexer, Energiesparmodi zu erzielen. Abgesehen von den Energiesparmodi ist der tatsächliche Stromverbrauch einer MCU viel geringer als der eines Mikroprozessors. Je größer die Verarbeitungskapazität, desto mehr Strom wird benötigt, um den Prozessor am Laufen zu halten.
Mikrocontroller finden daher häufig Anwendungen, bei denen Prozessoren mit extrem geringem Stromverbrauch erforderlich sind, wie Fernbedienungen, Unterhaltungselektronik und mehrere intelligente Geräte, bei denen der Schwerpunkt des Designs auf der Langlebigkeit der Batterielebensdauer liegt. Sie werden auch dort eingesetzt, wo ein stark deterministisches Verhalten erforderlich ist.
Mikroprozessoren hingegen sind ideal für Industrie- und Verbraucheranwendungen, die ein Betriebssystem erfordern, rechenintensiv sind und eine Hochgeschwindigkeitsverbindung oder eine Benutzeroberfläche mit vielen Medieninformationen erfordern.
Fazit
Es gibt mehrere andere Faktoren, die als Determinanten für die Wahl zwischen diesen beiden Plattformen dienen und alle unter Leistung, Leistungsfähigkeit und Budget fallen. Die Gesamtauswahl wird jedoch einfacher, wenn eine ordnungsgemäße Systemvorentwicklung vorhanden ist und die Anforderungen klar angegeben sind. Mikrocontroller werden hauptsächlich in Lösungen mit einem sehr engen Stücklistenbudget und hohen Leistungsanforderungen verwendet, während Mikroprozessoren in Anwendungen mit enormen Rechen- und Leistungsanforderungen verwendet werden.