Mikroprozessor (MPU) oder Mikrocontroller (MCU)?

Mikroprozessor (MPU) oder Mikrocontroller (MCU)? Welche Faktoren sollten Sie bei der Auswahl des richtigen Verarbeitungsgeräts für Ihr nächstes Design berücksichtigen?

Was versteht man unter MPU und MCU?

Die Auswahl des richtigen Geräts als Grundlage für Ihr neues Design kann entmutigend sein. Die Suche nach der richtigen Balance zwischen Preis, Leistung und Energieverbrauch hat zahlreiche Implikationen. Zunächst geht es dabei um unmittelbare Überlegungen zur Technologie für Ihr Design. Wenn das Gerät, ob Mikrocontroller (MCU) oder Mikroprozessor (MPU), jedoch zur Grundlage eines Plattformkonzepts für mehrere neue Produkte wird, kann Ihre Entscheidung sehr weitreichende Konsequenzen haben.

Betrachten wir zunächst einige der Hauptunterschiede zwischen einer MCU und einer MPU. Typischerweise verwendet eine MCU auf dem Chip eingebetteten Flash-Speicher für die Speicherung und die Ausführung ihres Programms. Die Speicherung des Programms auf diese Weise bedeutet, dass MCUs eine sehr kurze Startzeit haben und den Code sehr schnell ausführen können. Die einzige praktische Einschränkung für die Verwendung eingebetteten Speichers besteht darin, dass der insgesamt verfügbare Speicherplatz selbstverständlich begrenzt ist. Die meisten Flash-MCU-Geräte auf dem Markt bieten maximal 2 MB Programmspeicher, was je nach Anwendung sehr einschränkend sein kann. MPUs sind nicht mit solchen Speichereinschränkungen verbunden. Sie verwenden externen Speicher für die Programm- und Datenspeicherung. Das Programm wird normalerweise in einem nichtflüchtigen Speicher wie NAND oder seriellem Flash gespeichert und beim Start in einen externen DRAM geladen und beginnt dann mit der Ausführung. Dies bedeutet, dass eine MPU nicht so schnell aktiviert wird wie eine MCU. Die DRAM- und NVM-Menge, die Sie mit dem Prozessor verbinden können, ist aber um Hunderte von Megabytes und bei NAND sogar um Gigabytes größer. Ein weiterer Unterschied ist die Stromversorgung. Durch die Einbettung ihrer eigenen Stromversorgung benötigt eine MCU nur eine einzige Spannungsschiene. Im Vergleich dazu benötigt eine MPU mehrere unterschiedliche Spannungsschienen für Kern, DDR usw. Der Entwickler muss dies mit zusätzlichen Leistungs-ICs/Konvertern an Bord berücksichtigen.

Aus Anwendungssicht können einige Aspekte der Designspezifikation die Geräteauswahl auf besondere Weise beeinflussen. So stellt sich etwa die Frage, ob die Anzahl der erforderlichen Peripherieschnittstellenkanäle höher ist als die, die eine MCU versorgen kann. Oder verlangt die Marketingspezifikation eine Benutzerschnittstellenfunktion, die mit einer MCU nicht verwirklicht werden kann, da diese nicht genug On-Chip-Speicher oder die erforderliche Leistung bietet? Wenn Sie mit diesem Wissen Ihr erstes Design beginnen, haben Sie es sehr wahrscheinlich mit zahlreichen Produktvariationen zu tun. In diesem Fall ist es sehr gut möglich, dass Sie ein plattformbasiertes Designkonzept bevorzugen. Dies würde mehr „Spielraum“ hinsichtlich Verarbeitungsleistung und Schnittstellenkapazitäten erfordern, um zukünftige Funktionserweiterungen zu ermöglichen.

Ein Attribut, das oft schwer zu bestimmen ist, ist die Verarbeitungsleistung, die für ein bestimmtes Design erforderlich sein wird. Zur Quantifizierung dieser Daten dient die Verarbeitungsleistung in „Dhrystone MIPS (DMIPS)“. So bietet ein auf ARM Cortex M4 basierter Mikrocontroller wie die SAM4 MCU von Atmel beispielsweise 150 DMIPS, während ein ARM Cortex-A5-Anwendungsprozessor (MPU) wie der Atmel SAMA5D3 bis zu 850 DMIPS liefern kann. Eine Möglichkeit zur Bestimmung des erforderlichen DMIPS-Werts besteht darin, die Bereiche der Anwendung zu betrachten, die besonders leistungshungrig sind. Die Ausführung eines vollständigen Betriebssystems wie Linux, Android oder Windows CE für Ihre Anwendung erfordert mindestens 300 bis 400 DMIPS. Für viele Anwendungen kann ein einfaches RTOS genügen und ein Wert von 50 DMIPS kann mehr als ausreichend sein. Die Verwendung eines RTOS bietet den weiteren Vorteil, dass nur wenig Speicherplatz benötigt wird; typisch ist ein Kernel mit lediglich einigen KB. Leider erfordert ein vollwertiges Betriebssystem für die Ausführung eine Speicherverwaltungseinheit (MMU). Diese wiederum legt den Typ des zu verwendenden Prozessorkerns fest und erfordert mehr Prozessorleistung.

Für die Ausführung sehr verarbeitungsintensiver Anwendungen muss zusätzlich zum Betriebssystem und zu weiteren Kommunikations- und Steuerungsaufgaben ein DMIPS-Bereich reserviert werden. Je stärker die Anwendung auf Zahlen basiert, desto wahrscheinlicher ist es, dass eine MPU erforderlich ist.

Mikrocontroller- im Vergleich zu Mikroprozessor-Anwendungen

Unabhängig davon, ob die beabsichtigte Anwendung auf Unterhaltungselektronik oder industrielle Automatisierung ausgerichtet ist, kann die Benutzeroberfläche (UI) ein wichtiger Aspekt sein. Als Verbraucher sind wir mit der Verwendung farbenfroher und intuitiver grafischer Benutzeroberflächen vertraut und fühlen uns damit wohl. Auch industrielle Anwendungen verwenden immer häufiger diesen Weg für die Bedienerinteraktion, obwohl die Betriebsumgebung dies einschränken kann. Für die Benutzeroberfläche ist eine Reihe von Faktoren zu berücksichtigen. Zunächst ist da der erforderliche Verarbeitungsaufwand. Für eine UI-Bibliothek wie Qt, die häufig als Oberfläche zu Linux verwendet wird, kann ein Overhead von 80–100 DMIPS ausreichen. Der zweite Faktor ist mit der Komplexität der Benutzeroberfläche verbunden. Je mehr Animationen, Effekte oder Multimediainhalte Sie verwenden, umso mehr unterliegt das angezeigte Bild Änderungen, was selbstverständlich den Bedarf an Verarbeitungsleistung und Speicher erhöht. Und diese Anforderungen nehmen direkt mit der Auflösung zu, weshalb für UI-zentrierte Anwendungen eine MPU eher geeignet ist. Andererseits kann eine einfachere Benutzeroberfläche mit pseudostatischen Bildern auf einem Bildschirm mit geringerer Auflösung durchaus mit einer MCU auskommen. Ein weiteres Argument für MPUs ist die Tatsache, dass diese Geräte normalerweise von vornherein mit einem eingebetteten TFT LCD-Controller ausgestattet sind. Nur sehr wenige MCUs bieten diese Funktion. Der TFT LCD-Controller und einige weitere externe Treiberkomponenten müssen extern hinzugefügt werden. Dies ist zwar mit einer MCU erreichbar, der Entwickler muss jedoch die gesamte Stückliste im Auge behalten. Mittlerweile kommen einige Flash-MCUs mit eingebetteten TFT-LCD-Controllern auf den Markt. Dennoch muss ausreichend eingebetteter SRAM Speicher zur Verfügung stehen, um das Display anzusteuern. So erfordert beispielsweise das QVGA 320 x 240-16-Farben-Format 150 KB SRAM, um die Anzeige zu speisen und zu aktualisieren. Dies ist ein ziemlich hoher SRAM-Anteil. Es kann daher erforderlich sein, der Stückliste zusätzlichen Speicher hinzuzufügen und die Lücke zur MPU-Lösung zu schließen. Komplexere und stärker graphisch ausgerichtete UIs, besonders auf Bildschirmen, die größer als 4,3" sind, erfordern die Verwendung einer MPU. Wenn MPUs als dominierend gelten, wenn es darum geht, eine Benutzeroberfläche auf einem TFT-Farbbildschirm auszuführen, dann sind MCUs die Könige für die Segment- oder Punktmatrix-LCD-Steuerung und andere Bildschirme mit serieller Schnittstelle.

Anschließen von Geräten

Aus Sicht der Konnektivität sind die meisten MCU- und MPU-Geräte mit allen gängigen Peripherieschnittstellen verfügbar. Hochgeschwindigkeits-Peripheriegeräte, wie etwa HS USB 2.0-, mehrere 10/100-Ethernet-Ports oder Gigabit-Ethernet-Ports werden jedoch gewöhnlich nur mit MPUs betrieben, da diese besser mit den großen Datenmengen umgehen können, die hier zu verarbeiten sind. Eine entscheidende Frage ist, ob ausreichend geeignete Kanäle und Bandbreite für den Umgang mit diesem Datenverkehr vorhanden sind. Je nach den verwendeten Kommunikationsprotokollen sollten die Auswirkungen auf den Code-Space bei Verwendung von Drittanbieterstacks geprüft werden. Anwendungen, die eine Hochgeschwindigkeitsverbindung erfordern, insbesondere in Kombination mit der Verwendung betriebssystembasierter Stacks, erfordern ein MPU-basiertes Design. 

Ein weiterer wichtiger Aspekt, der die Auswahl zwischen einer MCU und einer MPU beeinflusst, ist die Notwendigkeit eines Echtzeit-/deterministischen Verhaltens der Anwendung. Aufgrund des in einer MCU verwendeten Prozessorkerns sowie des eingebetteten Flash und unter Berücksichtigung der verwendeten Software, bei der es sich entweder um ein RTOS oder Bare-Metal-C handelt, wird die MCU in diesem Aspekt definitiv die Führung übernehmen und die zeitkritischsten und deterministischsten Anwendungen perfekt bewältigen.

Energiemodi und Leistung von MPUs und MCUs

Ein letzter zu berücksichtigender Punkt ist der Stromverbrauch. Zwar bieten MPUs Energiesparmodi, jedoch nicht so viele (und so sparsame) wie typische MCUs. Mit der externen Hardwareunterstützung kommt ein weiterer Faktor hinzu, der es etwas komplexer machen kann, MPUs in einen energiesparenderen Modus zu versetzen. Der tatsächliche Verbrauch einer MCU ist darüber hinaus um Größenordnungen geringer als der einer MPU. Im Energiesparmodus mit SRAM und Registerwahrung können Sie dabei von einem Faktor zwischen 10 und 100 ausgehen. Offensichtlich steht dies direkt mit der Menge an RAM in Verbindung, die ein Betriebssystem beansprucht, um den Betrieb sofort fortsetzen zu können. Bei der Auswahl für ein MCU- oder ein MPU-Konzept müssen zahlreiche Entscheidungen rund um Leistung, Funktionen und das Stücklistenbudget getroffen werden. Grob gesagt, werden MCUs tendenziell eher in kostenoptimierten Lösungen eingesetzt, bei denen es vor allem auf die gründliche Kontrolle der Stückliste und auf Kosteneinsparungen ankommt. MPUs kommen eher für funktionsreiche und hochleistungsfähige Anwendungen zum Einsatz. MCUs werden hingegen häufiger in Anwendungen mit äußerst niedrigem Energieverbrauch verwendet, wie Fernbedienungen, Verbraucherelektrogeräten oder intelligenten Messgeräten, bei denen es hauptsächlich auf eine lange Batterielebensdauer und wenig oder gar nicht auf die UI-Interaktion ankommt. Sie werden auch dort eingesetzt, wo ein hochgradig deterministisches Verhalten erforderlich ist. MPUs eignen sich ideal für betriebssystembasierte Industrie- und Verbraucheranwendungen, die rechenintensiv sein können und mehrere Hochgeschwindigkeitsverbindungen oder eine umfangreiche Benutzeroberfläche erfordern.

Die Auswahl eines Lieferanten, der hoch kompatible MCU- und MPU-Produkte anbietet, bei denen Sie problemlos auf- und abwärts migrieren und die Wiederverwendung der Software maximieren können, bietet mit der Zeit die beste Investitionsrendite.


Stehen Sie auf der Liste?
Melden Sie sich an, um exklusive Angebote, Produktankündigungen und die neuesten Branchennachrichten zu erhalten.

Ähnliche Beiträge

Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.