Techtalk

Fachthema

Microcontroller vs. Embedded Linux Applikationsprozessor

Die Auswahl zwischen Microcontroller und Embedded Linux Applikationsprozessor kann weitreichende Folgen für Leistung, Kosten und Erfolg eines Produktes haben. Folgender Artikel dient als Entscheidungshilfe für EntwicklerInnen und EntscheiderInnen.

Image Platine Chip

Die Auswahl zwischen Microcontroller und Embedded Linux Applikationsprozessor kann weitreichende Folgen für Leistung, Kosten und Erfolg eines Produktes haben. Als Unterstützung bei der Entscheidungsfindung wollen wir im folgenden Artikel die jeweiligen Vor- und Nachteile näher erläutern. Als kurze Erinnerung noch die grundlegende Übersicht zu den Aufgaben der jeweiligen Prozessoren:

Microcontroller

Ein Mikrocontroller ist wie ein kleiner Computer auf einem einzigen integrierten Schaltkreis. Er enthält Prozessor, Speicher und programmierbare Input/Output – Peripheriegeräte. Microcontroller sind darauf ausgelegt, spezifische Aufgaben energieeffizient und wenn nötig in Echtzeit zu steuern (Real-Time-Operation). Die Architektur ist meist relativ einfach und auf Effizienz und niedrigen Energieverbrauch ausgelegt.

Klassische Bestandteile eines MCUs (Microcontroller) sind:

  • CPU (Central Processing Unit)
  • Speicher
    beinhaltet sowohl RAM für temporäre Datenspeicherung, als auch Flash-Speicher oder EEPROM für Programm und dauerhafte Daten
  • I/O-Ports
    zur Kommunikation mit externen Geräten wie Sensoren, Motoren und einfachen Displays
  • Timer und Interrupt-Controller
    Für Zeitmessungen und um auf Ereignisse, zB Drücken eines Knopfes) sofort reagieren zu können.

Relevante Anbieter von MCUs am Markt sind zB

  • STMicroelectronics mit den STM32-Mikrocontrollern,
  • Microchip Technology mit den PIC-Mikrocontrollern und
  • Texas Instruments.

Embedded Linux Applikationsprozessoren

Diese sind leistungsstärkere Prozessoren, die speziell für die Ausführung des Linux Betriebssystems in eingebettenten Systemen entwickelt wurden. Sie finden Anwendung in komplexeren Systemen, die auch umfangreiche Softwarefähigkeiten benötigen, etwa

  • Netzwerkgeräte
  • Multimedia-Systeme
  • Fortschrittliche, industrielle Steuerungssysteme

Die Architektur ist komplexer als bei einem Microcontroller und ähnelt mehr einem traditionellen Computer, einschließlich

  • CPU - oft mehrere Kerne, um leistungsstarke Verarbeitung zu ermöglichen
    Es gibt auch Prozessoren mit integrieren MCUs für Echtzeitanwendungen, NPUs für das Berechnen von neuronalen Netzen und GPUs für performante 2D/3D Anwendungen.
  • Speicher: RAM für den Betrieb und oft auch Möglichkeiten für externen Speicher.
  • Reichhaltige I/O-Optionen
    USB, Ethernet, HDMI, MIPI und andere Schnittstellen für vielfältige Kommunikationsmöglichkeiten.
  • Betriebssystem -  Ein Linux-Betriebssystem wie zum Beispiel GELin

Relevante Anbieter für Komponenten, die in Embedded Linux Applikationsprozessoren verwendet werden sind etwa NXP Semiconductors, Qualcomm (für ARM-basierte Prozessoren) und Intel (Atom Prozessoren für eingebettete Systeme). Ginzinger electronic systems setzt hier stark auf die flexible i.MX Serie von NXP, die gemeinsam mit dem hauseigenen GELin Betriebssystem eine starke, skalierbare Basis für jedes Projekt schafft.

Microcontroller vs. Applikationsprozessor

Microcontroller: Niedriger bis mittlerer Leistungsbereich, ausreichend für einfache bis mittelkomplexe Anwendungen.
Applikationsprozessor: Hoher Leistungsbereich, geeignet für anspruchsvolle Anwendungen, Grafik und Multitasking.

Microcontroller: Klassisch beschränkt auf grundlegende Schnittstellen wie SPI, I2C, UART. Teilweise auch mit Wireless Unterstützung.

Applikationsprozessor: Breite Palette an Connectivity-Optionen, einschließlich Wi-Fi, Bluetooth, 4G/5G, USB; HDMI, Matter, etc.

Microcontroller: Einfachere Sicherheitsfeatures, die für Anwendungen ausreichen können.

Applikationsprozessor: Fortgeschrittene Sicherheitsfeatures wie Trusted Execution Environments, Secure Boot.

Microcontroller: Niedrigerer Taktgeschwindigkeit, optimiert für Energieeffizienz.

Applikationsprozessor: Höhere Taktraten, optimiert für Leistung.

Microcontroller: Echtzeitfähig durch direkte Kontrolle über I/Os

Applikationsprozessor: Nur bei Prozessoren mit integrierten MCUs Echtzeitfähig. Alternativ gibt es Echtzeit-Linux Projekte für APUs, hier gibt es allerdings Einschränkungen.

Microcontroller: Gering, durch einfache Integration und geringe Komplexität.

Applikationsprozessor: Hoch, da Leistungsfähigkeit, viele I/O und Linux breites Spektrum an Möglichkeiten bieten.

Microcontroller: Kann bei Bare-Metal Implementierung recht komplex werden.

Applikationsprozessor: Durch Systeme wie GELin wird die Hardware einfach zu nutzen und es kann sofort mit einer Hochsprache entwickelt werden.
Gerade grafische Applikationen oder Connectivity kann hier einfach und schnell umgesetzt werden.

Microcontroller: Einfach: Oft einfacher zu warten durch weniger komplexe Systemarchitektur.

Applikationsprozessor: Mittel: Vernetzte Applikationen erfordern Sicherheitsupdates . Unser Tipp: Mit Wartungsvertrag gibt es die volle Übersicht über alle bekannten CVEs und regelmäßige Updates.

Microcontroller: In der Regel günstiger in der Anschaffung. Allerdings können hoch-performante MCUs mit externem Speicher teurer als günstige APUs werden.

Applikationsprozessor: Höhere Initialkosten und aufgrund der komplexeren Architektur.

Microcontroller: Höher, da MCUs für Anwendungen mit niedrigem Stromverbrauch optimiert sind.

Applikationsprozessor: Niedriger im Vergleich zu MCUs, da höhere Leistung meist mit höherem Energieverbrauch einhergeht.

Microcontroller: Meistens eingebettete, einfache Betriebssysteme wie Zephyr / RTOS oder kein Betriebssystem.

Applikationsprozessor: Unterstützt komplexe Betriebssysteme wie Linux (GELin Link) die eine reichhaltige Softwareumgebung ermöglichen.

Microcontroller: Geringer passend für eingebettete Systeme mit begrenzten Speicherressourcen.

Applikationsprozessor: Höher, bedingt durch fortgeschrittene Betriebssysteme und Anwendungen.

Microcontroller: Zahlreiche, oft community-basierte Unterstützung und Dokumentation.

Applikationsprozessor: Umfangreiche, professionelle Support-Systeme und umfassende Dokumentation.

Microcontroller: Ideal für IoT-Geräte, einfache Steuerungs- und Monitoring-Anwendungen.

Applikationsprozessor: Geeignet für komplexere Steuerungen, größere, performante Displays, Multimedia-Systeme und komplexe IoT-

Professionelle Unterstützung

Welcher Prozessor für welches Projekt?

Wofür man sich letztendlich auch entscheidet: Nicht nur die Hardware selbst gibt den Ausschlag für die Entscheidung im Projekt, sondern auch immer stärker der Software Support der Hersteller. Welche Entscheidung für das jeweilige Projekt getroffen wird, ist sehr individuell und hängt auch an persönlichen Präferenzen, Vorerfahrungen, Lieferantensupport und vielen „weichen Faktoren“.

Ginzinger electronic systems bietet langjährige Erfahrung in der Entwicklung und Produktion von Elektronik und unterstützt bei der „richtigen“ Wahl für langfristig erfolgreiche Produkte.

Arbeit an der EMS Broschüre von Ginzinger

Kundenberater kontaktieren