Eine grundlegende Entscheidung in der Architektur eingebetteter Systeme ist, ob der Rechenkern des Geräts ein Mikrocontroller (MCU), ein Mikroprozessor (MPU) oder ein Crossover-Prozessor sein soll. Obwohl sie alle Softwarebefehle zur Steuerung von Hardware ausführen, unterscheiden sich ihre interne Architektur, Speicherhierarchien und Softwareparadigmen grundlegend. Die Wahl der falschen Kategorie für ein Produkt führt typischerweise zu katastrophalen Kostenüberschreitungen, zur Nichteinhaltung von Leistungsbudgets oder zur Unfähigkeit, deterministische Timing-Anforderungen zu erfüllen.
1. Mikrocontroller (MCUs)
Ein MCU (z. B. ARM Cortex-M-Serie, ESP32, STM32, PIC32) ist für die deterministische Echtzeitsteuerung ausgelegt. Er ist im Wesentlichen ein kompletter Computer, der auf einem einzigen Siliziumchip synthetisiert ist.
- Speicherarchitektur: MCUs integrieren internen SRAM (für Daten) und internen Flash-Speicher (für Code). Der Code wird typischerweise direkt aus dem On-Chip-Flash ausgeführt (Execute-In-Place, XIP). Dies garantiert sehr gut vorhersagbare Ausführungszeiten, da die Latenzen beim Speicherzugriff bekannt und minimal sind.
- Betriebssystem: MCUs führen entweder „Bare-Metal“-Code (eine einzige, endlose
while(1)-Schleife mit Interrupt-Service-Routinen) oder ein Echtzeitbetriebssystem (RTOS) wie FreeRTOS oder Zephyr aus. - Leistungsmerkmale: Sie arbeiten im Bereich von zehn bis hunderten Megahertz (z. B. 16 MHz bis 600 MHz).
- Leistungsaufnahme: MCUs zeichnen sich in Low-Power-Anwendungen aus. Sie können in Tiefschlafmodi mit einer Leistungsaufnahme im einstelligen Mikroamperebereich (µA) wechseln und innerhalb von Mikrosekunden aufwachen, um einen Interrupt zu verarbeiten.
- Anwendungsfälle: Motorsteuerung (FOC-Algorithmen), stromsparende IoT-Sensoren, Wearables und harte Echtzeit-Sicherheitssysteme (z. B. ABS-Bremsen).
2. Mikroprozessoren (MPUs)
Ein MPU (z. B. ARM Cortex-A-Serie, NXP i.MX, Broadcom BCM283x im Raspberry Pi) ist für hohen Datendurchsatz und komplexe Anwendungsverarbeitung konzipiert. Im Gegensatz zu einem MCU ist ein MPU kein eigenständiges System; er ist der zentrale Verarbeitungskern, der externe unterstützende Chips benötigt.
- Speicherarchitektur: MPUs fehlt ausreichender interner Speicher, um komplexe Anwendungen zu speichern oder auszuführen. Sie sind auf externen Speicher mit hoher Dichte angewiesen (DDR3/DDR4-RAM für die Ausführung und eMMC/NAND-Flash für die nichtflüchtige Speicherung). Da der Zugriff auf externen Speicher langsam ist, nutzen MPUs intensiv L1/L2-Cache-Strukturen.
- Betriebssystem: MPUs verfügen über eine Speicherverwaltungseinheit (MMU). Diese Hardwarekomponente übersetzt virtuelle Speicheradressen in physische Adressen und ermöglicht so den Betrieb von umfangreichen Allzweck-Betriebssystemen wie Embedded Linux, Android oder Windows IoT.
- Leistungsmerkmale: Sie arbeiten im Gigahertz-Bereich (z. B. 1 GHz bis 3 GHz+) und sind oft mehrkernig (z. B. Quad-Core Cortex-A53).
- Leistungsaufnahme: MPUs haben eine deutlich höhere Leistungsaufnahme (oft in Watt gemessen, nicht in Milli- oder Mikrowatt) und benötigen in der Regel komplexe Power-Management-ICs (PMICs), um mehrere Spannungsschienen zu sequenzieren. Die Startzeiten werden in Sekunden gemessen, nicht in Mikrosekunden.
- Anwendungsfälle: Intelligente Displays (HMI), Netzwerk-Gateways, Videoverarbeitung/-streaming und Anwendungen, die komplexe Netzwerk-Stacks (TLS/SSL, Wi-Fi 6) oder containerisierte Software von Drittanbietern (Docker) erfordern.
3. Crossover-Prozessoren
In den letzten Jahren ist die klare Trennlinie zwischen MCUs und MPUs mit dem Aufkommen von „Crossover“-Prozessoren (z. B. NXP i.MX RT-Serie) verschwommen. Diese Bausteine bieten die hohen Taktraten eines MPU (bis zu 1 GHz), behalten aber die deterministische, SRAM-basierte Architektur ohne MMU eines MCU bei. Sie sind für extreme Echtzeit-Workloads (wie High-End-Audio-DSP oder industrielles EtherCAT) konzipiert, bei denen ein RTOS gegenüber Linux bevorzugt wird, aber die Geschwindigkeiten herkömmlicher MCUs nicht ausreichen.