Inhaltsverzeichnis

Ein Überblick über eingebettete Systeme

raspberry-pi
arduino

Was sind eingebettete Systeme?

Definition:

Eingebettete Systeme sind spezialisierte Computersysteme, die für bestimmte Aufgaben oder Funktionen innerhalb eines größeren Systems eingesetzt werden. Im Gegensatz zu Allzweckcomputern, auf denen eine Vielzahl von Programmen laufen und viele verschiedene Funktionen ausgeführt werden können, sind eingebettete Systeme für bestimmte Anwendungen optimiert und für den Betrieb mit begrenzten Ressourcen ausgelegt.

 

Geschichte der eingebetteten Systeme

Eingebettete Systeme haben sich seit den 1940er Jahren in bemerkenswerter Weise weiterentwickelt, angefangen bei den frühen Digitalcomputern bis hin zu den heutigen fortschrittlichen vernetzten Geräten. Zu den wichtigsten Meilensteinen gehören die Entwicklung des ersten Mikrocontrollers im Jahr 1975, der Boom der Unterhaltungselektronik in den 1990er Jahren und der Aufstieg des Internets der Dinge (IoT) in den 2000er Jahren. Fortschritte bei Mikroprozessoren, Echtzeit-Betriebssystemen und drahtloser Kommunikation haben diese Entwicklung vorangetrieben. Sie haben Branchen wie die Automobilindustrie, das Gesundheitswesen und die Unterhaltungselektronik verändert und die Funktionalität, Effizienz und Konnektivität von Alltagsgeräten verbessert.

Eingebettete Systeme vs. Allzweck-Computersysteme: Die wichtigsten Unterschiede

1. Zweck und Funktionsweise

Eingebettete Systeme:

  • Dedizierte Funktionalität: Entwickelt, um bestimmte Aufgaben zu erfüllen. Ihre Software und Hardware sind auf die Anforderungen einer bestimmten Anwendung zugeschnitten.
  • Beispiele: Waschmaschinensteuerungen, Automobilkontrollsysteme, medizinische Geräte.

Allzweck-Computersysteme:

  • Vielseitigkeit: Sie sind in der Lage, eine breite Palette von Aufgaben auszuführen. Sie führen verschiedene Arten von Software aus und können mehrere Anwendungen gleichzeitig bearbeiten.
  • Beispiele: Desktop-Computer, Laptops, Server.

 

2. Betrieb in Echtzeit

Eingebettete Systeme:

  • Verarbeitung in Echtzeit: Sie arbeiten oft in Echtzeit, verarbeiten Eingaben und produzieren Ausgaben fast augenblicklich. Entscheidend für Anwendungen, bei denen das Timing entscheidend ist.
  • Beispiele: Anti-Blockier-Bremssysteme (ABS), Industrieroboter, Echtzeit-Überwachungssysteme.

Allzweck-Computersysteme:

  • Nicht-Echtzeit-Verarbeitung: Sie benötigen in der Regel keine Echtzeitverarbeitung. Sie konzentrieren sich auf die Maximierung des Durchsatzes und der Multitasking-Fähigkeiten.
  • Beispiele: Office-Software, Web-Browsing, Multimedia-Anwendungen.

 

3. Konnektivität

Eingebettete Systeme:

  • Gezielte Konnektivität: Sie verfügen oft über anwendungsspezifische Konnektivitätsfunktionen, wie WiFi, Bluetooth oder ZigBee für IoT-Geräte.
  • Beispiele: Smart Home-Geräte, industrielle Sensoren.

Allzweck-Computersysteme:

  • Vielseitige Konnektivität: Ausgestattet mit einer Vielzahl von Konnektivitätsoptionen, darunter Ethernet, WiFi, USB und verschiedene Erweiterungssteckplätze.
  • Beispiele: Vernetzte Workstations, persönliche Laptops.

 

4. Größe und Formfaktor

Eingebettete Systeme:

  • Kompakt und leicht: Oft sind sie klein und leicht, so dass sie in verschiedene Geräte integriert werden können, ohne viel Platz zu beanspruchen.
  • Beispiele: Smartwatches, Fitness-Tracker, eingebettete Steuermodule.

Allzweck-Computersysteme:

  • Größere Größe: In der Regel größer und schwerer, entwickelt, um eine breite Palette von Funktionen mit umfangreicherer Hardware zu bieten.
  • Beispiele: Desktop-Türme, Laptops, in Racks montierte Server.

 

5. Stromverbrauch

Eingebettete Systeme:

  • Niedriger Stromverbrauch: Entwickelt, um energieeffizient zu sein, oft in batteriebetriebenen oder tragbaren Geräten verwendet.
  • Beispiele: Fernsensoren, mobile Geräte, tragbare Technologie.

Allzweck-Computersysteme:

  • Höherer Stromverbrauch: Aufgrund ihrer höheren Leistungsanforderungen und vielseitigen Funktionen verbrauchen sie in der Regel mehr Strom.
  • Beispiele: Spiele-PCs, Workstations, Server für Rechenzentren.

Typen von eingebetteten Prozessoren

1. Mikrocontroller-Einheiten (MCUs)

Mikrocontroller oder MCUs sind kleine, integrierte Schaltkreise, die für bestimmte Aufgaben in eingebetteten Systemen entwickelt wurden. Sie sind in verschiedenen Anwendungen weit verbreitet, z.B. in Steuerungssystemen für Fahrzeuge, Haushaltsgeräten und Geräten des Internets der Dinge (IoT).

  • Beispiele8975, STM32, und ESP32
  • Hauptmerkmale: Begrenzte Ressourcen, geeignet für die Ausführung einfacher, spezifischer Aufgaben.

2. Mikroprozessoren (MPUs)

Mikroprozessoren oder MPUs sind Allzweckprozessoren, die typischerweise in komplexeren Systemen eingesetzt werden, die eine hohe Verarbeitungsleistung erfordern. Sie werden in Personal Computern, Servern und fortschrittlichen eingebetteten Systemen eingesetzt.

  • Beispiele: Intel Core-Serie, AMD Ryzen-Serie
  • Hauptmerkmale: Hohe Rechenleistung, geeignet für eine breite Palette von Anwendungen, die robuste Verarbeitungsfunktionen erfordern.

3. Digitale Signalprozessoren (DSPs)

Digitale Signalprozessoren sind spezialisierte Prozessoren, die für die Bearbeitung digitaler Signalverarbeitungsaufgaben optimiert sind. Sie sind äußerst effizient bei Operationen wie Faltung, Fourier-Transformationen und anderen mathematischen Berechnungen.

  • Häufige Verwendungen: Drahtlose Kommunikation, Audio- und Videoverarbeitung, Radarsysteme.
  • Hauptvorteil: Schnelle Ausführung von mathematischen Operationen.

4. System auf Chip (SoC)

System on Chip ist ein integrierter Schaltkreis, der alle Komponenten eines Computers oder eines anderen elektronischen Systems auf einem einzigen Chip zusammenfasst. Sie werden häufig in kompakten elektronischen Geräten verwendet.

  • Beispiele: Apple A-series, Qualcomm Snapdragon, Raspberry Pi SoC
  • Hauptmerkmale: Hoher Integrationsgrad, kombiniert CPU, Speicher und Peripheriegeräte, geeignet für platzbeschränkte Anwendungen.

5. Feldprogrammierbare Gate-Arrays (FPGAs)

Field-Programmable Gate Arrays sind äußerst flexible und rekonfigurierbare Schaltungen. Benutzer können FPGAs so programmieren, dass sie bestimmte Aufgaben ausführen, bevor sie eingesetzt werden. Damit sind sie ideal für das Design von Prototypen, beschleunigte Berechnungen und die Steuerung von Instrumenten.

  • Hauptmerkmale: Flexibilität, Rekonfigurierbarkeit, Leistung in Echtzeit.
  • Anwendungen: Prototyp-Design, Hardware-Beschleunigung und Kontrollsysteme.

Gemeinsame Mikrocontroller-Einheiten (MCUs)

1. AT89C51 Mikrocontroller

Der 89C51, entwickelt von ATMEL(Mikrochip), ist Teil der 8051-Familie, einer der beständigsten und beliebtesten Mikrocontroller für eingebettete Systeme.

AT89c51 MCU
  • Eigenschaften:

    • 8-Bit-Architektur
    • 128 Byte RAM
    • 4 KB ROM
    • 2 Timer/Zähler
    • Serielle Kommunikationsschnittstelle
  • Anwendungen:

    • Einfache Kontrollanwendungen
    • Haushaltsgeräte
    • Automobile Systeme

2. STM32 Mikrocontroller

STM32-Mikrocontroller, entwickelt von STMicroelectronics, basieren auf dem ARM Cortex-M Kern. Sie bieten eine breite Palette an Funktionen und Leistungsoptionen und sind damit für verschiedene Anwendungen geeignet.

STM32 F4 MCU in drone pcb board
  • Eigenschaften:

    • 32-Bit ARM Cortex-M Kern
    • Große Auswahl an Speicher- und Peripherieoptionen
    • Stromsparende Modi
    • Hohe Integration
  • Anwendungen:

    • Industrielle Automatisierung
    • Unterhaltungselektronik
    • Medizinische Geräte

3. ESP32 Mikrocontroller

Der ESP32, entwickelt von Espressif Systems, ist bekannt für seine drahtlosen Konnektivitätsfunktionen, die es zu einer hervorragenden Wahl für IoT-Anwendungen machen.

ESP32 MCU
  • Eigenschaften:

    • Dual-Core 32-Bit-Prozessor
    • Eingebautes WiFi und Bluetooth
    • Reichhaltiges Angebot an Peripheriegeräten
    • Niedriger Stromverbrauch
  • Anwendungen:

    • Intelligente Haushaltsgeräte
    • IoT-Anwendungen
    • Wearable electronics

Gemeinsame Entwicklungsplattformen

Arduino

Arduino ist eine Open-Source-Hardwareplattform, die die Entwicklung interaktiver eingebetteter Systeme vereinfachen soll. Sie ist bei Bastlern und Profis wegen ihrer Benutzerfreundlichkeit und der umfangreichen Bibliotheksunterstützung beliebt.

  • Eigenschaften: Einfache Programmiersprache, umfangreiche Hardware-Bibliothek.
  • Gemeinsame Projekte: Interaktive Geräte, IoT-Anwendungen.
Arduino Uno R3
Raspberry Pi Pico

Raspberry Pi

Raspberry Pi ist ein kleiner, leistungsstarker Computer, auf dem komplexe Betriebssysteme und Anwendungen ausgeführt werden können. Er nutzt die ARM-Architektur, um hohe Leistung bei geringem Stromverbrauch zu liefern.

  • Eigenschaften: Hohe Rechenleistung, große Speicherkapazität, unterstützt verschiedene Betriebssysteme wie Linux.
  • Anwendungen: Bildung, Heimwerkerprojekte, Heimautomatisierung, Medienzentren.

Was ist ARM?

ARM, oder Advanced RISC Machines, ist eine Familie von Mikroprozessoren Architekturen bekannt für ihre Energieeffizienz und hohe Leistung. Die ARM-Architektur wurde ursprünglich von Acorn Computers in den 1980er Jahren entwickelt und wird heute von ARM Holdings, ein Unternehmen mit Sitz in Cambridge, England.

  • Effizienz: ARM-Prozessoren verwenden eine RISC-Architektur (Reduced Instruction Set Computing), die die Befehlsausführung vereinfacht und den Stromverbrauch minimiert, wodurch sie sich ideal für mobile Geräte und eingebettete Systeme eignen.

  • Lizenzierungsmodell: ARM Holdings lizenziert die ARM-Architektur an andere Unternehmen, damit diese ihre eigenen ARM-basierten Prozessoren entwickeln und herstellen können. Dieses Modell hat zu einer breiten Palette von ARM-Prozessoren für verschiedene Geräte geführt.

  • Anwendungen: ARM-Prozessoren werden aufgrund ihrer effizienten Leistung und ihres geringen Stromverbrauchs häufig in Smartphones, Tablets, Wearables, IoT-Geräten, eingebetteten Systemen und zunehmend auch in Laptops und Servern eingesetzt.

 

Was sind Hardware, Software und Firmware? Zusammenhänge und Unterschiede

Hardware

Die Hardware in eingebetteten Systemen besteht aus physischen Komponenten wie Prozessoren, Sensoren, Aktoren und Speicher. Der Prozessor und der Speicher funktionieren wie das Gehirn, wobei der Prozessor für das Denken und die Steuerung des Körpers zuständig ist und der Speicher für die Speicherung von Wissen. Sensoren und Aktuatoren fungieren als Gliedmaßen, die dabei helfen, Wahrnehmungen zu sammeln und die vom Gehirn befohlenen Aktionen auszuführen. Die Hardware ist die Grundlage der eingebetteten Systeme. Die Entwickler müssen Hardware-Schaltungen entwerfen und layouten und die geeigneten Prozessoren und Peripheriegeräte auswählen, um die Systemanforderungen zu erfüllen.

  • Prozessor: Das 'Gehirn' des Systems, das für die Ausführung von Anweisungen verantwortlich ist.
  • Sensoren und Aktuatoren: Schnittstelle zur physischen Welt, um Daten zu sammeln und Aktionen auszuführen.
  • Speicher: Speichert Daten und Anweisungen für den Prozessor.

Software

Software in eingebetteten Systemen kombiniert ausführbaren Code und Daten, einschließlich Anwendungen, Treiber und Algorithmen. Sie verhält sich wie der Verstand bei der Eingabe von Daten, wobei der ausführbare Code das Verhalten repräsentiert und das logische Betriebssystem wie das Nervensystem funktioniert, das sowohl eine materielle Grundlage bietet als auch die Gedanken reguliert. Software ist das Herzstück eingebetteter Systeme, in denen Entwickler Betriebssysteme und Programme auf der Grundlage der Berechnungs- und Steuerungsaufgaben des Systems erstellen.

  • Anwendungen: Programme auf Benutzerebene, die bestimmte Funktionen ausführen.
  • Treiber: Schnittstelle zwischen der Hardware und übergeordneter Software.
  • Algorithmen: Führen Sie Berechnungen und Datenverarbeitung durch.

Firmware

Firmware ist eine Art von Software, die als Brücke zwischen Hardware und Software fungiert. Sie wird in einem nichtflüchtigen Speicher gespeichert und enthält Code und Daten, die zur Steuerung der Operationen und Funktionen von Hardwaregeräten verwendet werden. Als Brücke in eingebetteten Systemen wird Firmware verwendet, um Hardware zu initialisieren, Betriebssysteme zu laden oder Steuerfunktionen direkt auszuführen.

  • Rolle: Initialisiert die Hardware, führt Steuerfunktionen aus, lädt das Betriebssystem, falls zutreffend.

Typische Mikrocontroller (MCU) Architektur und Funktionen

Ein kompletter Computer besteht in der Regel aus einem Prozessor, einem Speicher und Eingabe-/Ausgabekomponenten.

  • Prozessor: Wenn man einen Mikrocontroller mit einer Fabrik vergleicht, dann ist der Prozessor das Fließband und das Herzstück der Fabrik. Er ist für den Transport der Rohstoffe vom Lager zur Werkbank für die Verarbeitung und die Anpassung der Produktionsgeschwindigkeit verantwortlich, entsprechend seinen drei Funktionen: Speicherung, Berechnung und Steuerung.

  • Uhr: Eine Pipeline, die komplexe Systeme aufbaut, braucht einen vernünftigen Betriebsmechanismus, und die Uhr liefert die zeitliche Grundlage für den Timer. Wenn der Timer eine voreingestellte Zeit erreicht, löst er eine Unterbrechung aus und die Pipeline erhält den Befehl, eine neue Produktion zu starten, wobei dieser Zyklus wiederholt wird, um die Gesamteffizienz zu gewährleisten.

  • Watchdog Timer: Der Watchdog-Timer wird treffend als Wachhund bezeichnet, der die Sicherheit im Werk überwacht. Wenn er nicht rechtzeitig gefüttert wird, geht er von einem Systemfehler aus und löst einen Reset aus. Damit die Pipeline normal arbeiten kann, muss die Versorgung aus ihrem Lager ausreichend sein.

  • Speicher: In Mikrocontrollern ist der Speicher aus Effizienzgründen in einem hierarchischen Speicherschema organisiert: 

    • ROM (Read-Only Memory): Er kann nur Inhalte lesen, die vor der Produktion geschrieben wurden und kann nicht verändert werden. Er wird für Programmstarts und Kernel-Funktionsaufrufe verwendet.
    • RAM (Random Access Memory): Schnelle Lese- und Schreibgeschwindigkeiten, aber die Daten gehen verloren, wenn der Strom abgeschaltet wird. Der Arbeitsspeicher funktioniert wie ein Regal neben dem Fließband für die vorübergehende Speicherung von Daten.
    • Blitzlicht: Mäßige Lese-/Schreibgeschwindigkeit, wobei die Daten auch nach einem Stromausfall erhalten bleiben. Er funktioniert wie ein Lagerhaus für Rohstoffe, in dem Programmcode und gebrannte Firmware gespeichert werden.
Microchip ROM
Microchip ROM
Hynix RAM
Hynix RAM
YMTC-Blitz
YMTC-Blitz

Eingabe, Ausgabe (I/O) und Interaktion

Eingebettete Systeme interagieren mit der Außenwelt und anderen Komponenten über verschiedene Methoden:

  • Input/Output (I/O): Mikrocontroller müssen mit externen Geräten interagieren, wie bei der Beschaffung von Rohstoffen und dem Verkauf von Produkten. Sie interagieren intern, wie Abteilungen in einer Fabrik, um eine Zusammenarbeit zu erreichen.

  • Analoge und digitale Signale: Analoge Signale variieren kontinuierlich und repräsentieren Konzepte aus der realen Welt wie Sprache und Temperatur, während digitale Signale diskret sind und von Computern verarbeitet werden. Die Konvertierung zwischen diesen Signalen beinhaltet Abtastung und Filterung.

  • Kommunikationsprotokolle: Es gibt vier Hauptmethoden:

    1. GPIO (General-Purpose Input/Output): Für die digitale Kommunikation, die die Eingabe und Ausgabe von digitalen Größen ermöglicht.
    2. PWM (Pulsbreitenmodulation): Erzeugt analoge Signale, indem er schnell schaltende digitale Größen ausgibt, die Geräte wie Motoren und LEDs steuern.
    3. ADC (Analog-Digital-Wandler): Konvertiert analoge Signale von Sensoren in digitale Daten.
    4. DAC (Digital-zu-Analog-Wandler): Konvertiert digitale Daten in analoge Signale für Ausgabegeräte.
  • Interne Kommunikation: Es gibt drei Hauptmethoden für die interne Kommunikation:

    1. UART (Universal Asynchronous Receiver-Transmitter): Sendet Daten asynchron zwischen zwei Abteilungen, ähnlich wie bei der E-Mail-Kommunikation.
    2. SPI (Serial Peripheral Interface) und I2C (Inter-Integrated Circuit): Diese Protokolle sind vergleichbar mit Firmenbesprechungen, bei denen Informationen an die Abteilungsleiter weitergegeben werden. I2C vereinfacht die Verdrahtung auf Kosten der Geschwindigkeit und der gleichzeitigen Kommunikation.
  • Inter-MCU-Kommunikation: Mikrocontroller interagieren auch untereinander, ähnlich wie die Zusammenarbeit zwischen Fabriken und vor- und nachgelagerten Unternehmen. Derzeit verwenden eingebettete Geräte in großem Umfang Protokolle wie WiFi, NB-IoT, Bluetooth und LoRa. Jedes hat seine Stärken und Schwächen und bietet Optionen für verschiedene Anwendungen.

 

WiFi
LoRa
Bluetooth

Fazit

Eingebettete Systeme sind wichtige Komponenten der modernen Technologie, die in allen Branchen für Effizienz und Innovation sorgen. Diese Systeme sind für bestimmte Aufgaben konzipiert und bieten Echtzeitverarbeitung und gezielte Konnektivität, was sie von Allzweckcomputern unterscheidet. Mit verschiedenen Prozessortypen wie Mikrocontrollern und System-on-Chips lassen sich eingebettete Systeme an ein breites Spektrum von Anwendungen anpassen.

Plattformen wie Arduino und Raspberry Pi haben den Zugang zu eingebetteten Systemen demokratisiert und die Innovation unter Profis und Hobbyisten gleichermaßen gefördert. Im Zuge des technologischen Fortschritts werden eingebettete Systeme die Konnektivität und Funktionalität in Bereichen wie der Automobilindustrie, dem Gesundheitswesen und der Unterhaltungselektronik weiter verbessern und eine Schlüsselrolle bei der Gestaltung der Zukunft der Technologie spielen.

Angebot einholen

Verwandte Blogs